[GRASS-SVN] r72500 - grass/branches/releasebranch_7_4/raster/r.texture
svn_grass at osgeo.org
svn_grass at osgeo.org
Thu Mar 22 08:49:43 PDT 2018
Author: mlennert
Date: 2018-03-22 08:49:43 -0700 (Thu, 22 Mar 2018)
New Revision: 72500
Modified:
grass/branches/releasebranch_7_4/raster/r.texture/main.c
Log:
r.texture: Fatal error if one of the requested output maps exists (fix for #3492, backport from trunk r72380)
Modified: grass/branches/releasebranch_7_4/raster/r.texture/main.c
===================================================================
--- grass/branches/releasebranch_7_4/raster/r.texture/main.c 2018-03-22 15:46:50 UTC (rev 72499)
+++ grass/branches/releasebranch_7_4/raster/r.texture/main.c 2018-03-22 15:49:43 UTC (rev 72500)
@@ -76,7 +76,7 @@
char *name, *result;
char **mapname;
FCELL **fbuf;
- int n_measures, n_outputs, *measure_idx;
+ int n_measures, n_outputs, *measure_idx, overwrite;
int nrows, ncols;
int row, col, first_row, last_row, first_col, last_col;
int i, j;
@@ -105,7 +105,6 @@
G_add_keyword(_("texture"));
module->description =
_("Generate images with textural features from a raster map.");
- module->overwrite = 1;
/* Define the different options */
@@ -243,6 +242,8 @@
mapname[i] = G_malloc(GNAME_MAX * sizeof(char));
fbuf[i] = Rast_allocate_buf(out_data_type);
}
+
+ overwrite = G_check_overwrite(argc, argv);
/* open output maps */
outfd = G_malloc(n_outputs * sizeof(int));
@@ -251,13 +252,21 @@
for (j = 0; j < 4; j++) {
sprintf(mapname[i * 4 + j], "%s%s_%d", result,
menu[measure_idx[i]].suffix, j * 45);
- outfd[i * 4 + j] = Rast_open_new(mapname[i * 4 + j], out_data_type);
+ if (!G_find_raster(mapname[i * 4 + j], G_mapset()) || overwrite) {
+ outfd[i * 4 + j] = Rast_open_new(mapname[i * 4 + j], out_data_type);
+ } else {
+ G_fatal_error(_("At least one of the requested output maps exists. Use --o to overwrite."));
+ }
}
}
else {
sprintf(mapname[i], "%s%s", result,
menu[measure_idx[i]].suffix);
- outfd[i] = Rast_open_new(mapname[i], out_data_type);
+ if (!G_find_raster(mapname[i], G_mapset()) || overwrite) {
+ outfd[i] = Rast_open_new(mapname[i], out_data_type);
+ } else {
+ G_fatal_error(_("At least one of the requested output maps exists. Use --o to overwrite."));
+ }
}
}
nrows = Rast_window_rows();
More information about the grass-commit
mailing list