فهرست منبع

imagerylib: do not overwrite signature files without permission

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@68415 15284696-431f-4ddb-bdfa-cd5b030d7da7
Markus Metz 9 سال پیش
والد
کامیت
4f367cafc2
2فایلهای تغییر یافته به همراه17 افزوده شده و 0 حذف شده
  1. 9 0
      lib/imagery/sigfile.c
  2. 8 0
      lib/imagery/sigsetfile.c

+ 9 - 0
lib/imagery/sigfile.c

@@ -13,6 +13,8 @@
 
 #include <string.h>
 #include <grass/imagery.h>
+#include <grass/gis.h>
+#include <grass/glocale.h>
 
 /*!
    \brief Create signature file
@@ -37,6 +39,13 @@ FILE *I_fopen_signature_file_new(const char *group,
 
     /* create sigset directory */
     sprintf(element, "%s/subgroup/%s/sig", group_name, subgroup);
+    if (G_getenv_nofatal("OVERWRITE")) {
+	if (G_find_file_misc("group", element, group_name, G_mapset())) {
+	    G_fatal_error(_("Signature file for group '%s', subgroup '%s' exists." 
+	    " To overwrite, use the --overwrite flag"), group_name, subgroup);
+	    return NULL;
+	}
+    }
     G__make_mapset_element_misc("group", element);
 
     sprintf(element, "subgroup/%s/sig/%s", subgroup, name);

+ 8 - 0
lib/imagery/sigsetfile.c

@@ -15,6 +15,7 @@
 
 #include <grass/gis.h>
 #include <grass/imagery.h>
+#include <grass/gis.h>
 #include <grass/glocale.h>
 
 /*!
@@ -48,6 +49,13 @@ FILE *I_fopen_sigset_file_new(const char *group, const char *subgroup,
 
     /* create sigset directory */
     sprintf(element, "%s/subgroup/%s/sigset", group_name, subgroup);
+    if (G_getenv_nofatal("OVERWRITE")) {
+	if (G_find_file_misc("group", element, group_name, G_mapset())) {
+	    G_fatal_error(_("Signature file for group '%s', subgroup '%s' exists." 
+	    " To overwrite, use the --overwrite flag"), group_name, subgroup);
+	    return NULL;
+	}
+    }
     G__make_mapset_element_misc("group", element);
 
     sprintf(element, "subgroup/%s/sigset/%s", subgroup, name);