X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=zpm-stat.c;h=b8cb9d767cb906746aae7f4bc78626360f2dee18;hb=4b448fbc77510c589cc7f367c05bef63acc07858;hp=4c95aa5e888c5b4aad22e22066864d59f611af63;hpb=6274fb230a7d4ee8ccd893b306541c2b13658bcc;p=zpackage diff --git a/zpm-stat.c b/zpm-stat.c index 4c95aa5..b8cb9d7 100644 --- a/zpm-stat.c +++ b/zpm-stat.c @@ -1,3 +1,5 @@ +#define _POSIX_C_SOURCE 200112L + #include #include #include @@ -80,6 +82,9 @@ void stat_one(char *fmt, char *timefmt, char *filename, struct stat *buf) { timestr[1023] = 0; printf("%s", timestr); break; + case 's': + printf("%jd", (intmax_t)buf->st_size); + break; case 'a': /* octal mode */ printf("%o", (int)buf->st_mode & 07777); break; @@ -118,6 +123,12 @@ void stat_one(char *fmt, char *timefmt, char *filename, struct stat *buf) { if (!gr) exit(1); printf("%s", gr->gr_name); break; + case 'n': + printf("%s", filename); + break; + case '%': + putchar('%'); + break; default: /* handle unknown formatting character */ printf("%c", f.found); break; @@ -156,7 +167,7 @@ int main(int ac, char *av[]) { } } if (errflg) { - fprintf(stderr, "zpm-stat [-f ] [-t ]"); + fprintf(stderr, "zpm-stat [-f ] [-t ]\n"); exit(2); } for ( ; optind < ac; optind++) {