Parcourir la source

G__tempfile() lacks perror support (see https://trac.osgeo.org/grass/ticket/2278)

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@69223 15284696-431f-4ddb-bdfa-cd5b030d7da7
Martin Landa il y a 8 ans
Parent
commit
9c4b5e1323
1 fichiers modifiés avec 6 ajouts et 3 suppressions
  1. 6 3
      lib/raster/open.c

+ 6 - 3
lib/raster/open.c

@@ -619,10 +619,11 @@ static int open_raster_new(const char *name, int open_mode,
     tempname = G_tempfile();
     tempname = G_tempfile();
     cell_fd = creat(tempname, 0666);
     cell_fd = creat(tempname, 0666);
     if (cell_fd < 0) {
     if (cell_fd < 0) {
+        int err = errno;
 	G_free(mapset);
 	G_free(mapset);
 	G_free(tempname);
 	G_free(tempname);
 	G_free(map);
 	G_free(map);
-	G_fatal_error(_("No temp files available: %s"), strerror(errno));
+	G_fatal_error(_("No temp files available: %s"), strerror(err));
     }
     }
 
 
     fd = new_fileinfo();
     fd = new_fileinfo();
@@ -696,12 +697,13 @@ static int open_raster_new(const char *name, int open_mode,
     tempname = G_tempfile();
     tempname = G_tempfile();
     fcb->null_fd = creat(tempname, 0666);
     fcb->null_fd = creat(tempname, 0666);
     if (fcb->null_fd < 0) {
     if (fcb->null_fd < 0) {
+        int err = errno;
 	G_free(tempname);
 	G_free(tempname);
 	G_free(fcb->name);
 	G_free(fcb->name);
 	G_free(fcb->mapset);
 	G_free(fcb->mapset);
 	G_free(fcb->temp_name);
 	G_free(fcb->temp_name);
 	close(cell_fd);
 	close(cell_fd);
-	G_fatal_error(_("No temp files available: %s"), strerror(errno));
+	G_fatal_error(_("No temp files available: %s"), strerror(err));
     }
     }
 
 
     fcb->null_temp_name = tempname;
     fcb->null_temp_name = tempname;
@@ -772,10 +774,11 @@ int Rast__open_null_write(const char *name)
     tempname = G_tempfile();
     tempname = G_tempfile();
     fcb->null_fd = creat(tempname, 0666);
     fcb->null_fd = creat(tempname, 0666);
     if (fcb->null_fd < 0) {
     if (fcb->null_fd < 0) {
+        int err = errno;
 	G_free(tempname);
 	G_free(tempname);
 	G_free(fcb->name);
 	G_free(fcb->name);
 	G_free(fcb->mapset);
 	G_free(fcb->mapset);
-	G_fatal_error(_("No temp files available: %s"), strerror(errno));
+	G_fatal_error(_("No temp files available: %s"), strerror(err));
     }
     }
     fcb->null_temp_name = tempname;
     fcb->null_temp_name = tempname;