Mercurial > nand-ecoscentric
comparison packages/language/c/libc/current/src/stdio/input/fgetc.cxx @ 92:08ffab08d2ee ecos-sw-2000-05-26
Merge from eCos master repository on 2000-05-26-07:47:03-BST
| author | jlarmour |
|---|---|
| date | Fri, 26 May 2000 13:46:34 +0000 |
| parents | bf00f99aec69 |
| children |
comparison
equal
deleted
inserted
replaced
| 91:86f6a8b98920 | 92:08ffab08d2ee |
|---|---|
| 75 | 75 |
| 76 CYG_CHECK_DATA_PTR( stream, "stream is not a valid pointer" ); | 76 CYG_CHECK_DATA_PTR( stream, "stream is not a valid pointer" ); |
| 77 | 77 |
| 78 err = real_stream->read( &c, 1, &bytes_read ); | 78 err = real_stream->read( &c, 1, &bytes_read ); |
| 79 | 79 |
| 80 // FIXME: Why do we need this? | 80 // Why do we need this? Because the buffer might be empty. |
| 81 if (!err && !bytes_read) // if no err, but nothing to read, try again | 81 if (!err && !bytes_read) { // if no err, but nothing to read, try again |
| 82 { | 82 err = real_stream->refill_read_buffer(); |
| 83 real_stream->refill_read_buffer(); | 83 if ( !err ) |
| 84 err = real_stream->read( &c, 1, &bytes_read ); | 84 err = real_stream->read( &c, 1, &bytes_read ); |
| 85 } // if | 85 } // if |
| 86 | 86 |
| 87 CYG_ASSERT( 1 == bytes_read, "Didn't read 1 byte!" ); | 87 CYG_ASSERT( (ENOERR != err) || (1 == bytes_read), "Didn't read 1 byte!" ); |
| 88 | 88 |
| 89 if (err) | 89 if (err) |
| 90 { | 90 { |
| 91 real_stream->set_error( err ); | 91 real_stream->set_error( err ); |
| 92 errno = err; | 92 errno = err; |
