Ver código fonte

libgis: be more verbose when opening a file fails

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@58308 15284696-431f-4ddb-bdfa-cd5b030d7da7
Markus Metz 11 anos atrás
pai
commit
e841d781ac
1 arquivos alterados com 8 adições e 6 exclusões
  1. 8 6
      lib/gis/key_value3.c

+ 8 - 6
lib/gis/key_value3.c

@@ -11,6 +11,8 @@
    \author CERL
  */
 
+#include <errno.h>
+#include <string.h>
 #include <grass/gis.h>
 #include <grass/glocale.h>
 
@@ -28,13 +30,13 @@ void G_write_key_value_file(const char *file,
 {
     FILE *fp = fopen(file, "w");
     if (!fp)
-	G_fatal_error(_("Unable to open output file <%s>"), file);
+	G_fatal_error(_("Unable to open output file <%s>: %s"), file, strerror(errno));
 
     if (G_fwrite_key_value(fp, kv) != 0)
-	G_fatal_error(_("Error writing file <%s>"), file);
+	G_fatal_error(_("Error writing file <%s>: %s"), file, strerror(errno));
 
     if (fclose(fp) != 0)
-	G_fatal_error(_("Error closing output file <%s>"), file);
+	G_fatal_error(_("Error closing output file <%s>: %s"), file, strerror(errno));
 }
 
 /*!
@@ -55,14 +57,14 @@ struct Key_Value *G_read_key_value_file(const char *file)
 
     fp = fopen(file, "r");
     if (!fp)
-	G_fatal_error(_("Unable to open input file <%s>"), file);
+	G_fatal_error(_("Unable to open input file <%s>: %s"), file, strerror(errno));
 
     kv = G_fread_key_value(fp);
     if (!kv)
-	G_fatal_error(_("Error reading file <%s>"), file);
+	G_fatal_error(_("Error reading file <%s>: %s"), file, strerror(errno));
 
     if (fclose(fp) != 0)
-	G_fatal_error(_("Error closing input file <%s>"), file);
+	G_fatal_error(_("Error closing input file <%s>: %s"), file, strerror(errno));
 
     return kv;
 }