replace *a lot* of file related calls by their GLib counterparts. This is necessary...
[obnox/wireshark/wip.git] / filters.c
index e8aa3cb33facff30b0816fad75866a261a31e7e5..cdecc516913692d56ac32a54b86285d90ef7f073 100644 (file)
--- a/filters.c
+++ b/filters.c
@@ -40,6 +40,7 @@
 #include <epan/filesystem.h>
 
 #include "filters.h"
+#include "file_util.h"
 
 /*
  * Old filter file name.
@@ -114,7 +115,7 @@ read_filter_list(filter_list_type_t list, char **pref_path_return,
 
   /* try to open personal "cfilters"/"dfilters" file */
   ff_path = get_persconffile_path(ff_name, FALSE);
-  if ((ff = fopen(ff_path, "r")) == NULL) {
+  if ((ff = eth_fopen(ff_path, "r")) == NULL) {
     /*
      * Did that fail because the file didn't exist?
      */
@@ -137,7 +138,7 @@ read_filter_list(filter_list_type_t list, char **pref_path_return,
      */
     g_free(ff_path);
     ff_path = get_persconffile_path(FILTER_FILE_NAME, FALSE);
-    if ((ff = fopen(ff_path, "r")) == NULL) {
+    if ((ff = eth_fopen(ff_path, "r")) == NULL) {
     /*
      * Did that fail because the file didn't exist?
      */
@@ -153,7 +154,7 @@ read_filter_list(filter_list_type_t list, char **pref_path_return,
     /*
      * Try to open the global "cfilters/dfilters" file */
     ff_path = get_datafile_path(ff_name);
-    if ((ff = fopen(ff_path, "r")) == NULL) {
+    if ((ff = eth_fopen(ff_path, "r")) == NULL) {
 
       /*
        * Well, that didn't work, either.  Just give up.
@@ -458,10 +459,9 @@ save_filter_list(filter_list_type_t list, char **pref_path_return,
   /* Write to "XXX.new", and rename if that succeeds.
      That means we don't trash the file if we fail to write it out
      completely. */
-  ff_path_new = (gchar *) g_malloc(strlen(ff_path) + 5);
-  sprintf(ff_path_new, "%s.new", ff_path);
+  ff_path_new = g_strdup_printf("%s.new", ff_path);
 
-  if ((ff = fopen(ff_path_new, "w")) == NULL) {
+  if ((ff = eth_fopen(ff_path_new, "w")) == NULL) {
     *pref_path_return = ff_path;
     *errno_return = errno;
     g_free(ff_path_new);
@@ -490,7 +490,7 @@ save_filter_list(filter_list_type_t list, char **pref_path_return,
       *pref_path_return = ff_path;
       *errno_return = errno;
       fclose(ff);
-      unlink(ff_path_new);
+      eth_unlink(ff_path_new);
       g_free(ff_path_new);
       return;
     }
@@ -499,7 +499,7 @@ save_filter_list(filter_list_type_t list, char **pref_path_return,
   if (fclose(ff) == EOF) {
     *pref_path_return = ff_path;
     *errno_return = errno;
-    unlink(ff_path_new);
+    eth_unlink(ff_path_new);
     g_free(ff_path_new);
     return;
   }
@@ -509,22 +509,22 @@ save_filter_list(filter_list_type_t list, char **pref_path_return,
      exists; the Win32 call to rename files doesn't do so, which I
      infer is the reason why the MSVC++ "rename()" doesn't do so.
      We must therefore remove the target file first, on Windows. */
-  if (remove(ff_path) < 0 && errno != ENOENT) {
+  if (eth_remove(ff_path) < 0 && errno != ENOENT) {
     /* It failed for some reason other than "it's not there"; if
        it's not there, we don't need to remove it, so we just
        drive on. */
     *pref_path_return = ff_path;
     *errno_return = errno;
-    unlink(ff_path_new);
+    eth_unlink(ff_path_new);
     g_free(ff_path_new);
     return;
   }
 #endif
 
-  if (rename(ff_path_new, ff_path) < 0) {
+  if (eth_rename(ff_path_new, ff_path) < 0) {
     *pref_path_return = ff_path;
     *errno_return = errno;
-    unlink(ff_path_new);
+    eth_unlink(ff_path_new);
     g_free(ff_path_new);
     return;
   }