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 }