15 #include "cl_spushstring.h"
18 #if ((defined(__sparc__) || defined(__rs6000__) || defined(__mips__)) && !defined(__GNUC__))
19 // Sun C++ doesn't have istream::unget().
20 #define unget() putback(c)
23 cl_istream operator>> (cl_istream stream, cl_string& str)
25 var cl_spushstring buffer;
26 var int n = stream.width();
27 // Handling of eofp is tricky: EOF is reached when (!stream.good()) || (stream.get()==EOF).
30 while (stream.good()) {
36 // stream.width()==1, means no characters.
40 // If stream.width()==0, n gets negative and never 0.
45 // Read non-whitespace.
46 while (stream.good()) {
60 str = buffer.contents();