Digital Research
This commit is contained in:
2020-11-06 18:50:37 +01:00
parent 621ed8ccaf
commit 31738079c4
8481 changed files with 1888323 additions and 0 deletions

View File

@@ -0,0 +1,77 @@
#define VN "\nTIME Vn 1.0 02/18/83"
/* This utility accepts the current time from the command tail
validates it, and set the internal system time in the BIOS.
Alternatively, it can be requested just to display the current
system time. */
#include <LIBRARY.H>
char *time; /* pointer to the time in the config. block */
char *time_set; /* pointer to the time set flag */
int hh,mm,ss; /* variables to hold hours, minutes, seconds */
int mcount; /* match count of numeric values entered */
int count; /* count used to add leading 0's to time */
main(argc,argv)
int argc;
char *argv[];
{
printf(VN); /* display signon message */
time = get_cba(CB_TIMEA); /* set pointer to time */
time_flag = get_cba(CB_DTFLAGS); /* set pointer to the time set flag */
hh = mm = ss = 0; /* initialize the time in case seconds or
minutes are not specified */
if (argc != 2) /* check if help requested (or needed) */
show_use(); /* display correct usage and exit */
if (usstrcmp("SHOW",argv[1])) /* check if not SHOW option */
{
/* convert time into hours, minutes, seconds */
mcount = sscanf(argv[1],"%d:%d:%d",&hh,&mm,&ss);
if (!mcount) /* input not numeric */
show_use(); /* display correct usage and exit */
if (hh > 12) /* check valid hours, minutes, seconds */
{
printf("\n\007Hours = %d is illegal.",hh);
show_use(); /* display correct usage and exit */
}
if (mm > 59)
{
printf("\n\007Minutes = %d is illegal.",mm);
show_use(); /* display correct usage and exit */
}
if (ss > 59)
{
show_use(); /* display correct usage and exit */
printf("\n\007Seconds = %d is illegal.",ss);
}
/* convert integers back into formatted string */
sprintf(time,"%2d:%2d:%2d",hh,mm,ss);
time[8] = 0x0A; /* terminate with line feed */
time[9] = '\0'; /* new string terminator */
/* convert " 1: 2: 3" into "01:02:03" */
for (count = 0; count < 7; count+=3)
{
if (time[count] == ' ')
time[count] = '0';
}
/* turn bit on to indicate that the time has been set */
*time_flag |= TIME_SET;
}
printf("\n\tCurrent Time is %s",time);
}
show_use() /* display correct usage and exit */
{
printf("\nTIME sets the system time. Usage is :");
printf("\n\tTIME hh{:mm{:ss}}");
printf("\n\tTIME SHOW (to display current time)\n");
exit();
}