chiark / gitweb /
new -t option for putting tab before filename
[chiark-utils.git] / cprogs / summer.c
index b442c711764b875b86356c4eaf6edb0231617a1a..ee396c6f56f644ef9fdeda7cb52fb22680ee2e26 100644 (file)
@@ -25,7 +25,7 @@
 #define MAXDEPTH 1024
 #define CSUMXL 32
 
-static int quiet=0, hidectime=0;
+static int quiet=0, hidectime=0, filenamefieldsep=' ';
 static FILE *errfile;
 
 static void fn_escaped(FILE *f, const char *fn) {
@@ -160,7 +160,7 @@ static int item(const char *path, const struct stat *stab,
     else linktarg[r]= 0;
   }
 
-  printf(" %10lu %4d %4o %10ld %10ld %10lu %10lu ",
+  printf(" %10lu %4d %4o %10ld %10ld %10lu %10lu",
         (unsigned long)stab->st_size,
         (int)stab->st_nlink,
         (unsigned)stab->st_mode & 07777U,
@@ -169,8 +169,9 @@ static int item(const char *path, const struct stat *stab,
         (unsigned long)stab->st_atime,
         (unsigned long)stab->st_mtime);
   if (!hidectime)
-    printf("%10lu ",
+    printf(" %10lu",
           (unsigned long)stab->st_ctime);
+  putchar(filenamefieldsep);
   fn_escaped(stdout, path);
 
   if (S_ISLNK(stab->st_mode)) {
@@ -228,6 +229,9 @@ int main(int argc, const char *const *argv) {
       case 'q':
        quiet= 1;
        break;
+      case 't':
+       filenamefieldsep= '\t';
+       break;
       case 'C':
        hidectime= 1;
        break;