[GRASS-dev] lib/gis/*.c: Extra calls to sprintf () just before
G_warning ()
Ivan Shmakov
oneingray at gmail.com
Sun Mar 22 10:36:29 EDT 2009
There's no need to use sprintf () along with G_warning (), since
the latter is already capable of the printf ()-style formatting.
Also, the following are /not/ equivalent fragments of code:
G_warning (FMT, <arguments...>);
sprintf (s, FMT, <arguments...>);
G_warning (s);
Instead, the former is equivalent to the following:
sprintf (s, FMT, <arguments...>);
G_warning ("%s", s);
While the latter behaves differently should any percent signs
(`%') be put into `s' as a result of sprintf ().
Hopefully, the following patch will resolve the issue.
A few notes regarding i18n:
* the typos and misspellings are to be fixed with a separate
patch; that one should probably update locale/ as well;
* I've introduced a few more _() invocations, as I deemed
appropriate;
* the code like the following could bring all the sorts of woe
upon the heads of unsuspecting translators (this issue may
deserve a mention on Trac.)
--cut--
sprintf(buf,
_("Unable to read header file for raster map <%s@%s>."),
name, mapset);
tail = buf + strlen(buf);
sprintf(tail, _(" It is a reclass of raster map <%s@%s> "),
real_name, real_mapset);
tail = buf + strlen(buf);
if (!G_find_cell(real_name, real_mapset))
sprintf(tail, _("which is missing."));
else
sprintf(tail, _("whose header file can't be opened."));
G_warning ("%s", buf);
return -1;
--cut--
Index: lib/gis/put_cellhd.c
===================================================================
--- lib/gis/put_cellhd.c (revision 36445)
+++ lib/gis/put_cellhd.c (working copy)
@@ -23,8 +23,7 @@
if (!(fd = G_fopen_new("cellhd", name))) {
char buf[1024];
- sprintf(buf, _("Unable to create header file for [%s]"), name);
- G_warning(buf);
+ G_warning (_("Unable to create header file for [%s]"), name);
return -1;
}
Index: lib/gis/put_title.c
===================================================================
--- lib/gis/put_title.c (revision 36445)
+++ lib/gis/put_title.c (working copy)
@@ -25,10 +25,9 @@
in = out = 0;
in = G_fopen_old("cats", name, mapset);
if (!in) {
- sprintf(buf,
- _("category information for [%s] in [%s] missing or invalid"),
- name, mapset);
- G_warning(buf);
+ G_warning (_("category information for [%s] in [%s]"
+ " missing or invalid"),
+ name, mapset);
return -1;
}
@@ -36,8 +35,7 @@
out = fopen(tempfile, "w");
if (!out) {
fclose(in);
- sprintf(buf, _("G_put_title - can't create a temp file"));
- G_warning(buf);
+ G_warning (_("G_put_title - can't create a temp file"));
return -1;
}
@@ -53,25 +51,22 @@
/* must be #cats line, title line, and label for cat 0 */
if (line < 3) {
- sprintf(buf, _("category information for [%s] in [%s] invalid"), name,
- mapset);
- G_warning(buf);
+ G_warning (_("category information for [%s] in [%s] invalid"),
+ name, mapset);
return -1;
}
in = fopen(tempfile, "r");
if (!in) {
- sprintf(buf, _("G_put_title - can't reopen temp file"));
- G_warning(buf);
+ G_warning (_("G_put_title - can't reopen temp file"));
return -1;
}
out = G_fopen_new("cats", name);
if (!out) {
fclose(in);
- sprintf(buf, _("can't write category information for [%s] in [%s]"),
- name, mapset);
- G_warning(buf);
+ G_warning (_("can't write category information for [%s] in [%s]"),
+ name, mapset);
return -1;
}
Index: lib/gis/quant_io.c
===================================================================
--- lib/gis/quant_io.c (revision 36445)
+++ lib/gis/quant_io.c (working copy)
@@ -86,9 +86,8 @@
return 0;
G_get_fp_range_min_max(&fprange, &dMin, &dMax);
if (G_is_d_null_value(&dMin) || G_is_d_null_value(&dMax)) {
- sprintf(buf, _("The floating data range for %s@%s is empty"), name,
- mapset);
- G_warning(buf);
+ G_warning (_("The floating data range for %s@%s is empty"),
+ name, mapset);
return -3;
}
@@ -96,9 +95,8 @@
return 0;
G_get_range_min_max(&range, &min, &max);
if (G_is_c_null_value(&min) && G_is_c_null_value(&max)) {
- sprintf(buf, _("The integer data range for %s@%s is empty"), name,
- mapset);
- G_warning(buf);
+ G_warning (_("The integer data range for %s@%s is empty"),
+ name, mapset);
return -3;
}
@@ -121,10 +119,9 @@
G_quant_free(quant);
if (G_raster_map_type(name, mapset) == CELL_TYPE) {
- sprintf(buf,
- "G__quant_import: attempt to open quantization table for CELL_TYPE file [%s] in mapset {%s]",
- name, mapset);
- G_warning(buf);
+ G_warning (_("G__quant_import: attempt to open quantization"
+ " table for CELL_TYPE file [%s] in mapset {%s]"),
+ name, mapset);
return -2;
}
@@ -164,9 +161,8 @@
err = "empty";
}
- sprintf(buf,
- _("quantization file [%s] in mapset [%s] %s"), name, mapset, err);
- G_warning(buf);
+ G_warning (_("quantization file [%s] in mapset [%s] %s"),
+ name, mapset, err);
return 0;
}
Index: lib/gis/range.c
===================================================================
--- lib/gis/range.c (revision 36445)
+++ lib/gis/range.c (working copy)
@@ -185,8 +185,8 @@
error:
if (fd > 0)
close(fd);
- sprintf(buf, _("can't read f_range file for [%s in %s]"), name, mapset);
- G_warning(buf);
+ G_warning (_("can't read f_range file for [%s in %s]"),
+ name, mapset);
return -1;
}
@@ -236,10 +236,9 @@
DCELL dmin, dmax;
if (G_read_quant(name, mapset, &quant) < 0) {
- sprintf(buf,
- "G_read_range(): can't read quant rules for fp map %s@%s",
- name, mapset);
- G_warning(buf);
+ G_warning (_("G_read_range(): can't read quant rules"
+ " for fp map %s@%s"),
+ name, mapset);
return -1;
}
if (G_quant_is_truncate(&quant) || G_quant_is_round(&quant)) {
@@ -301,8 +300,8 @@
error:
if (fd)
fclose(fd);
- sprintf(buf, _("can't read range file for [%s in %s]"), name, mapset);
- G_warning(buf);
+ G_warning (_("can't read range file for [%s in %s]"),
+ name, mapset);
return -1;
}
Index: lib/gis/get_cellhd.c
===================================================================
--- lib/gis/get_cellhd.c (revision 36445)
+++ lib/gis/get_cellhd.c (working copy)
@@ -77,7 +77,7 @@
sprintf(tail, _("which is missing."));
else
sprintf(tail, _("whose header file can't be opened."));
- G_warning(buf);
+ G_warning ("%s", buf);
return -1;
}
}
Index: lib/gis/quant_rw.c
===================================================================
--- lib/gis/quant_rw.c (revision 36445)
+++ lib/gis/quant_rw.c (working copy)
@@ -70,9 +70,9 @@
G_quant_truncate(&quant);
/* quantize the map */
if (G_write_quant(name, mapset, &quant) < 0) {
- sprintf(buf, "G_truncate_fp_map: can't write quant rules for map %s",
- name);
- G_warning(buf);
+ G_warning (_("G_truncate_fp_map: can't write quant rules"
+ " for map %s"),
+ name);
return -1;
}
return 1;
@@ -87,9 +87,9 @@
G_quant_round(&quant);
/* round the map */
if (G_write_quant(name, mapset, &quant) < 0) {
- sprintf(buf, "G_truncate_fp_map: can't write quant rules for map %s",
- name);
- G_warning(buf);
+ G_warning (_("G_truncate_fp_map: can't write quant rules"
+ " for map %s"),
+ name);
return -1;
}
return 1;
@@ -118,15 +118,14 @@
struct FPRange fp_range;
if (G_read_fp_range(name, mapset, &fp_range) < 0) {
- sprintf(buf, "G_quantize_fp_map: can't read fp range for map %s",
- name);
- G_warning(buf);
+ G_warning (_("G_quantize_fp_map: can't read fp range for map %s"),
+ name);
return -1;
}
G_get_fp_range_min_max(&fp_range, &d_min, &d_max);
if (G_is_d_null_value(&d_min) || G_is_d_null_value(&d_max)) {
- sprintf(buf, "G_quantize_fp_map: raster map %s is empty", name);
- G_warning(buf);
+ G_warning (_("G_quantize_fp_map: raster map %s is empty"),
+ name);
return -1;
}
return G_quantize_fp_map_range(name, mapset, d_min, d_max, min, max);
@@ -166,10 +165,9 @@
G_quant_add_rule(&quant, d_min, d_max, min, max);
/* quantize the map */
if (G_write_quant(name, mapset, &quant) < 0) {
- sprintf(buf,
- "G_quantize_fp_map_range: can't write quant rules for map %s",
- name);
- G_warning(buf);
+ G_warning (_("G_quantize_fp_map_range: can't write quant rules"
+ " for map %s"),
+ name);
return -1;
}
return 1;
@@ -203,8 +201,8 @@
char buf[300];
if (G_raster_map_type(name, mapset) == CELL_TYPE) {
- sprintf(buf, _("Cannot write quant rules: map %s is integer"), name);
- G_warning(buf);
+ G_warning (_("Cannot write quant rules: map %s is integer"),
+ name);
return -1;
}
@@ -212,8 +210,7 @@
/* first actually write the rules */
if (G__quant_export(name, mapset, quant) < 0) {
- sprintf(buf, _("Cannot write quant rules for map %s"), name);
- G_warning(buf);
+ G_warning (_("Cannot write quant rules for map %s"), name);
return -1;
}
--
FSF associate member #7257
More information about the grass-dev
mailing list