From 348e8653998f3be7110a4a36ae7cac5ed6eff3d3 Mon Sep 17 00:00:00 2001 From: arpi_esp Date: Sun, 1 Apr 2001 17:50:40 +0000 Subject: applied patch by lez git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@270 b3059339-0415-0410-9bf9-f77b7e298cf2 --- subreader.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'subreader.c') diff --git a/subreader.c b/subreader.c index 8b9a99451b..3f412b8f1f 100644 --- a/subreader.c +++ b/subreader.c @@ -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 @@ subtitle *sub_read_line_microdvd(FILE *fd,subtitle *current) { 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 @@ subtitle *sub_read_line_subrip(FILE *fd, subtitle *current) { 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 @@ subtitle *sub_read_line_third(FILE *fd,subtitle *current) { 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 @@ subtitle* sub_read_file (char *filename) { 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; } -- cgit v1.2.3