2018-07-26 22:36:28 (UTC-03:00)
Marcel Rodrigues <marcelgmr@gmail.com>
Add "fix" command for ill-numbered entries.
diff --git a/srtsync.c b/srtsync.c index 1f17e22..817f76f 100644 --- a/srtsync.c +++ b/srtsync.c @@ -228,6 +228,24 @@ search(Subtitles *subs, uint32_t ms, char *words[], int nwords) } void +fix(FILE *fpin, FILE *fpout) +{ + int num; + int count = 1; + char buf[BUFSZ]; + + while (fscanf(fpin, "%d\r", &num) != EOF) { + fprintf(fpout, "%d\r\n", count); + do { + *buf = 0; + fgets(buf, BUFSZ-1, fpin); + fputs(buf, fpout); + } while (*buf != '\0' && *buf != '\r'); + count++; + } +} + +void usage(FILE *fp) { fprintf(fp, @@ -253,6 +271,9 @@ main(int argc, char *argv[]) if (!strcmp(argv[1], "help")) { usage(stdout); return 0; + } else if (!strcmp(argv[1], "fix") && argc == 2) { + fix(stdin, stdout); + return 0; } subs = load_subs(stdin); if (!strcmp(argv[1], "search") && argc >= 3) {