Mercurial > mplayer.hg
diff playtreeparser.c @ 5802:35f19046f809
Portability fix with realloc
author | albeu |
---|---|
date | Tue, 23 Apr 2002 20:06:00 +0000 |
parents | 8bd1c1e319fb |
children | 0f5f626e5151 |
line wrap: on
line diff
--- a/playtreeparser.c Tue Apr 23 16:29:13 2002 +0000 +++ b/playtreeparser.c Tue Apr 23 20:06:00 2002 +0000 @@ -49,7 +49,7 @@ p->iter = p->buffer; } - if(p->stream->eof && p->buffer_end == 0) + if(p->stream->eof && (p->buffer_end == 0 || p->iter[0] == '\0')) return NULL; while(1) { @@ -83,12 +83,14 @@ } line_end = ((*(end-1)) == '\r') ? end-1 : end; - p->line = (char*)realloc(p->line,line_end - p->iter+1); - if(!p->line) + if(line_end - p->iter >= 0) + p->line = (char*)realloc(p->line,line_end - p->iter+1); + else return NULL; - strncpy(p->line,p->iter,line_end - p->iter); + if(line_end - p->iter > 0) + strncpy(p->line,p->iter,line_end - p->iter); p->line[line_end - p->iter] = '\0'; - if(end != '\0') + if(end[0] != '\0') end++; if(!p->keep) {