version 1.7, 2005/04/07 12:18:35 |
version 1.8, 2005/04/11 08:14:26 |
|
|
struct tm *tm; |
struct tm *tm; |
time_t secs; |
time_t secs; |
long nsecs; |
long nsecs; |
int l, small, formats, gottime; |
int l, small, formats, gottime, n; |
|
|
formats = 0; |
formats = 0; |
small = 0; |
small = 0; |
|
|
l2 = format1(st, file, fmt, flen, |
l2 = format1(st, file, fmt, flen, |
mindev, sizeof(mindev), flags, size, prec, |
mindev, sizeof(mindev), flags, size, prec, |
ofmt, LOW_PIECE, SHOW_st_rdev); |
ofmt, LOW_PIECE, SHOW_st_rdev); |
return (snprintf(buf, blen, "%.*s,%.*s", |
n = snprintf(buf, blen, "%.*s,%.*s", |
l1, majdev, l2, mindev)); |
l1, majdev, l2, mindev); |
|
return (n >= blen ? blen : n); |
} else { |
} else { |
return (format1(st, file, fmt, flen, buf, blen, |
return (format1(st, file, fmt, flen, buf, blen, |
flags, size, prec, ofmt, 0, SHOW_st_size)); |
flags, size, prec, ofmt, 0, SHOW_st_size)); |
|
|
(void)strlcat(lfmt, tmp, sizeof(lfmt)); |
(void)strlcat(lfmt, tmp, sizeof(lfmt)); |
} |
} |
(void)strlcat(lfmt, "d", sizeof(lfmt)); |
(void)strlcat(lfmt, "d", sizeof(lfmt)); |
return (snprintf(buf, blen, lfmt, secs)); |
n = snprintf(buf, blen, lfmt, secs); |
|
return (n >= blen ? blen : n); |
} |
} |
|
|
/* |
/* |
|
|
* might be required to make up the requested precision. |
* might be required to make up the requested precision. |
*/ |
*/ |
l = snprintf(buf, blen, lfmt, secs, nsecs); |
l = snprintf(buf, blen, lfmt, secs, nsecs); |
|
if (l >= blen) |
|
return (l); |
for (; prec > 9 && l < blen; prec--, l++) |
for (; prec > 9 && l < blen; prec--, l++) |
(void)strlcat(buf, "0", sizeof(lfmt)); |
(void)strlcat(buf, "0", sizeof(lfmt)); |
return (l); |
return (l); |
|
|
if (sdata == NULL) |
if (sdata == NULL) |
errx(1, "%.*s: bad format", (int)flen, fmt); |
errx(1, "%.*s: bad format", (int)flen, fmt); |
(void)strlcat(lfmt, "s", sizeof(lfmt)); |
(void)strlcat(lfmt, "s", sizeof(lfmt)); |
return (snprintf(buf, blen, lfmt, sdata)); |
n = snprintf(buf, blen, lfmt, sdata); |
|
return (n >= blen ? blen : n); |
} |
} |
|
|
/* |
/* |
|
|
case FMTF_HEX: (void)strlcat(lfmt, "x", sizeof(lfmt)); break; |
case FMTF_HEX: (void)strlcat(lfmt, "x", sizeof(lfmt)); break; |
} |
} |
|
|
return (snprintf(buf, blen, lfmt, data)); |
n = snprintf(buf, blen, lfmt, data); |
|
return (n >= blen ? blen : n); |
} |
} |