+ if ( _PDCLIB_prepread( stdin ) == EOF )
+ {
+ return NULL;
+ }
+ char * dest = s;
+ while ( ( *dest = stdin->buffer[stdin->bufidx++] ) != '\n' )
+ {
+ if ( stdin->bufidx == stdin->bufend )
+ {
+ if ( _PDCLIB_fillbuffer( stdin ) == EOF )
+ {
+ return NULL;
+ }
+ }
+ ++dest;
+ }
+ *dest = '\n';
+ return s;