]> pd.if.org Git - pdclib/blobdiff - functions/stdio/fgets.c
s/stdin/stream to make function actually work. Thanks to Kevin of OSDev.org for point...
[pdclib] / functions / stdio / fgets.c
index a82818ad23542f9eaef5a14abc1883913b1024a5..a3c41e94085eb3f8fa610d57c926dfa8115c36ef 100644 (file)
@@ -13,7 +13,7 @@
 #define _PDCLIB_GLUE_H _PDCLIB_GLUE_H
 #include <_PDCLIB_glue.h>
 
-char * fgets( char * s, int size, struct _PDCLIB_file_t * stream )
+char * fgets( char * _PDCLIB_restrict s, int size, struct _PDCLIB_file_t * _PDCLIB_restrict stream )
 {
     if ( size <= 1 )
     {
@@ -21,16 +21,16 @@ char * fgets( char * s, int size, struct _PDCLIB_file_t * stream )
         *s = '\0';
         return s;
     }
-    if ( _PDCLIB_prepread( stdin ) == EOF )
+    if ( _PDCLIB_prepread( stream ) == EOF )
     {
         return NULL;
     }
     char * dest = s;
-    while ( ( ( *dest = stdin->buffer[stdin->bufidx++] ) != '\n' ) && --size > 0 )
+    while ( ( ( *dest = stream->buffer[stream->bufidx++] ) != '\n' ) && --size > 0 )
     {
-        if ( stdin->bufidx == stdin->bufend )
+        if ( stream->bufidx == stream->bufend )
         {
-            if ( _PDCLIB_fillbuffer( stdin ) == EOF )
+            if ( _PDCLIB_fillbuffer( stream ) == EOF )
             {
                 /* EOF adds \0, error leaves target indeterminate, so we can
                    just add the \0 anyway.