Mercurial > octave
diff src/input.cc @ 2862:95e85daad148
[project @ 1997-04-15 22:00:57 by jwe]
author | jwe |
---|---|
date | Tue, 15 Apr 1997 22:05:13 +0000 |
parents | 8c516da3c1f7 |
children | b4a9f014a8ea |
line wrap: on
line diff
--- a/src/input.cc Sun Apr 13 23:21:38 1997 +0000 +++ b/src/input.cc Tue Apr 15 22:05:13 1997 +0000 @@ -444,12 +444,13 @@ char *buf = static_cast<char *> (malloc (max_size)); char *bufptr = buf; + int len = 0; do { if (fgets (bufptr, grow_size, curr_stream)) { - int len = strlen (bufptr); + len = strlen (bufptr); if (len == grow_size - 1) { @@ -475,7 +476,12 @@ retval = buf; } else - break; + { + if (len == 0) + free (buf); + + break; + } } while (! retval); } @@ -607,7 +613,15 @@ } } else if (chars_left == 0) - status = 0; + { + if (input_buf) + { + free (input_buf); + input_buf = 0; + } + + status = 0; + } else status = -1;