]> pd.if.org Git - pdclib/blobdiff - functions/stdio/fclose.c
Merged PDPCLIB and Therx code.
[pdclib] / functions / stdio / fclose.c
index 04a9aa26844a09bf941210a08ac8281d49eb95be..446b8ee471efe56edea8f05b8a1c2289dd2d1f39 100644 (file)
@@ -6,3 +6,38 @@
 // ----------------------------------------------------------------------------
 
 int fclose( FILE * stream ) { /* TODO */ };
+
+/* PDPC code - unreviewed.
+Read the note in fopen.c.
+int fclose(FILE *stream)
+{
+#ifdef __OS2__
+    APIRET rc;
+#endif
+
+    fflush(stream);
+#ifdef __OS2__
+    rc = DosClose(stream->hfile);
+#endif
+#ifdef __MSDOS__
+    __close(stream->hfile);
+#endif
+#ifdef __MVS__
+    __aclose(stream->hfile);
+#endif
+    __userFiles[stream->intFno] = NULL;
+    if (!stream->theirBuffer)
+    {
+        free(stream->intBuffer);
+    }
+    free(stream);
+#ifdef __OS2__
+    if (rc != 0)
+    {
+        errno = rc;
+        return (EOF);
+    }
+#endif
+    return (0);
+}
+*/