]> git.proxmox.com Git - mirror_edk2.git/blobdiff - StdLib/LibC/Stdio/freopen.c
Add Socket Libraries.
[mirror_edk2.git] / StdLib / LibC / Stdio / freopen.c
index 4d34497317bc062efa57056021d60a872edc9404..75a086b84b2ea16d13e24d8c879327ac170a7420 100644 (file)
@@ -104,7 +104,7 @@ freopen(const char *file, const char *mode, FILE *fp)
       (void) __sflush(fp);\r
     /* if close is NULL, closing is a no-op, hence pointless */\r
     isopen = fp->_close != NULL;\r
-    if ((wantfd = fp->_file) < 0 && isopen) {\r
+    if (((wantfd = fp->_file) >= 0) && isopen) {\r
       (void) (*fp->_close)(fp->_cookie);\r
       isopen = 0;\r
     }\r
@@ -127,7 +127,7 @@ freopen(const char *file, const char *mode, FILE *fp)
    * keep fp->_base: it may be the wrong size.  This loses the effect\r
    * of any setbuffer calls, but stdio has always done this before.\r
    */\r
-  if (isopen && f != wantfd)\r
+  if (isopen && (f != wantfd))\r
     (void) (*fp->_close)(fp->_cookie);\r
   if (fp->_flags & __SMBF)\r
     free((char *)fp->_bf._base);\r