]> git.street.me.uk Git - andy/viking.git/commitdiff
Portability: use Glib function related to stdio.h
authorMathieu Albinet <mathieu17@gmail.com>
Sat, 12 Apr 2008 20:17:44 +0000 (20:17 +0000)
committerMathieu Albinet <mathieu17@gmail.com>
Sat, 12 Apr 2008 20:17:44 +0000 (20:17 +0000)
Based on work done by Mathieu Albinet for windows port

19 files changed:
src/acquire.c
src/babel.c
src/clipboard.c
src/curl_download.c
src/degrees_converters.c
src/dem.c
src/download.c
src/file.c
src/google.c
src/googlesearch.c
src/osm-traces.c
src/osm-traces.h
src/preferences.c
src/vikgeoreflayer.c
src/viking.h
src/vikmapslayer.c
src/viktrack.c
src/viktrwlayer.c
src/vikviewport.c

index 41f901cbd56f6d3d024ddb2ff1cb431899c9f906..658636b30fe54717d1428cecb02a5125f6cad5d6 100644 (file)
@@ -22,6 +22,7 @@
 #include "config.h"
 #endif
 
+#include <stdio.h>
 #include <string.h>
 #include <glib/gprintf.h>
 #include <glib/gi18n.h>
@@ -174,6 +175,7 @@ static gchar *write_tmp_trwlayer ( VikTrwLayer *vtl )
   f = fdopen(fd_src, "w");
   a_gpx_write_file(vtl, f);
   fclose(f);
+  f = NULL;
   return name_src;
 }
 
@@ -187,6 +189,7 @@ static gchar *write_tmp_track ( VikTrack *track )
   f = fdopen(fd_src, "w");
   a_gpx_write_track_file("track", track, f); /* Thank you Guilhem! Just when I needed this function... -- Evan */
   fclose(f);
+  f = NULL;
   return name_src;
 }
 
index 520c4dd3b4f180818a7f6915e0d8dfb9d831e9ff..3b72537e026fbd7b368510a70d7632ecbd382598 100644 (file)
@@ -32,6 +32,7 @@
 #include "viking.h"
 #include "gpx.h"
 #include "babel.h"
+#include <stdio.h>
 #include <sys/wait.h>
 #ifdef HAVE_UNISTD_H
 #include <unistd.h>
@@ -56,11 +57,12 @@ gboolean a_babel_convert( VikTrwLayer *vt, const char *babelargs, BabelStatusFun
     f = fdopen(fd_src, "w");
     a_gpx_write_file(vt, f);
     fclose(f);
+    f = NULL;
     ret = a_babel_convert_from ( vt, bargs, cb, name_src, user_data );
   }
 
   g_free(bargs);
-  remove(name_src);
+  g_remove(name_src);
   g_free(name_src);
   return ret;
 }
@@ -100,13 +102,18 @@ gboolean babel_general_convert_from( VikTrwLayer *vt, BabelStatusFunc cb, gchar
     if ( cb )
       cb(BABEL_DONE, NULL, user_data);
     fclose(diag);
+    diag = NULL;
     waitpid(pid, NULL, 0);
     g_spawn_close_pid(pid);
 
-    f = fopen(name_dst, "r");
-    a_gpx_read_file ( vt, f );
-     fclose(f);
-    ret = TRUE;
+    f = g_fopen(name_dst, "r");
+    if (f) {
+      a_gpx_read_file ( vt, f );
+      fclose(f);
+      f = NULL;
+      ret = TRUE;
+    } else
+      ret = FALSE;
   }
     
   return ret;
@@ -148,7 +155,7 @@ gboolean a_babel_convert_from( VikTrwLayer *vt, const char *babelargs, BabelStat
     }
   }
 
-  remove(name_dst);
+  g_remove(name_dst);
   g_free(name_dst);
   return ret;
 }
@@ -189,7 +196,7 @@ gboolean a_babel_convert_from_shellcommand ( VikTrwLayer *vt, const char *input_
     g_free ( shell_command );
   }
 
-  remove(name_dst);
+  g_remove(name_dst);
   g_free(name_dst);
   return ret;
 }
@@ -220,6 +227,7 @@ gboolean babel_general_convert_to( VikTrwLayer *vt, BabelStatusFunc cb, gchar **
     if ( cb )
       cb(BABEL_DONE, NULL, user_data);
     fclose(diag);
+    diag = NULL;
     waitpid(pid, NULL, 0);
     g_spawn_close_pid(pid);
 
@@ -265,7 +273,7 @@ gboolean a_babel_convert_to( VikTrwLayer *vt, const char *babelargs, BabelStatus
     }
   }
 
-  remove(name_src);
+  g_remove(name_src);
   g_free(name_src);
   return ret;
 }
index 88521a72b3a824df8e8d8d61686e9cb19844fc3a..8b2b3f26d1a4f4bacae25ccc04465b2a7c46f668 100644 (file)
@@ -23,7 +23,6 @@
 #include "config.h"
 #endif
 
-#include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
 #ifdef HAVE_SYS_TYPES_H
index 526b9fcb87fb1393bee4db9500b9b55207484fe7..ed822e501758e78a0782357e7ea2e33349b72ac8 100644 (file)
@@ -23,6 +23,8 @@
 #include "config.h"
 #endif
 
+#include <stdio.h>
+
 #include <glib.h>
 #include <glib/gstdio.h>
 #include <glib/gi18n.h>
@@ -51,7 +53,7 @@ static gchar *get_cookie_file(gboolean init)
 
   g_mutex_lock(mutex);
   if (g_file_test(cookie_file, G_FILE_TEST_EXISTS) == FALSE) {  /* file not there */
-    FILE * out_file = fopen("/dev/null", "w");
+    FILE * out_file = g_fopen("/dev/null", "w");
     CURLcode res;
     CURL *curl = curl_easy_init();
     curl_easy_setopt(curl, CURLOPT_URL, "http://maps.google.com/"); /* google.com sets "PREF" cookie */
@@ -64,6 +66,8 @@ static gchar *get_cookie_file(gboolean init)
       g_unlink(cookie_file);
     }
     curl_easy_cleanup(curl);
+    fclose(out_file);
+    out_file = NULL;
   }
   g_mutex_unlock(mutex);
 
index 2261d674e2bc00eb8b0f3de0421ad5ee4a396ca7..c3350aa5f1412be2e2b2406562b78ac937d3b95b 100644 (file)
@@ -21,7 +21,6 @@
 
 #include <math.h>
 #include <glib.h>
-#include <stdio.h>
 #include <string.h>
 
 /**
index b5e632a3780ae62273e7d0ec1d62fbcb5abcbd28..b82510ec40bed11c5d94793a1223495ef381b19b 100644 (file)
--- a/src/dem.c
+++ b/src/dem.c
@@ -413,7 +413,7 @@ VikDEM *vik_dem_new_from_file(const gchar *file)
   const gchar *basename = a_file_basename(file);
 
       /* FILE IO */
-  f = fopen(file, "r");
+  f = g_fopen(file, "r");
   if ( !f )
     return NULL;
 
@@ -423,6 +423,7 @@ VikDEM *vik_dem_new_from_file(const gchar *file)
     gboolean is_zip_file = (strlen(basename) == 15);
     rv = vik_dem_read_srtm_hgt(f, basename, is_zip_file);
     fclose(f);
+    f = NULL;
     return(rv);
   }
 
@@ -461,6 +462,7 @@ VikDEM *vik_dem_new_from_file(const gchar *file)
      /* TODO - class C records (right now says 'Invalid' and dies) */
 
   fclose(f);
+  f = NULL;
 
   /* 24k scale */
   if ( rv->horiz_units == VIK_DEM_HORIZ_UTM_METERS && rv->n_columns >= 2 )
index 3063bfa55866830c1a0fb2169597d866f2feff10..2cced8670768bb26371e55e02821de7128251bde 100644 (file)
@@ -115,16 +115,17 @@ static int download( const char *hostname, const char *uri, const char *fn, Down
       g_free ( tmp );
     }
     /* create placeholder file */
-    if ( ! (f = fopen ( fn, "w+b" )) ) /* immediately open file so other threads won't -- prevents race condition */
+    if ( ! (f = g_fopen ( fn, "w+b" )) ) /* immediately open file so other threads won't -- prevents race condition */
       return -4;
     fclose ( f );
+    f = NULL;
   }
 
   tmpfilename = g_strdup_printf("%s.tmp", fn);
-  f = fopen ( tmpfilename, "w+b" );
+  f = g_fopen ( tmpfilename, "w+b" );
   if ( ! f ) {
     g_free ( tmpfilename );
-    remove ( fn ); /* couldn't create temporary. delete 0-byte file. */
+    g_remove ( fn ); /* couldn't create temporary. delete 0-byte file. */
     return -4;
   }
 
@@ -135,13 +136,15 @@ static int download( const char *hostname, const char *uri, const char *fn, Down
   {
     g_warning(_("Download error: %s"), fn);
     fclose ( f );
-    remove ( tmpfilename );
+    f = NULL;
+    g_remove ( tmpfilename );
     g_free ( tmpfilename );
-    remove ( fn ); /* couldn't create temporary. delete 0-byte file. */
+    g_remove ( fn ); /* couldn't create temporary. delete 0-byte file. */
     return -1;
   }
 
   fclose ( f );
+  f = NULL;
   rename ( tmpfilename, fn ); /* move completely-downloaded file to permanent location */
   g_free ( tmpfilename );
   return ret;
index aad59d0ecae75c2e6bb291e42afe317ca765b8c4..6a8e75f35a3d1a3d0bf091f1ee3a231ffa77f2f0 100644 (file)
@@ -28,6 +28,7 @@
 
 #include <string.h>
 #include <stdlib.h>
+#include <stdio.h>
 #ifdef HAVE_UNISTD_H
 #include <unistd.h>
 #endif
@@ -530,13 +531,15 @@ static FILE *xfopen ( const char *fn, const char *mode )
   if ( strcmp(fn,"-") == 0 )
     return stdin;
   else
-    return fopen(fn, "r");
+    return g_fopen(fn, "r");
 }
 
 static void xfclose ( FILE *f )
 {
-  if ( f != stdin && f != stdout )
+  if ( f != stdin && f != stdout ) {
     fclose ( f );
+    f = NULL;
+  }
 }
 
 /* 0 on failure, 1 on success (vik file) 2 on success (other file) */
@@ -580,7 +583,7 @@ gshort a_file_load ( VikAggregateLayer *top, VikViewport *vp, const gchar *filen
 
 gboolean a_file_save ( VikAggregateLayer *top, gpointer vp, const gchar *filename )
 {
-  FILE *f = fopen(filename, "w");
+  FILE *f = g_fopen(filename, "w");
 
   if ( ! f )
     return FALSE;
@@ -588,6 +591,7 @@ gboolean a_file_save ( VikAggregateLayer *top, gpointer vp, const gchar *filenam
   file_write ( top, f, vp );
 
   fclose(f);
+  f = NULL;
 
   return TRUE;
 }
@@ -606,7 +610,7 @@ const gchar *a_file_basename ( const gchar *filename )
 
 gboolean a_file_export ( VikTrwLayer *vtl, const gchar *filename, gshort file_type )
 {
-  FILE *f = fopen ( filename, "w" );
+  FILE *f = g_fopen ( filename, "w" );
   if ( f )
   {
     if ( file_type == FILE_TYPE_GPSMAPPER )
@@ -616,6 +620,7 @@ gboolean a_file_export ( VikTrwLayer *vtl, const gchar *filename, gshort file_ty
     else
       a_gpspoint_write_file ( vtl, f );
     fclose ( f );
+    f = NULL;
     return TRUE;
   }
   return FALSE;
index f74b0ce68913a75c41c75969295bde85ffbb3f5c..ec61c8ba1d6e0959b642c07b2e7ef30d8053699f 100644 (file)
@@ -22,6 +22,7 @@
 #include "config.h"
 #endif
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <glib/gi18n.h>
@@ -193,6 +194,7 @@ failed:
   }
 
   fclose(tmp_file);
+  tmp_file = NULL;
   g_free(tmpname);
   g_free (uri);
   return (vers[google_type]);
index 7f2060a070eda936cf639c9863e8e610a9676fae..d283bcfd9aaf1b5a34f272a604996c0a6c47934e 100644 (file)
 #include "config.h"
 #endif
 #include <stdlib.h>
+#include <stdio.h>
 #include <string.h>
+#include <glib.h>
+#include <glib/gstdio.h>
 #include <glib/gprintf.h>
 #include <glib/gi18n.h>
 
@@ -220,11 +223,13 @@ static int google_search_get_coord(VikWindow *vw, VikViewport *vvp, gchar *srch_
   /* TODO: curl may not be available */
   if (curl_download_uri(uri, tmp_file, &googlesearch_options)) {  /* error */
     fclose(tmp_file);
+    tmp_file = NULL;
     ret = -1;
     goto done;
   }
 
   fclose(tmp_file);
+  tmp_file = NULL;
   if (!parse_file_for_latlon(tmpname, &ll)) {
     ret = -1;
     goto done;
@@ -243,7 +248,7 @@ static int google_search_get_coord(VikWindow *vw, VikViewport *vvp, gchar *srch_
 done:
   g_free(escaped_srch_str);
   g_free(uri);
-  remove(tmpname);
+  g_remove(tmpname);
   g_free(tmpname);
   return ret;
 }
index d1ea9c65911853e0122f856d72f7ef9e01bbf457..8980dfa982ea5ab0a0c1ef9514ff22d50928e2eb 100644 (file)
@@ -249,6 +249,7 @@ static void osm_traces_upload_thread ( OsmTracesInfo *oti, gpointer threaddata )
   /* We can close the file */
   /* This also close the associated fd */
   fclose(file);
+  file = NULL;
 
   /* finally, upload it */
   osm_traces_upload_file(user, password, filename,
index 1bc525033a165290a7c6188b1397e67c93cc4957..f962d8149f9728d4c1fa09c2fd029130cde0d179 100644 (file)
@@ -22,7 +22,6 @@
 #ifndef __VIKING_OSM_TRACES_H
 #define __VIKING_OSM_TRACES_H
 
-#include <stdio.h>
 
 #include <glib.h>
 
index 52faf765d11b8b02163c2313c8f77f4c8ed81460..844bb5164b61d1e9d66c54803bf26423e40e7c0d 100644 (file)
@@ -2,6 +2,7 @@
 #include <glib/gi18n.h>
 #include <string.h>
 #include <stdlib.h>
+#include <stdio.h>
 #include "preferences.h"
 #include "file.h"
 
@@ -159,7 +160,7 @@ static gboolean preferences_load_parse_param(gchar *buf, gchar **key, gchar **va
 static gboolean preferences_load_from_file()
 {
   gchar *fn = g_build_filename(a_get_viking_dir(), VIKING_PREFS_FILE, NULL);
-  FILE *f = fopen(fn, "r");
+  FILE *f = g_fopen(fn, "r");
   g_free ( fn );
 
   if ( f ) {
@@ -190,6 +191,7 @@ static gboolean preferences_load_from_file()
       }
     }
     fclose(f);
+    f = NULL;
     return TRUE;
   }
   return FALSE;
@@ -217,7 +219,7 @@ static gboolean preferences_save_to_file()
   gchar *fn = g_build_filename(a_get_viking_dir(), VIKING_PREFS_FILE, NULL);
 
   // TODO: error checking
-  FILE *f = fopen(fn, "w");
+  FILE *f = g_fopen(fn, "w");
   g_free ( fn );
 
   if ( f ) {
@@ -231,6 +233,7 @@ static gboolean preferences_save_to_file()
       file_write_layer_param ( f, param->name, val->type, val->data );
     }
     fclose(f);
+    f = NULL;
     return TRUE;
   }
 
index a1d5ef6664adeb55059cfaead03a8d23c4148d93..e177be3393aced991744366b024362b214235e05 100644 (file)
@@ -26,6 +26,7 @@
 #include "viking.h"
 #include "vikgeoreflayer_pixmap.h"
 #include <stdlib.h>
+#include <stdio.h>
 #include <string.h>
 #include <glib/gi18n.h>
 
@@ -293,6 +294,7 @@ static gboolean world_file_read_line ( gchar *buffer, gint size, FILE *f, GtkWid
     a_dialog_error_msg ( VIK_GTK_WINDOW_FROM_WIDGET(widget), _("Unexpected end of file reading World file.") );
     g_free ( buffer );
     fclose ( f );
+    f = NULL;
     return FALSE;
   }
   if ( use_value )
@@ -314,7 +316,7 @@ static void georef_layer_dialog_load ( GtkWidget *pass_along[4] )
 
   if ( gtk_dialog_run ( GTK_DIALOG ( file_selector ) ) == GTK_RESPONSE_ACCEPT )
   {
-    FILE *f = fopen ( gtk_file_chooser_get_filename ( GTK_FILE_CHOOSER(file_selector) ), "r" );
+    FILE *f = g_fopen ( gtk_file_chooser_get_filename ( GTK_FILE_CHOOSER(file_selector) ), "r" );
     gtk_widget_destroy ( file_selector ); 
     if ( !f )
     {
@@ -330,6 +332,7 @@ static void georef_layer_dialog_load ( GtkWidget *pass_along[4] )
       {
         g_free ( buffer );
         fclose ( f );
+       f = NULL;
       }
     }
   }
@@ -357,7 +360,7 @@ static void georef_layer_export_params ( gpointer *pass_along[2] )
                                      NULL);
   if ( gtk_dialog_run ( GTK_DIALOG ( file_selector ) ) == GTK_RESPONSE_ACCEPT )
   {
-    FILE *f = fopen ( gtk_file_chooser_get_filename ( GTK_FILE_CHOOSER(file_selector) ), "w" );
+    FILE *f = g_fopen ( gtk_file_chooser_get_filename ( GTK_FILE_CHOOSER(file_selector) ), "w" );
     
     gtk_widget_destroy ( file_selector ); 
     if ( !f )
@@ -369,6 +372,7 @@ static void georef_layer_export_params ( gpointer *pass_along[2] )
     {
       fprintf ( f, "%f\n%f\n%f\n%f\n%f\n%f\n", vgl->mpp_easting, vgl->mpp_northing, 0.0, 0.0, vgl->corner.easting, vgl->corner.northing );
       fclose ( f );
+      f = NULL;
     }
   }
   else
index c9c85c2d509860ce3f69b0e5a4e07ba894092b6b..8a4483094ab2b5539ec1a1d951fe32b24b186b7b 100644 (file)
@@ -24,7 +24,6 @@
 
 #include <gtk/gtk.h>
 #include <gdk-pixbuf/gdk-pixdata.h>
-#include <stdio.h>
 #include <time.h>
 
 #ifdef WINDOWS
index a1c2f96795d3dad81d890389fbb49e087ee567de..ac7ff8315fd9e7325a2a838de33e0cadc159ec34 100644 (file)
@@ -36,7 +36,6 @@
 #include <glib/gstdio.h>
 #include <glib/gi18n.h>
 
-#include <stdio.h>
 #include <string.h>
 #include <math.h>
 #include "globals.h"
@@ -788,7 +787,7 @@ static void map_download_thread ( MapDownloadInfo *mdi, gpointer threaddata )
       a_background_thread_progress ( threaddata, ((gdouble)donemaps) / mdi->mapstoget ); /* this also calls testcancel */
 
       if ( mdi->redownload == REDOWNLOAD_ALL)
-        remove ( mdi->filename_buf );
+        g_remove ( mdi->filename_buf );
 
       else if ( (mdi->redownload == REDOWNLOAD_BAD) && (g_file_test ( mdi->filename_buf, G_FILE_TEST_EXISTS ) == TRUE) )
       {
@@ -796,7 +795,7 @@ static void map_download_thread ( MapDownloadInfo *mdi, gpointer threaddata )
         GError *gx = NULL;
         GdkPixbuf *pixbuf = gdk_pixbuf_new_from_file ( mdi->filename_buf, &gx );
         if (gx || (!pixbuf))
-          remove ( mdi->filename_buf );
+          g_remove ( mdi->filename_buf );
         if ( pixbuf )
           g_object_unref ( pixbuf );
         if ( gx )
@@ -850,7 +849,7 @@ static void mdi_cancel_cleanup ( MapDownloadInfo *mdi )
                      mdi->mapcoord.scale, mdi->mapcoord.z, mdi->mapcoord.x, mdi->mapcoord.y );
     if ( g_file_test ( mdi->filename_buf, G_FILE_TEST_EXISTS ) == TRUE)
     {
-      remove ( mdi->filename_buf );
+      g_remove ( mdi->filename_buf );
     }
   }
 }
index 359dc4f8dcda424def8eab621f45c10c75bf883b..2607be14f8f7b34b916c37e9dbe7f9948408853d 100644 (file)
@@ -21,7 +21,6 @@
 
 #include <glib.h>
 #include <time.h>
-#include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <math.h>
index 1a6268e810db51782f44ea0f4117eb1888cc8797..d6d3f5ac5c9f051d86024c889a477e48f49b9d0c 100644 (file)
 #include <math.h>
 #include <string.h>
 #include <stdlib.h>
+#include <stdio.h>
 #include <ctype.h>
 
 #include <gdk/gdkkeysyms.h>
+#include <glib.h>
+#include <glib/gstdio.h>
 #include <glib/gi18n.h>
 
 /* Relax some dependencies */
@@ -676,6 +679,7 @@ static void trw_layer_marshall( VikTrwLayer *vtl, guint8 **data, gint *len )
     a_gpx_write_file(vtl, f);
     vik_layer_marshall_params(VIK_LAYER(vtl), &pd, &pl);
     fclose(f);
+    f = NULL;
     g_file_get_contents(tmpname, (void *)&dd, (void *)&dl, NULL);
     *len = sizeof(pl) + pl + dl;
     *data = g_malloc(*len);
@@ -685,7 +689,7 @@ static void trw_layer_marshall( VikTrwLayer *vtl, guint8 **data, gint *len )
     
     g_free(pd);
     g_free(dd);
-    remove(tmpname);
+    g_remove(tmpname);
     g_free(tmpname);
   }
 }
@@ -711,7 +715,8 @@ static VikTrwLayer *trw_layer_unmarshall( gpointer data, gint len, VikViewport *
   rewind(f);
   a_gpx_read_file(rv, f);
   fclose(f);
-  remove(tmpname);
+  f = NULL;
+  g_remove(tmpname);
   g_free(tmpname);
   return rv;
 }
index 493db74a1913d39c5763dfb3512507a075377f59..fd2ea74b410697306ec28fd10afb2303feb3fa9d 100644 (file)
@@ -28,7 +28,6 @@
 
 #include <gtk/gtk.h>
 #include <math.h>
-#include <stdio.h>
 
 #include "coords.h"
 #include "vikcoord.h"