174 if (gptr() < egptr()) {
175 DBG(std::cerr <<
"underflow, no read" << std::endl);
181 int numPutBack = gptr() - eback();
182 if (numPutBack > putBack) numPutBack = putBack;
189 memcpy(buffer + (putBack - numPutBack), gptr() - numPutBack, numPutBack);
192 int num = read(fd, buffer + putBack, bufferSize - putBack);
193 DBG(std::cerr <<
"underflow, read returns: " << num << std::endl);
199 setg(buffer + (putBack - numPutBack),
201 buffer + putBack + num);
206 DBG(std::cerr <<
"returning :" << c << std::endl);
236 if (gptr() < egptr()) {
237 DBG(std::cerr <<
"underflow, no read" << std::endl);
243 int numPutBack = gptr() - eback();
244 if (numPutBack > putBack) numPutBack = putBack;
248 memcpy(buffer + (putBack - numPutBack), gptr() - numPutBack, numPutBack);
251 int num = fread(buffer + putBack, 1, bufferSize - putBack, fp);
252 DBG(std::cerr <<
"underflow, read returns: " << num << std::endl);
258 setg(buffer + (putBack - numPutBack),
260 buffer + putBack + num);