# HG changeset patch # User arpi_esp # Date 986147440 0 # Node ID f5a7323af43f6976773d91e63628387da3b8d7a5 # Parent 0fcd79bb4c47a500663d46cfdcab122f2c21f268 applied patch by lez diff -r 0fcd79bb4c47 -r f5a7323af43f subreader.c --- a/subreader.c Sun Apr 01 16:49:26 2001 +0000 +++ b/subreader.c Sun Apr 01 17:50:40 2001 +0000 @@ -1,6 +1,5 @@ /* * Subtitle reader with format autodetection - * Mier nem muxik realloccal!?!?! - nekem muxik :) * * Written by laaz * Some code cleanup & realloc() by A'rpi/ESP-team @@ -54,7 +53,7 @@ if (!fgets (line, 1000, fd)) return NULL; } while (*line=='\n' || *line == '\r' || !*line); - if (sscanf (line, "{%i}{%i}%s", &(current->start), &(current->end),line2) <2) {return ERR;} + if (sscanf (line, "{%d}{%d}%s", &(current->start), &(current->end),line2) <2) {return ERR;} p=line; while (*p++!='}'); @@ -81,7 +80,7 @@ while (!current->text[0]) { if (!fgets (line, 1000, fd)) return NULL; - if (sscanf (line, "%i:%i:%i.%i,%i:%i:%i.%i",&a1,&a2,&a3,&a4,&b1,&b2,&b3,&b4) < 8) continue; + if (sscanf (line, "%d:%d:%d.%d,%d:%d:%d.%d",&a1,&a2,&a3,&a4,&b1,&b2,&b3,&b4) < 8) continue; current->start = a1*360000+a2*6000+a3*100+a4; current->end = b1*360000+b2*6000+b3*100+b4; @@ -110,12 +109,12 @@ while (!current->text[0]) { if (!fgets (line, 1000, fd)) return NULL; - if ((len=sscanf (line, "%i:%i:%i,%i --> %i:%i:%i,%i",&a1,&a2,&a3,&a4,&b1,&b2,&b3,&b4)) < 8) + if ((len=sscanf (line, "%d:%d:%d,%d --> %d:%d:%d,%d",&a1,&a2,&a3,&a4,&b1,&b2,&b3,&b4)) < 8) continue; current->start = a1*360000+a2*6000+a3*100+a4/10; current->end = b1*360000+b2*6000+b3*100+b4/10; for (i=0; i %i:%i:%i,%i", &i, &i, &i, &i, &i, &i, &i, &i)==8) + if (sscanf (line, "%d:%d:%d,%d --> %d:%d:%d,%d", &i, &i, &i, &i, &i, &i, &i, &i)==8) {sub_uses_time=1;return 2;} if (j>100) return -1; // too many bad lines or bad coder } @@ -192,7 +191,9 @@ fclose(fd); // printf ("SUB: Subtitle format %s time.\n", sub_uses_time?"uses":"doesn't use"); - printf ("SUB: Read %i subtitles, %i errors.\n", sub_num, sub_errs); + printf ("SUB: Read %i subtitles", sub_num); + if (sub_errs) printf (", %i error(s).\n", sub_errs); + else printf (".\n"); return first; }