Forráskód Böngészése

d.mon: print warning when overwritting the output file

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@63469 15284696-431f-4ddb-bdfa-cd5b030d7da7
Martin Landa 10 éve
szülő
commit
7a379fc950
2 módosított fájl, 37 hozzáadás és 29 törlés
  1. 9 4
      display/d.mon/start.c
  2. 28 25
      lib/display/r_raster.c

+ 9 - 4
display/d.mon/start.c

@@ -28,10 +28,15 @@ void start(const char *name, const char *output)
         output_name = D_get_file();
         if (!output_name) 
             return;
-        if (!G_get_overwrite() && access(output_name, F_OK) == 0) {
-            D_close_driver();
-            G_fatal_error(_("option <%s>: <%s> exists."),
-                          "output", output_name);
+        if (access(output_name, F_OK) == 0) {
+            if (G_get_overwrite()) {
+                G_warning(_("File '%s' already exists and will be overwritten"), output_name);
+            }
+            else {
+                D_close_driver();
+                G_fatal_error(_("option <%s>: <%s> exists."),
+                              "output", output_name);
+            }
         }
         D_close_driver(); /* must be called after check because this
                            * function produces default map file */

+ 28 - 25
lib/display/r_raster.c

@@ -111,32 +111,35 @@ int D_open_driver(void)
     p = getenv("GRASS_RENDER_IMMEDIATE");
     m = G__getenv("MONITOR");
     
-    if (m && G_strncasecmp(m, "wx", 2) == 0) {
-	/* wx monitors always use GRASS_RENDER_IMMEDIATE. */
-	p = NULL; /* use default display driver */
-    } else if (m) {
-	char *env;
-	const char *v;
-	char *u_m;
-	
-	if (p)
-	    G_warning(_("%s variable defined, %s ignored"),
-		      "MONITOR", "GRASS_RENDER_IMMEDIATE");
-	/* GRASS variable names should be upper case. */
-	u_m = G_store_upper(m);
-
-	env = NULL;
-	G_asprintf(&env, "MONITOR_%s_MAPFILE", u_m);
-	v = G__getenv(env);
-	p = m;
-
-	if (v)
-            G_putenv("GRASS_RENDER_FILE", v);
+    if (m) {
+        char *env;
+        const char *v;
+        char *u_m;
         
-	G_asprintf(&env, "MONITOR_%s_ENVFILE", u_m);
-	v = G__getenv(env);
-	if (v) 
-	    read_env_file(v);
+        /* GRASS variable names should be upper case. */
+        u_m = G_store_upper(m);
+
+        env = NULL;
+        G_asprintf(&env, "MONITOR_%s_MAPFILE", u_m);
+        v = G__getenv(env);
+        
+        if (v)
+            G_putenv("GRASS_RENDER_FILE", v);
+                
+        if (G_strncasecmp(m, "wx", 2) == 0) {
+            /* wx monitors always use GRASS_RENDER_IMMEDIATE. */
+            p = NULL; /* use default display driver */
+        } else {
+            if (p)
+                G_warning(_("%s variable defined, %s ignored"),
+                          "MONITOR", "GRASS_RENDER_IMMEDIATE");
+            p = m;            
+            
+            G_asprintf(&env, "MONITOR_%s_ENVFILE", u_m);
+            v = G__getenv(env);
+            if (v) 
+                read_env_file(v);
+        }
     }
     
     const struct driver *drv =