# HG changeset patch # User jwe # Date 1091509233 0 # Node ID b7732e23965be6b2a36efeec6ff9812b231798ea # Parent e80587ad9503efafdf58c6be8124d451956d9b1a [project @ 2004-08-03 05:00:33 by jwe] diff -r e80587ad9503 -r b7732e23965b src/ChangeLog --- a/src/ChangeLog Mon Aug 02 23:48:40 2004 +0000 +++ b/src/ChangeLog Tue Aug 03 05:00:33 2004 +0000 @@ -1,3 +1,8 @@ +2004-08-03 John W. Eaton + + * oct-stream.cc (octave_scan): Avoid need for pushing two + characters back on the input stream. + 2004-08-02 John W. Eaton * oct-stream.cc (octave_scan): For %i format, recognize numbers diff -r e80587ad9503 -r b7732e23965b src/oct-stream.cc --- a/src/oct-stream.cc Mon Aug 02 23:48:40 2004 +0000 +++ b/src/oct-stream.cc Tue Aug 03 05:00:33 2004 +0000 @@ -1109,14 +1109,21 @@ { if (c1 == '0') { - int c2 = is.peek (); - - is.putback (c1); + int c2 = is.get (); if (c2 == 'x' || c2 == 'X') is >> std::hex >> ref >> std::dec; else - is >> std::oct >> ref >> std::dec; + { + is.putback (c2); + + if (c2 == '0' || c2 == '1' || c2 == '2' + || c2 == '3' || c2 == '4' || c2 == '5' + || c2 == '6' || c2 == '7') + is >> std::oct >> ref >> std::dec; + else + ref = 0; + } } else {