home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Zodiac Super OZ
/
MEDIADEPOT.ISO
/
FILES
/
16
/
FREEDOS.ZIP
/
FD_A4PRE.ZIP
/
SOURCE
/
COM020.ZIP
/
PROMPT.H
< prev
next >
Wrap
C/C++ Source or Header
|
1995-01-15
|
2KB
|
90 lines
/* PROMPT.H
* prompt handling for COMMAND.COM
* Tim Norman
* 1-14-95
*/
void printprompt ()
{
struct time t;
struct date d;
char *pr, direc[128], temp[128];
static char default_pr[]="$N$G";
pr = findenv ("PROMPT"); /* get PROMPT environment var. */
if (!pr) /* if PROMPT hasn't been set */
pr = default_pr;
while (*pr)
{
if (*pr != '$')
putchar (*pr);
else
{
pr++;
switch (toupper (*pr))
{
case 'Q':
putchar ('=');
break;
case '$':
putchar ('$');
break;
case 'T':
gettime (&t);
printf ("%2d:%02d:%02d.%02d", t.ti_hour, t.ti_min, t.ti_sec,
t.ti_hund);
break;
case 'D':
getdate (&d);
printf ("Day %02d-%02d-%04d", d.da_mon, d.da_day, d.da_year);
break;
case 'P':
direc[0] = getdisk () + 'A';
direc[1] = ':';
getcurdir (0, temp);
if (temp[0] == '\\')
strcpy (&direc[2], temp);
else
{
direc[2] = '\\';
strcpy (&direc[3], temp);
}
printf ("%s", direc);
break;
case 'V':
printf ("FreeDOS Alpha");
break;
case 'N':
printf ("%c", getdisk () + 'A');
break;
case 'G':
putchar ('>');
break;
case 'L':
putchar ('<');
break;
case 'B':
putchar ('|');
break;
case '_':
putchar ('\n');
break;
case 'E':
putchar (27);
break;
case 'H':
putchar (8);
break;
}
}
pr++;
}
}