From 78128bddda4bcea1f256fc13cc33fa2652ed277c Mon Sep 17 00:00:00 2001 From: wm4 Date: Sun, 13 Apr 2014 18:00:51 +0200 Subject: Kill all tabs I hate tabs. This replaces all tabs in all source files with spaces. The only exception is old-makefile. The replacement was made by running the GNU coreutils "expand" command on every file. Since the replacement was automatic, it's possible that some formatting was destroyed (but perhaps only if it was assuming that the end of a tab does not correspond to aligning the end to multiples of 8 spaces). --- demux/demux_subreader.c | 1144 +++++++++++++++++++++++------------------------ 1 file changed, 572 insertions(+), 572 deletions(-) (limited to 'demux') diff --git a/demux/demux_subreader.c b/demux/demux_subreader.c index d72cc209c9..28fb96208e 100644 --- a/demux/demux_subreader.c +++ b/demux/demux_subreader.c @@ -120,17 +120,17 @@ struct readline_args { #define LINE_LEN 1000 static int eol(char p) { - return p=='\r' || p=='\n' || p=='\0'; + return p=='\r' || p=='\n' || p=='\0'; } /* Remove leading and trailing space */ static void trail_space(char *s) { - int i = 0; - while (isspace(s[i])) ++i; + int i = 0; + while (isspace(s[i])) ++i; int copylen = strlen(s + i); - if (i) memmove(s, s + i, copylen); - i = strlen(s) - 1; - while (i > 0 && isspace(s[i])) s[i--] = '\0'; + if (i) memmove(s, s + i, copylen); + i = strlen(s) - 1; + while (i > 0 && isspace(s[i])) s[i--] = '\0'; } static char *stristr(const char *haystack, const char *needle) { @@ -141,8 +141,8 @@ static char *stristr(const char *haystack, const char *needle) { len=strlen(needle); while (*p != '\0') { - if (strncasecmp(p, needle, len) == 0) return (char*)p; - p++; + if (strncasecmp(p, needle, len) == 0) return (char*)p; + p++; } return NULL; @@ -172,77 +172,77 @@ static subtitle *sub_read_line_sami(stream_t* st, subtitle *current, /* read the first line */ if (!s) - if (!(s = stream_read_line(st, line, LINE_LEN, utf16))) return 0; + if (!(s = stream_read_line(st, line, LINE_LEN, utf16))) return 0; do { - switch (state) { + switch (state) { - case 0: /* find "START=" or "Slacktime:" */ - slacktime_s = stristr (s, "Slacktime:"); - if (slacktime_s) + case 0: /* find "START=" or "Slacktime:" */ + slacktime_s = stristr (s, "Slacktime:"); + if (slacktime_s) args->sub_slacktime = strtol (slacktime_s+10, NULL, 0) / 10; - s = stristr (s, "Start="); - if (s) { - current->start = strtol (s + 6, &s, 0) / 10; + s = stristr (s, "Start="); + if (s) { + current->start = strtol (s + 6, &s, 0) / 10; /* eat '>' */ for (; *s != '>' && *s != '\0'; s++); s++; - state = 1; continue; - } - break; - - case 1: /* find (optional) " TAG */ - if (*s == '\0') - break; - s++; - continue; - - case 2: /* find ">" */ - if ((s = strchr (s, '>'))) { s++; state = 3; p = text; continue; } - break; - - case 3: /* get all text until '<' appears */ - if (p - text >= LINE_LEN) - sami_add_line(current, text, &p); - if (*s == '\0') break; - else if (!strncasecmp (s, "
", 4)) { + state = 1; continue; + } + break; + + case 1: /* find (optional) " TAG */ + if (*s == '\0') + break; + s++; + continue; + + case 2: /* find ">" */ + if ((s = strchr (s, '>'))) { s++; state = 3; p = text; continue; } + break; + + case 3: /* get all text until '<' appears */ + if (p - text >= LINE_LEN) + sami_add_line(current, text, &p); + if (*s == '\0') break; + else if (!strncasecmp (s, "
", 4)) { sami_add_line(current, text, &p); - s += 4; - } - else if (*s == '{') { state = 5; ++s; continue; } - else if (*s == '<') { state = 4; } - else if (!strncasecmp (s, " ", 6)) { *p++ = ' '; s += 6; } - else if (*s == '\t') { *p++ = ' '; s++; } - else if (*s == '\r' || *s == '\n') { s++; } - else *p++ = *s++; - - /* skip duplicated space */ - if (p > text + 2) if (*(p-1) == ' ' && *(p-2) == ' ') p--; - - continue; - - case 4: /* get current->end or skip */ - q = stristr (s, "Start="); - if (q) { - current->end = strtol (q + 6, &q, 0) / 10 - 1; - *p = '\0'; trail_space (text); - if (text[0] != '\0') - current->text[current->lines++] = strdup (text); - if (current->lines > 0) { state = 99; break; } - state = 0; continue; - } - s = strchr (s, '>'); - if (s) { s++; state = 3; continue; } - break; + s += 4; + } + else if (*s == '{') { state = 5; ++s; continue; } + else if (*s == '<') { state = 4; } + else if (!strncasecmp (s, " ", 6)) { *p++ = ' '; s += 6; } + else if (*s == '\t') { *p++ = ' '; s++; } + else if (*s == '\r' || *s == '\n') { s++; } + else *p++ = *s++; + + /* skip duplicated space */ + if (p > text + 2) if (*(p-1) == ' ' && *(p-2) == ' ') p--; + + continue; + + case 4: /* get current->end or skip */ + q = stristr (s, "Start="); + if (q) { + current->end = strtol (q + 6, &q, 0) / 10 - 1; + *p = '\0'; trail_space (text); + if (text[0] != '\0') + current->text[current->lines++] = strdup (text); + if (current->lines > 0) { state = 99; break; } + state = 0; continue; + } + s = strchr (s, '>'); + if (s) { s++; state = 3; continue; } + break; case 5: /* get rid of {...} text, but read the alignment code */ - if ((*s == '\\') && (*(s + 1) == 'a')) { + if ((*s == '\\') && (*(s + 1) == 'a')) { if (stristr(s, "\\a1") != NULL) { current->alignment = SUB_ALIGNMENT_BOTTOMLEFT; s = s + 3; @@ -272,20 +272,20 @@ static subtitle *sub_read_line_sami(stream_t* st, subtitle *current, current->alignment = SUB_ALIGNMENT_MIDDLERIGHT; s = s + 4; } - } - if (*s == '}') state = 3; - ++s; - continue; - } - - /* read next line */ - if (state != 99 && !(s = stream_read_line (st, line, LINE_LEN, utf16))) { - if (current->start > 0) { - break; // if it is the last subtitle - } else { - return 0; - } - } + } + if (*s == '}') state = 3; + ++s; + continue; + } + + /* read next line */ + if (state != 99 && !(s = stream_read_line (st, line, LINE_LEN, utf16))) { + if (current->start > 0) { + break; // if it is the last subtitle + } else { + return 0; + } + } } while (state != 99); @@ -306,7 +306,7 @@ static const char *sub_readtext(const char *source, char **dest) { // printf("src=%p dest=%p \n",source,dest); while ( !eol(*p) && *p!= '|' ) { - p++,len++; + p++,len++; } *dest= malloc (len+1); @@ -346,13 +346,13 @@ static subtitle *sub_read_line_microdvd(stream_t *st,subtitle *current, char line2[LINE_LEN+1]; do { - if (!stream_read_line (st, line, LINE_LEN, utf16)) return NULL; + if (!stream_read_line (st, line, LINE_LEN, utf16)) return NULL; } while ((sscanf (line, - "{%ld}{}%[^\r\n]", - &(current->start), line2) < 2) && - (sscanf (line, - "{%ld}{%ld}%[^\r\n]", - &(current->start), &(current->end), line2) < 3)); + "{%ld}{}%[^\r\n]", + &(current->start), line2) < 2) && + (sscanf (line, + "{%ld}{%ld}%[^\r\n]", + &(current->start), &(current->end), line2) < 3)); return set_multiline_text(args, current, line2, 0); } @@ -365,10 +365,10 @@ static subtitle *sub_read_line_mpl2(stream_t *st,subtitle *current, char line2[LINE_LEN+1]; do { - if (!stream_read_line (st, line, LINE_LEN, utf16)) return NULL; + if (!stream_read_line (st, line, LINE_LEN, utf16)) return NULL; } while ((sscanf (line, - "[%ld][%ld]%[^\r\n]", - &(current->start), &(current->end), line2) < 3)); + "[%ld][%ld]%[^\r\n]", + &(current->start), &(current->end), line2) < 3)); current->start *= 10; current->end *= 10; @@ -385,25 +385,25 @@ static subtitle *sub_read_line_subrip(stream_t* st, subtitle *current, int len; while (1) { - if (!stream_read_line (st, line, LINE_LEN, utf16)) return NULL; - 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; - - if (!stream_read_line (st, line, LINE_LEN, utf16)) return NULL; - - p=q=line; - for (current->lines=1; current->lines < SUB_MAX_TEXT; current->lines++) { - for (q=p,len=0; *p && *p!='\r' && *p!='\n' && *p!='|' && strncmp(p,"[br]",4); p++,len++); - current->text[current->lines-1]=malloc (len+1); - if (!current->text[current->lines-1]) return ERR; - strncpy (current->text[current->lines-1], q, len); - current->text[current->lines-1][len]='\0'; - if (!*p || *p=='\r' || *p=='\n') break; - if (*p=='|') p++; - else while (*p++!=']'); - } - break; + if (!stream_read_line (st, line, LINE_LEN, utf16)) return NULL; + 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; + + if (!stream_read_line (st, line, LINE_LEN, utf16)) return NULL; + + p=q=line; + for (current->lines=1; current->lines < SUB_MAX_TEXT; current->lines++) { + for (q=p,len=0; *p && *p!='\r' && *p!='\n' && *p!='|' && strncmp(p,"[br]",4); p++,len++); + current->text[current->lines-1]=malloc (len+1); + if (!current->text[current->lines-1]) return ERR; + strncpy (current->text[current->lines-1], q, len); + current->text[current->lines-1][len]='\0'; + if (!*p || *p=='\r' || *p=='\n') break; + if (*p=='|') p++; + else while (*p++!=']'); + } + break; } return current; } @@ -475,8 +475,8 @@ static subtitle *sub_read_line_subviewer2(stream_t *st,subtitle *current, while (!current->text[0]) { if (!stream_read_line (st, line, LINE_LEN, utf16)) return NULL; - if (line[0]!='{') - continue; + if (line[0]!='{') + continue; if ((len=sscanf (line, "{T %d:%d:%d:%d",&a1,&a2,&a3,&a4)) < 4) continue; current->start = a1*360000+a2*6000+a3*100+a4/10; @@ -504,42 +504,42 @@ static subtitle *sub_read_line_vplayer(stream_t *st,subtitle *current, struct readline_args *args) { int utf16 = args->utf16; - char line[LINE_LEN+1]; - int a1,a2,a3; - char *p=NULL, separator; - int len,plen; - - while (!current->text[0]) { - if (!stream_read_line (st, line, LINE_LEN, utf16)) return NULL; - if ((len=sscanf (line, "%d:%d:%d%c%n",&a1,&a2,&a3,&separator,&plen)) < 4) - continue; - - if (!(current->start = a1*360000+a2*6000+a3*100)) - continue; + char line[LINE_LEN+1]; + int a1,a2,a3; + char *p=NULL, separator; + int len,plen; + + while (!current->text[0]) { + if (!stream_read_line (st, line, LINE_LEN, utf16)) return NULL; + if ((len=sscanf (line, "%d:%d:%d%c%n",&a1,&a2,&a3,&separator,&plen)) < 4) + continue; + + if (!(current->start = a1*360000+a2*6000+a3*100)) + continue; /* removed by wodzu - p=line; - // finds the body of the subtitle - for (i=0; i<3; i++){ - p=strchr(p,':'); - if (p==NULL) break; - ++p; - } - if (p==NULL) { - printf("Skipping incorrect subtitle line!\n"); - continue; - } + p=line; + // finds the body of the subtitle + for (i=0; i<3; i++){ + p=strchr(p,':'); + if (p==NULL) break; + ++p; + } + if (p==NULL) { + printf("Skipping incorrect subtitle line!\n"); + continue; + } */ // by wodzu: hey! this time we know what length it has! what is // that magic for? it can't deal with space instead of third // colon! look, what simple it can be: p = &line[ plen ]; - if (*p!='|') { - // + if (*p!='|') { + // return set_multiline_text(args, current, p, 0); - } - } - return current; + } + } + return current; } static subtitle *sub_read_line_rt(stream_t *st,subtitle *current, @@ -547,46 +547,46 @@ static subtitle *sub_read_line_rt(stream_t *st,subtitle *current, { int utf16 = args->utf16; - //TODO: This format uses quite rich (sub/super)set of xhtml - // I couldn't check it since DTD is not included. - // WARNING: full XML parses can be required for proper parsing + //TODO: This format uses quite rich (sub/super)set of xhtml + // I couldn't check it since DTD is not included. + // WARNING: full XML parses can be required for proper parsing char line[LINE_LEN+1]; int a1,a2,a3,a4,b1,b2,b3,b4; char *p=NULL,*next=NULL; int len,plen; while (!current->text[0]) { - if (!stream_read_line (st, line, LINE_LEN, utf16)) return NULL; - //TODO: it seems that format of time is not easily determined, it may be 1:12, 1:12.0 or 0:1:12.0 - //to describe the same moment in time. Maybe there are even more formats in use. - //if ((len=sscanf (line, "