Archive-Unzip-Burst
view release on metacpan or search on metacpan
unzip-6.0/qdos/qdos.c view on Meta::CPAN
#ifdef TIMESTAMP
/***************************/
/* Function stamp_file() */
/***************************/
int stamp_file(fname, modtime)
ZCONST char *fname;
time_t modtime;
{
struct utimbuf tp;
tp.modtime = tp.actime = modtime;
return (utime(fname, &tp));
} /* end function stamp_file() */
#endif /* TIMESTAMP */
#ifndef SFX
/************************/
/* Function version() */
/************************/
void version(__G)
__GDEF
{
sprintf((char *)slide, LoadFarString(CompiledWith),
"c68", " v4.2x", "SMS/QDOS",
" on ", __DATE__, "","");
(*G.message)((zvoid *)&G, slide, (ulg)strlen((char *)slide), 0);
} /* end function version() */
#endif /* !SFX */
#endif /* !FUNZIP */
#if CRYPT
char *getp(__G__ m, p, n)
__GDEF
const char *m; /* prompt for password */
char *p; /* return value: line input */
int n; /* bytes available in p[] */
{
int c; /* one-byte buffer for read() to use */
int i; /* number of characters input */
char *w; /* warning on retry */
/* get password */
w = "";
sd_cure(getchid(0), -1); /* enable cursor */
do {
fputs(w, stderr); /* warning if back again */
fputs(m, stderr); /* display prompt and flush */
fflush(stderr);
i = 0;
do {
c = getch();
if (c == 0xc2) {
if (i > 0) {
i--; /* the `del' keys works */
fputs("\b \b", stderr);
}
}
else if (i < n) {
p[i++] = c; /* truncate past n */
if(c != '\n') putc('*', stderr);
}
} while (c != '\n');
putc('\n', stderr); fflush(stderr);
w = "(line too long--try again)\n";
} while (p[i-1] != '\n');
p[i-1] = 0; /* terminate at newline */
sd_curs(getchid(0), -1); /* suppress cursor */
return p; /* return pointer to password */
} /* end function getp() */
#endif /* CRYPT */
( run in 2.783 seconds using v1.01-cache-2.11-cpan-97f6503c9c8 )