Prevent ignored return value warning
[openssl.git] / crypto / bio / bss_file.c
index b7504baf20d4f9ce1f3655bd9c31e3f8c4866c82..a85ac209f0f3bf9e9251aa15d51eda5f8afd329f 100644 (file)
 #include "bio_lcl.h"
 #include <openssl/err.h>
 
+#if defined(OPENSSL_SYS_NETWARE) && defined(NETWARE_CLIB)
+#include <nwfileio.h>
+#endif
+
 #if !defined(OPENSSL_NO_STDIO)
 
 static int MS_CALLBACK file_write(BIO *h, const char *buf, int num);
@@ -275,7 +279,7 @@ static long MS_CALLBACK file_ctrl(BIO *b, int cmd, long num, void *ptr)
 #endif
                {
 #if defined(OPENSSL_SYS_WINDOWS)
-               int fd = fileno((FILE*)ptr);
+               int fd = _fileno((FILE*)ptr);
                if (num & BIO_FP_TEXT)
                        _setmode(fd,_O_TEXT);
                else
@@ -284,9 +288,9 @@ static long MS_CALLBACK file_ctrl(BIO *b, int cmd, long num, void *ptr)
                int fd = fileno((FILE*)ptr);
                /* Under CLib there are differences in file modes */
                if (num & BIO_FP_TEXT)
-                       _setmode(fd,O_TEXT);
+                       setmode(fd,O_TEXT);
                else
-                       _setmode(fd,O_BINARY);
+                       setmode(fd,O_BINARY);
 #elif defined(OPENSSL_SYS_MSDOS)
                int fd = fileno((FILE*)ptr);
                /* Set correct text/binary mode */
@@ -399,11 +403,18 @@ static int MS_CALLBACK file_gets(BIO *bp, char *buf, int size)
 
        buf[0]='\0';
        if (bp->flags&BIO_FLAGS_UPLINK)
-               UP_fgets(buf,size,bp->ptr);
+               {
+               if (!UP_fgets(buf,size,bp->ptr))
+                       goto err;
+               }
        else
-               fgets(buf,size,(FILE *)bp->ptr);
+               {
+               if (!fgets(buf,size,(FILE *)bp->ptr))
+                       goto err;
+               }
        if (buf[0] != '\0')
                ret=strlen(buf);
+       err:
        return(ret);
        }