diff libaudacious/vfs_stdio.c @ 821:a17888ed66a8 trunk

[svn] - safety checks
author nenolod
date Sat, 11 Mar 2006 21:06:47 -0800
parents 86ca43d8a845
children f12d7e208b43
line wrap: on
line diff
--- a/libaudacious/vfs_stdio.c	Sat Mar 11 18:13:26 2006 -0800
+++ b/libaudacious/vfs_stdio.c	Sat Mar 11 21:06:47 2006 -0800
@@ -58,6 +58,9 @@
 {
     gint ret = 0;
 
+    if (file == NULL)
+        return -1;
+
     if (file->handle) {
         if (fclose(file->handle) != 0)
             ret = -1;
@@ -74,6 +77,9 @@
           size_t nmemb,
           VFSFile * file)
 {
+    if (file == NULL)
+        return 0;
+
     return fread(ptr, size, nmemb, file->handle);
 }
 
@@ -83,6 +89,9 @@
            size_t nmemb,
            VFSFile * file)
 {
+    if (file == NULL)
+        return 0;
+
     return fwrite(ptr, size, nmemb, file->handle);
 }
 
@@ -91,25 +100,37 @@
           glong offset,
           gint whence)
 {
+    if (file == NULL)
+        return 0;
+
     return fseek(file->handle, offset, whence);
 }
 
 void
 vfs_rewind(VFSFile * file)
 {
+    if (file == NULL)
+        return;
+
     rewind(file->handle);
 }
 
 glong
 vfs_ftell(VFSFile * file)
 {
+    if (file == NULL)
+        return 0;
+
     return ftell(file->handle);
 }
 
 gboolean
 vfs_feof(VFSFile * file)
 {
-    return (gboolean)feof(file->handle);
+    if (file == NULL)
+        return FALSE;
+
+    return (gboolean) feof(file->handle);
 }
 
 gboolean
@@ -133,5 +154,8 @@
 gint
 vfs_truncate(VFSFile * file, glong size)
 {
+    if (file == NULL)
+        return -1;
+
     return ftruncate(fileno(file->handle), size);
 }