]> pd.if.org Git - pdclib/blobdiff - functions/stdio/fputs.c
PDCLIB-16: Add _unlocked variations of all I/O routines; move work into these versions
[pdclib] / functions / stdio / fputs.c
index 2c5e1fa1e1d78b1ee7e17cd5410c1cf631536ffe..0b1e3256f3d32153d88e7e18270b3ad942590fb5 100644 (file)
@@ -11,7 +11,8 @@
 #ifndef REGTEST
 #include <_PDCLIB_glue.h>
 
-int fputs( const char * _PDCLIB_restrict s, struct _PDCLIB_file_t * _PDCLIB_restrict stream )
+int fputs_unlocked( const char * _PDCLIB_restrict s, 
+                    struct _PDCLIB_file_t * _PDCLIB_restrict stream )
 {
     if ( _PDCLIB_prepwrite( stream ) == EOF )
     {
@@ -45,6 +46,15 @@ int fputs( const char * _PDCLIB_restrict s, struct _PDCLIB_file_t * _PDCLIB_rest
     return 0;
 }
 
+int fputs( const char * _PDCLIB_restrict s,
+           struct _PDCLIB_file_t * _PDCLIB_restrict stream )
+{
+    flockfile( stream );
+    int r = fputs_unlocked( s, stream );
+    funlockfile( stream );
+    return r;
+}
+
 #endif
 #ifdef TEST
 #include <_PDCLIB_test.h>