|
@@ -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;
|
|
|
}
|