Mercurial > mplayer.hg
comparison subreader.c @ 270:7d544020e398
no more garbage! (fixed by laaz)
author | gabucino |
---|---|
date | Sun, 01 Apr 2001 19:35:18 +0000 |
parents | f5a7323af43f |
children | 1b2cd175236f |
comparison
equal
deleted
inserted
replaced
269:f5a7323af43f | 270:7d544020e398 |
---|---|
59 while (*p++!='}'); | 59 while (*p++!='}'); |
60 while (*p++!='}'); | 60 while (*p++!='}'); |
61 | 61 |
62 next=p, i=0; | 62 next=p, i=0; |
63 while ((next =sub_readtext (next, &(current->text[i])))) { | 63 while ((next =sub_readtext (next, &(current->text[i])))) { |
64 if (current->text[i]==ERR || current->text[i]==ERR) {return ERR;} | 64 if (current->text[i]==ERR) {return ERR;} |
65 i++; | 65 i++; |
66 if (i>SUB_MAX_TEXT) { printf ("Too many lines in a subtitle\n");return ERR;} | 66 if (i>SUB_MAX_TEXT) { printf ("Too many lines in a subtitle\n");current->lines=i;return;} |
67 } | 67 } |
68 current->lines=i+1; | 68 current->lines=i+1; |
69 | 69 |
70 return current; | 70 return current; |
71 } | 71 } |
90 for (current->lines=1; current->lines < SUB_MAX_TEXT; current->lines++) { | 90 for (current->lines=1; current->lines < SUB_MAX_TEXT; current->lines++) { |
91 for (q=p,len=0; *p && *p!='\r' && *p!='\n' && strncmp(p,"[br]",4); p++,len++); | 91 for (q=p,len=0; *p && *p!='\r' && *p!='\n' && strncmp(p,"[br]",4); p++,len++); |
92 current->text[current->lines-1]=(char *)malloc (len+1); | 92 current->text[current->lines-1]=(char *)malloc (len+1); |
93 if (!current->text[current->lines-1]) return ERR; | 93 if (!current->text[current->lines-1]) return ERR; |
94 strncpy (current->text[current->lines-1], q, len); | 94 strncpy (current->text[current->lines-1], q, len); |
95 current->text[current->lines-1][len]='\0'; | |
95 if (!*p || *p=='\r' || *p=='\n') break; | 96 if (!*p || *p=='\r' || *p=='\n') break; |
96 while (*p++!=']'); | 97 while (*p++!=']'); |
97 } | 98 } |
98 } | 99 } |
99 return current; | 100 return current; |
118 len=0; | 119 len=0; |
119 for (p=line; *p!='\n' && *p!='\r' && *p; p++,len++); | 120 for (p=line; *p!='\n' && *p!='\r' && *p; p++,len++); |
120 if (len) { | 121 if (len) { |
121 current->text[i]=(char *)malloc (len+1); | 122 current->text[i]=(char *)malloc (len+1); |
122 if (!current->text[i]) return ERR; | 123 if (!current->text[i]) return ERR; |
123 strncpy (current->text[i], line, len); | 124 strncpy (current->text[i], line, len); current->text[i][len]='\0'; |
124 i++; | 125 i++; |
125 } else { | 126 } else { |
126 break; | 127 break; |
127 } | 128 } |
128 } | 129 } |