Mercurial > hg > octave-lyh
diff src/oct-stream.cc @ 2759:99dd10f4eaaf
[project @ 1997-02-27 08:59:55 by jwe]
author | jwe |
---|---|
date | Thu, 27 Feb 1997 09:02:09 +0000 |
parents | 2ff2b536cc9d |
children | 9aeba8e006a4 |
line wrap: on
line diff
--- a/src/oct-stream.cc +++ b/src/oct-stream.cc @@ -999,7 +999,7 @@ is.scan (fmt, &dummy); } - break; + break; case 'd': case 'i': case 'o': case 'u': case 'x': { @@ -1008,7 +1008,7 @@ do_scanf_conv (is, fmt, &tmp, mval, data, count, nr, max_size, discard); } - break; + break; case 'e': case 'f': case 'g': { @@ -1017,7 +1017,7 @@ do_scanf_conv (is, fmt, &tmp, mval, data, count, nr, max_size, discard); } - break; + break; case 'c': is.unsetf (ios::skipws); @@ -1070,7 +1070,7 @@ is.setf (flags); } - break; + break; case 'p': case '[': error ("fscanf: unsupported format specifier"); @@ -1087,20 +1087,12 @@ } else if (! is) { - if (is.eof ()) + if (nr > 0) { - if (nr > 0) + if (count > nr) { - if (count > nr) - { - final_nr = nr; - final_nc = (count - 1) / nr + 1; - } - else - { - final_nr = count; - final_nc = 1; - } + final_nr = nr; + final_nc = (count - 1) / nr + 1; } else { @@ -1110,19 +1102,20 @@ } else { - error ("fscanf: read error"); - - // XXX FIXME XXX -- is this the right thing to do? - // What about other streams? - if (name () == "stdin") - { - is.clear (); - - // Skip to end of line. - - bool err; - do_gets (-1, err, false, "fscanf"); - } + final_nr = count; + final_nc = 1; + } + + // XXX FIXME XXX -- is this the right thing to do? + // What about other streams? + if (name () == "stdin") + { + is.clear (); + + // Skip to end of line. + + bool err; + do_gets (-1, err, false, "fscanf"); } break;