X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=mailsplit.c;h=bd7c611bb9902281a002f907b6bcf0aa41f58285;hb=e11fc02066435b0f370d639e665ec70680e876a6;hp=a3238c20da27c3348d406066b595cd085e600558;hpb=c1067050ce58b5b39f528fe634732da858664603;p=git.git diff --git a/mailsplit.c b/mailsplit.c index a3238c20..bd7c611b 100644 --- a/mailsplit.c +++ b/mailsplit.c @@ -17,7 +17,7 @@ static int usage(void) { - fprintf(stderr, "mailsplit \n"); + fprintf(stderr, "git-mailsplit [-d] \n"); exit(1); } @@ -96,11 +96,17 @@ corrupt: int main(int argc, char **argv) { - int fd, nr; + int fd, nr, nr_prec = 4; struct stat st; unsigned long size; void *map; + if (argc == 4 && !strncmp(argv[1], "-d", 2)) { + nr_prec = strtol(argv[1] + 2, NULL, 10); + if (nr_prec < 3 || 10 <= nr_prec) + usage(); + argc--; argv++; + } if (argc != 3) usage(); fd = open(argv[1], O_RDONLY); @@ -127,8 +133,8 @@ int main(int argc, char **argv) char name[10]; unsigned long len = parse_email(map, size); assert(len <= size); - sprintf(name, "%04d", ++nr); - fd = open(name, O_WRONLY | O_CREAT | O_EXCL, 0600); + sprintf(name, "%0*d", nr_prec, ++nr); + fd = open(name, O_WRONLY | O_CREAT | O_EXCL, 0666); if (fd < 0) { perror(name); exit(1); @@ -141,5 +147,6 @@ int main(int argc, char **argv) map += len; size -= len; } while (size > 0); + printf("%d\n", nr); return 0; }