[packages/grass] upgraded to 6.4.4

gotar gotar at pld-linux.org
Wed Oct 1 14:35:51 CEST 2014


commit 705853b0e292ef71e37e6d2d86d8134394191c2a
Author: Tomasz Pala <gotar at pld-linux.org>
Date:   Wed Oct 1 14:35:35 2014 +0200

    upgraded to 6.4.4

 grass-format.patch | 26578 +++++----------------------------------------------
 grass.spec         |     4 +-
 ncurses.patch      |    37 -
 3 files changed, 2658 insertions(+), 23961 deletions(-)
---
diff --git a/grass.spec b/grass.spec
index 84d8c9e..5095a92 100644
--- a/grass.spec
+++ b/grass.spec
@@ -13,13 +13,13 @@
 Summary:	The Geographic Resources Analysis Support System
 Summary(pl.UTF-8):	System obsługujący analizę zasobów geograficznych
 Name:		grass
-Version:	6.4.3
+Version:	6.4.4
 Release:	1
 Epoch:		1
 License:	GPL v2+
 Group:		X11/Applications
 Source0:	http://grass.osgeo.org/grass64/source/%{name}-%{version}.tar.gz
-# Source0-md5:	d82d11b96e1ca1e23078b7657293bf22
+# Source0-md5:	4b3e0caaeb1567e15c78b523e3674170
 Patch0:		%{name}-soname.patch
 Patch1:		ncurses.patch
 Patch2:		%{name}-ffmpeg.patch
diff --git a/grass-format.patch b/grass-format.patch
index a104dca..ee22909 100644
--- a/grass-format.patch
+++ b/grass-format.patch
@@ -1,23858 +1,2753 @@
---- grass-6.4.3/lib/gis/datum.c.orig	2008-11-25 02:31:13.000000000 +0100
-+++ grass-6.4.3/lib/gis/datum.c	2014-05-18 20:07:10.986669222 +0200
-@@ -110,12 +110,12 @@
-     int returnval = -1;
- 
-     if (NULL != G_find_key_value("datum", projinfo)) {
--	sprintf(datumname, G_find_key_value("datum", projinfo));
-+	strcpy(datumname, G_find_key_value("datum", projinfo));
- 	returnval = 1;
+From 76422f2e4f2ee7defabbf866688051307a20d0f7 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ralf=20Cors=C3=A9pius?= <corsepiu at fedoraproject.org>
+Date: Sun, 10 Aug 2014 06:27:58 +0200
+Subject: [PATCH 4/4] Eliminate -Werror=format-string-security issues.
+
+---
+ db/drivers/dbf/column.c                            |  2 +-
+ display/d.colors/main.c                            |  4 +-
+ display/d.erase/main.c                             |  2 +-
+ display/d.save/main.c                              |  2 +-
+ display/d.what.vect/what.c                         |  2 +-
+ general/g.mapset/main.c                            |  2 +-
+ general/g.setproj/get_stp.c                        |  2 +-
+ general/g.setproj/main.c                           |  6 +-
+ imagery/i.landsat.toar/landsat_met.c               |  4 +-
+ imagery/i.ortho.photo/i.photo.2image/target.c      |  2 +-
+ imagery/i.ortho.photo/i.photo.2target/target.c     |  2 +-
+ .../i.ortho.photo/i.photo.camera/mod_cam_info.c    |  2 +-
+ imagery/i.ortho.photo/i.photo.elev/ask_elev.c      |  4 +-
+ imagery/i.ortho.photo/i.photo.elev/main.c          |  2 +-
+ imagery/i.ortho.photo/i.photo.rectify/cp.c         |  4 +-
+ imagery/i.ortho.photo/i.photo.rectify/target.c     |  2 +-
+ imagery/i.ortho.photo/libes/camera.c               |  3 +-
+ imagery/i.ortho.photo/libes/conz_points.c          | 18 ++--
+ imagery/i.ortho.photo/libes/fopen_camera.c         |  5 +-
+ imagery/i.ortho.photo/libes/init_info.c            | 11 +--
+ imagery/i.ortho.photo/libes/m_mult.c               |  2 +-
+ imagery/i.ortho.photo/libes/open_camera.c          |  5 +-
+ imagery/i.ortho.photo/libes/ref_points.c           | 11 +--
+ imagery/i.ortho.photo/menu/target.c                |  2 +-
+ imagery/i.pca/support.c                            |  3 +-
+ imagery/i.points/target.c                          |  2 +-
+ imagery/i.rectify/cp.c                             |  2 +-
+ imagery/i.rectify/target.c                         |  2 +-
+ imagery/i.vpoints/analyze.c                        |  4 +-
+ imagery/i.vpoints/target.c                         |  2 +-
+ lib/db/dbmi_base/login.c                           |  2 +-
+ lib/db/dbmi_client/delete_tab.c                    |  2 +-
+ lib/driver/command.c                               |  2 +-
+ lib/g3d/g3derror.c                                 |  2 +-
+ lib/g3d/g3drange.c                                 |  3 +-
+ lib/g3d/g3dwindowio.c                              |  2 +-
+ lib/gis/get_cellhd.c                               |  4 +-
+ lib/gis/get_datum_name.c                           |  8 +-
+ lib/gis/get_ellipse.c                              |  2 +-
+ lib/gis/history.c                                  |  3 +-
+ lib/gis/null_val.c                                 |  2 +-
+ lib/gis/put_cellhd.c                               |  5 +-
+ lib/gis/put_title.c                                | 16 ++--
+ lib/gis/quant_io.c                                 |  6 +-
+ lib/gis/quant_rw.c                                 | 26 ++----
+ lib/gis/range.c                                    | 15 ++--
+ lib/gis/seek.c                                     |  6 +-
+ lib/gmath/la.c                                     | 98 +++++++++++-----------
+ lib/proj/datum.c                                   |  4 +-
+ lib/proj/get_proj.c                                |  2 +-
+ lib/raster/io_sock.c                               | 22 ++---
+ lib/sites/sites.c                                  |  2 +-
+ lib/symbol/read.c                                  |  2 +-
+ lib/vector/Vlib/open.c                             |  4 +-
+ raster/r.describe/describe.c                       |  2 +-
+ raster/r.external/main.c                           |  2 +-
+ raster/r.flow/mem.h                                |  8 +-
+ raster/r.in.arc/gethead.c                          |  4 +-
+ raster/r.in.ascii/gethead.c                        |  2 +-
+ raster/r.in.gdal/main.c                            |  4 +-
+ raster/r.in.mat/main.c                             |  6 +-
+ raster/r.in.xyz/main.c                             |  2 +-
+ raster/r.le/r.le.patch/driver.c                    |  5 +-
+ raster/r.out.vrml/main.c                           | 23 ++---
+ raster/r.profile/main.c                            |  2 +-
+ raster/r.profile/read_rast.c                       |  6 +-
+ raster/r.quant/main.c                              | 16 ++--
+ raster/r.quant/read_rules.c                        |  7 +-
+ raster/r.random.surface/init.c                     |  4 +-
+ raster/r.reclass/main.c                            |  2 +-
+ raster/r.resamp.rst/main.c                         |  2 +-
+ raster/r.rescale.eq/main.c                         |  4 +-
+ raster/r.rescale/main.c                            |  4 +-
+ raster/r.surf.contour/bseg_get.c                   |  4 +-
+ raster/r.surf.contour/bseg_put.c                   |  7 +-
+ raster/r.surf.contour/bseg_read.c                  |  7 +-
+ raster/r.surf.contour/dseg_read.c                  | 10 +--
+ raster/r.surf.contour/dseg_write.c                 |  7 +-
+ raster/r.to.rast3/main.c                           |  6 +-
+ raster/r.to.rast3elev/main.c                       |  2 +-
+ raster/r.to.vect/areas_io.c                        |  2 +-
+ raster/r.to.vect/main.c                            |  4 +-
+ raster/r.to.vect/util.c                            |  2 +-
+ raster/r.volume/main.c                             |  2 +-
+ raster/r.water.outlet/legal.c                      |  4 +-
+ raster/r.water.outlet/main.c                       |  2 +-
+ raster/r.watershed/seg/bseg_read.c                 |  7 +-
+ raster/r.watershed/seg/cseg_read.c                 | 10 +--
+ raster/r.watershed/seg/dseg_read.c                 | 10 +--
+ raster/r.what/die.c                                |  2 +-
+ raster/wildfire/r.spread/collect_ori.c             |  4 +-
+ raster3d/r3.cross.rast/main.c                      |  2 +-
+ raster3d/r3.in.ascii/main.c                        |  2 +-
+ raster3d/r3.in.v5d/main.c                          |  2 +-
+ raster3d/r3.out.ascii/main.c                       |  2 +-
+ raster3d/r3.out.v5d/main.c                         |  2 +-
+ raster3d/r3.to.rast/main.c                         |  2 +-
+ vector/v.convert/att.c                             |  4 +-
+ vector/v.in.ascii/in.c                             |  2 +-
+ vector/v.in.ascii/points.c                         |  2 +-
+ vector/v.in.dwg/entity.c                           |  2 +-
+ vector/v.in.dwg/main.c                             |  4 +-
+ vector/v.in.ogr/main.c                             |  6 +-
+ vector/v.in.sites/main.c                           |  4 +-
+ vector/v.net.allpairs/main.c                       |  4 +-
+ vector/v.net.centrality/main.c                     |  2 +-
+ vector/v.net.components/main.c                     |  4 +-
+ vector/v.net.distance/main.c                       |  4 +-
+ vector/v.net.flow/main.c                           |  4 +-
+ vector/v.net.path/path.c                           |  4 +-
+ vector/v.net.timetable/main.c                      |  6 +-
+ vector/v.overlay/area_area.c                       |  2 +-
+ vector/v.overlay/line_area.c                       |  2 +-
+ vector/v.overlay/main.c                            |  2 +-
+ vector/v.random/main.c                             |  4 +-
+ vector/v.surf.rst/main.c                           |  4 +-
+ vector/v.vol.rst/main.c                            |  2 +-
+ vector/v.vol.rst/user4.c                           |  2 +-
+ vector/v.vol.rst/vector.c                          |  2 +-
+ vector/v.what.rast/main.c                          |  4 +-
+ 120 files changed, 269 insertions(+), 372 deletions(-)
+
+diff --git a/db/drivers/dbf/column.c b/db/drivers/dbf/column.c
+index c953ee0..2cbe857 100644
+--- a/db/drivers/dbf/column.c
++++ b/db/drivers/dbf/column.c
+@@ -39,7 +39,7 @@ int add_column(int tab, int type, char *name, int width, int decimals)
+ 	sprintf(buf, "DBMI-DBF driver: column name '%s'", name);
+ 	name[DBF_COL_NAME - 1] = '\0';
+ 	sprintf(buf + strlen(buf), " truncated to '%s'", name);
+-	G_warning(buf);
++	G_warning("%s", buf);
      }
  
-     if (G_find_key_value("datumparams", projinfo) != NULL) {
--	sprintf(params, G_find_key_value("datumparams", projinfo));
-+	strcpy(params, G_find_key_value("datumparams", projinfo));
- 	returnval = 2;
-     }
-     else if (G_find_key_value("nadgrids", projinfo) != NULL) {
---- grass-6.4.3/lib/gis/get_cellhd.c.orig	2008-11-25 02:31:14.000000000 +0100
-+++ grass-6.4.3/lib/gis/get_cellhd.c	2014-05-18 20:40:43.373293949 +0200
-@@ -75,10 +75,10 @@
- 		    real_name, real_mapset);
- 	    tail = buf + strlen(buf);
- 	    if (!G_find_cell(real_name, real_mapset))
--		sprintf(tail, _("which is missing."));
-+		strcpy(tail, _("which is missing."));
- 	    else
--		sprintf(tail, _("whose header file can't be opened."));
--	    G_warning(buf);
-+		strcpy(tail, _("whose header file can't be opened."));
-+	    G_warning("%s", buf);
- 	    return -1;
- 	}
+     /* Check if the column exists */
+diff --git a/display/d.colors/main.c b/display/d.colors/main.c
+index 17c6a6d..413ddb1 100644
+--- a/display/d.colors/main.c
++++ b/display/d.colors/main.c
+@@ -75,14 +75,14 @@ int main(int argc, char **argv)
+ 	char msg[256];
+ 
+ 	sprintf(msg, "Raster file [%s] not available", map->answer);
+-	G_fatal_error(msg);
++	G_fatal_error("%s", msg);
      }
-@@ -106,12 +106,12 @@
- 		real_name, real_mapset);
+ 
+     if (G_raster_map_is_fp(map->answer, mapset)) {
+ 	sprintf(buff,
+ 		"Raster file [%s] is floating point! \nd.colors only works with integer maps",
+ 		map->answer);
+-	G_fatal_error(buff);
++	G_fatal_error("%s", buff);
      }
-     else
--	sprintf(tail, _(" Invalid format."));
-+	strcpy(tail, _(" Invalid format."));
-     tail = buf + strlen(buf);
-     strcpy(tail, err);
  
-     G_free(err);
+     /* connect to the driver */
+diff --git a/display/d.erase/main.c b/display/d.erase/main.c
+index dc7c72d..5662b4a 100644
+--- a/display/d.erase/main.c
++++ b/display/d.erase/main.c
+@@ -79,7 +79,7 @@ int main(int argc, char *argv[])
  
--    G_warning(buf);
-+    G_warning("%s", buf);
-     return -1;
+     R_close_driver();
+     if (err)
+-	G_fatal_error(err);
++	G_fatal_error("%s", err);
+ 
+     exit(0);
  }
---- grass-6.4.3/lib/gis/parser.c.orig	2012-09-22 11:52:12.000000000 +0200
-+++ grass-6.4.3/lib/gis/parser.c	2014-06-03 17:43:11.091369108 +0200
-@@ -923,7 +923,7 @@
- 		sprintf(buff, "GRASS_VERBOSE=%d", G_verbose_max());
- 		putenv(G_store(buff));
- 		if (quiet == 1) {
--		    G_warning(_("Use either --quiet or --verbose flag, not both. Assuming --verbose."));
-+		    G_warning("%s", _("Use either --quiet or --verbose flag, not both. Assuming --verbose."));
- 		}
- 		quiet = -1;
+diff --git a/display/d.save/main.c b/display/d.save/main.c
+index 6a2e8e0..7f60ca9 100644
+--- a/display/d.save/main.c
++++ b/display/d.save/main.c
+@@ -454,7 +454,7 @@ int set_item(char *item, char **list)
+ 	    G_scan_northing(Nstr, &(Mwind->north), proj);
+ 	    G_scan_northing(Sstr, &(Mwind->south), proj);
+ 	    if ((err = G_adjust_Cell_head(Mwind, 1, 1))) {
+-		G_fatal_error(err);
++		G_fatal_error("%s", err);
  	    }
-@@ -937,7 +937,7 @@
- 		sprintf(buff, "GRASS_VERBOSE=%d", G_verbose_min());
- 		putenv(G_store(buff));
- 		if (quiet == -1) {
--		    G_warning(_("Use either --quiet or --verbose flag, not both. Assuming --quiet."));
-+		    G_warning("%s", _("Use either --quiet or --verbose flag, not both. Assuming --quiet."));
- 		}
- 		quiet = 1;	/* for passing to gui init */
+ 	    G_format_resolution(Mwind->ew_res, EWRESstr, proj);
+ 	    G_format_resolution(Mwind->ns_res, NSRESstr, proj);
+diff --git a/display/d.what.vect/what.c b/display/d.what.vect/what.c
+index 0b5af4d..5c43fb8 100644
+--- a/display/d.what.vect/what.c
++++ b/display/d.what.vect/what.c
+@@ -494,7 +494,7 @@ int what(int once, int txt, int terse, int flash, int width, int mwidth,
+ 	    fflush(stdout);
+ 	    if (!txt && !topo) {
+ 		db_append_string(&html, "</BODY></HTML>");
+-		G_debug(3, db_get_string(&html));
++		G_debug(3, "%s", db_get_string(&html));
+ 		F_open(title, db_get_string(&html));
  	    }
-@@ -1072,18 +1072,18 @@
- 	pgm_name = "??";
- 
-     if (module_info.label || module_info.description) {
--	fprintf(stderr, _("\nDescription:\n"));
-+	fputs(_("\nDescription:\n"), stderr);
- 	if (module_info.label)
- 	    fprintf(stderr, " %s\n", module_info.label);
- 	if (module_info.description)
- 	    fprintf(stderr, " %s\n", module_info.description);
-     }
-     if (module_info.keywords) {
--	fprintf(stderr, _("\nKeywords:\n"));
-+	fputs(_("\nKeywords:\n"), stderr);
- 	fprintf(stderr, " %s\n", module_info.keywords);
-     }
- 
--    fprintf(stderr, _("\nUsage:\n "));
-+    fputs(_("\nUsage:\n "), stderr);
- 
-     len = show(pgm_name, 1);
- 
-@@ -1151,7 +1151,7 @@
  
-     /* Print help info for flags */
- 
--    fprintf(stderr, _("\nFlags:\n"));
-+    fputs(_("\nFlags:\n"), stderr);
- 
-     if (n_flags) {
- 	flag = &first_flag;
-@@ -1182,7 +1182,7 @@
-     /* Print help info for options */
+diff --git a/general/g.mapset/main.c b/general/g.mapset/main.c
+index 2fe0f49..f04e742 100644
+--- a/general/g.mapset/main.c
++++ b/general/g.mapset/main.c
+@@ -167,7 +167,7 @@ int main(int argc, char *argv[])
+     G_asprintf(&lock_prog, "%s/etc/lock", G_gisbase());
  
-     if (n_opts) {
--	fprintf(stderr, _("\nParameters:\n"));
-+	fputs(_("\nParameters:\n"), stderr);
- 	opt = &first_option;
- 	while (opt != NULL) {
- 	    fprintf(stderr, "  %*s   ", maxlen, opt->key);
-@@ -1991,7 +1991,7 @@
- #endif
+     sprintf(path, "%s/.gislock", mapset_new_path);
+-    G_debug(2, path);
++    G_debug(2, "%s", path);
  
-     if (!fp)
--	G_fatal_error(_("Unable to spawn the 'wish' program"));
-+	G_fatal_error("%s", _("Unable to spawn the 'wish' program"));
+     ret = G_spawn(lock_prog, lock_prog, path, gis_lock, NULL);
+     G_debug(2, "lock result = %d", ret);
+diff --git a/general/g.setproj/get_stp.c b/general/g.setproj/get_stp.c
+index 53d4541..dd3170f 100644
+--- a/general/g.setproj/get_stp.c
++++ b/general/g.setproj/get_stp.c
+@@ -56,7 +56,7 @@ int get_stp_code(int code, char *string, char *paramfile)
+     fp = fopen(nad27, "r");
+     if (fp == NULL) {
+ 	sprintf(buff, "Can not open NAD27 file %s", nad27);
+-	G_fatal_error(buff);
++	G_fatal_error("%s", buff);
+     }
+     while (!gotit) {
+ 	if (fgets(buff, 200, fp) == NULL)
+diff --git a/general/g.setproj/main.c b/general/g.setproj/main.c
+index 4dd5e69..c522f75 100644
+--- a/general/g.setproj/main.c
++++ b/general/g.setproj/main.c
+@@ -250,9 +250,9 @@ int main(int argc, char *argv[])
+ 		     0))
+ 		    sph_check = ask_datum(datum, dat_ellps, dat_params);
+ 		else {
+-		    sprintf(datum, lbuf);
+-		    sprintf(dat_params, lbufa);
+-		    sprintf(dat_ellps, G_datum_ellipsoid(i));
++		    sprintf(datum, "%s", lbuf);
++		    sprintf(dat_params, "%s", lbufa);
++		    sprintf(dat_ellps, "%s", G_datum_ellipsoid(i));
+ 		    sph_check = 1;
+ 		    G_message(_("The datum information has not been changed"));
+ 		}
+diff --git a/imagery/i.landsat.toar/landsat_met.c b/imagery/i.landsat.toar/landsat_met.c
+index 506d719..e6cf055 100644
+--- a/imagery/i.landsat.toar/landsat_met.c
++++ b/imagery/i.landsat.toar/landsat_met.c
+@@ -384,14 +384,14 @@ void lsat_metadata(char *metafile, lsat_data * lsat)
+ 	    sprintf(key, "Band%dGainSetting", lsat->band[i].code);
+ 	    get_mtldata(mtldata, key, value);
+ 	    if (value[0] == '\0') {
+-		G_warning(key);
++		G_warning("%s", key);
+ 		continue;
+ 	    }
+ 	    lsat->band[i].gain = atof(value);
+ 	    sprintf(key, "Band%dBiasSetting", lsat->band[i].code);
+ 	    get_mtldata(mtldata, key, value);
+ 	    if (value[0] == '\0') {
+-		G_warning(key);
++		G_warning("%s", key);
+ 		continue;
+ 	    }
+ 	    lsat->band[i].bias = atof(value);
+diff --git a/imagery/i.ortho.photo/i.photo.2image/target.c b/imagery/i.ortho.photo/i.photo.2image/target.c
+index a5774b2..e4c57d1 100644
+--- a/imagery/i.ortho.photo/i.photo.2image/target.c
++++ b/imagery/i.ortho.photo/i.photo.2image/target.c
+@@ -46,7 +46,7 @@ int get_target(void)
+   error:
+     strcat(buf, "Please run i.target for group ");
+     strcat(buf, group.name);
+-    G_fatal_error(buf);
++    G_fatal_error("%s", buf);
  
-     fprintf(fp, "source $env(GISBASE)/etc/gui.tcl\n");
+     return -1;
+ }
+diff --git a/imagery/i.ortho.photo/i.photo.2target/target.c b/imagery/i.ortho.photo/i.photo.2target/target.c
+index 85c4008..df4533e 100644
+--- a/imagery/i.ortho.photo/i.photo.2target/target.c
++++ b/imagery/i.ortho.photo/i.photo.2target/target.c
+@@ -81,7 +81,7 @@ G_sleep (3);
+     strcat (buf, "Please run i.target for block ");
+     strcat (buf, block.name);
+ ****/
+-    G_fatal_error(buf);
++    G_fatal_error("%s", buf);
+ }
  
-@@ -2010,7 +2010,7 @@
-     if (!pgm_name)
- 	pgm_name = G_program_name();
-     if (!pgm_name)
--	G_fatal_error(_("Unable to determine program name"));
-+	G_fatal_error("%s", _("Unable to determine program name"));
+ int select_current_env(void)
+diff --git a/imagery/i.ortho.photo/i.photo.camera/mod_cam_info.c b/imagery/i.ortho.photo/i.photo.camera/mod_cam_info.c
+index fe737d9..c2e0605 100644
+--- a/imagery/i.ortho.photo/i.photo.camera/mod_cam_info.c
++++ b/imagery/i.ortho.photo/i.photo.camera/mod_cam_info.c
+@@ -81,7 +81,7 @@ int mod_cam_info(int have_old, struct Ortho_Camera_File_Ref *cam_info)
+ 	    strcpy(next, "end");
+ 	else
+ 	    sprintf(next, "%d", endfid);
+-	sprintf(next_line, next);
++	sprintf(next_line, "%s", next);
+ 	V_line(line, "                            Next:");
+ 	V_ques(next, 's', line, 34, 5);
+ 	V_line(line + 2,
+diff --git a/imagery/i.ortho.photo/i.photo.elev/ask_elev.c b/imagery/i.ortho.photo/i.photo.elev/ask_elev.c
+index d27e39e..51e11a4 100644
+--- a/imagery/i.ortho.photo/i.photo.elev/ask_elev.c
++++ b/imagery/i.ortho.photo/i.photo.elev/ask_elev.c
+@@ -8,7 +8,6 @@
  
-     sprintf(script, "%s/etc/wxpython/gui_core/forms.py",
- 	    getenv("GISBASE"));
-@@ -2650,7 +2650,7 @@
+ int ask_elev(char *group, char *location, char *mapset)
  {
-     char buff[1024];
- 
--    fprintf(stderr, _("\nFLAG: Set the following flag?\n"));
-+    fputs(_("\nFLAG: Set the following flag?\n"), stderr);
-     sprintf(buff, "    %s?", flag->description);
-     flag->answer = G_yes(buff, 0);
+-    char buf[100];
+     char t1[80];
+     char t2[80];
  
-@@ -2687,7 +2687,7 @@
- 	else
- 	    no_prompt = -1;
- 	if (no_prompt) {
--	    fprintf(stderr, _("enter option > "));
-+	    fputs(_("enter option > "), stderr);
- 	    if (fgets(buff, 1024, stdin) == 0)
- 		exit(EXIT_SUCCESS);;
- 	    bptr = buff;	/* strip newline  */
---- grass-6.4.3/lib/gis/put_title.c.orig	2008-11-25 02:31:13.000000000 +0100
-+++ grass-6.4.3/lib/gis/put_title.c	2014-06-05 21:08:22.787510801 +0200
-@@ -25,10 +25,9 @@
-     in = out = 0;
-     in = G_fopen_old("cats", name, mapset);
-     if (!in) {
--	sprintf(buf,
-+	G_warning(
- 		_("category information for [%s] in [%s] missing or invalid"),
- 		name, mapset);
--	G_warning(buf);
- 	return -1;
-     }
+@@ -35,10 +34,9 @@ int ask_elev(char *group, char *location, char *mapset)
+ 	}
  
-@@ -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("%s", _("G_put_title - can't create a temp file"));
- 	return -1;
-     }
+ 	else if ((mapset_elev = G_find_cell(elev_layer, "")) == NULL) {
+-	    sprintf(buf,
++	    G_warning(
+ 		    "\n\nraster-file %s not found - select another file\n",
+ 		    elev_layer);
+-	    G_warning(buf);
+ 	    *elev_layer = 0;
+ 	    continue;
+ 	}
+diff --git a/imagery/i.ortho.photo/i.photo.elev/main.c b/imagery/i.ortho.photo/i.photo.elev/main.c
+index 023ad6c..5e64ebe 100644
+--- a/imagery/i.ortho.photo/i.photo.elev/main.c
++++ b/imagery/i.ortho.photo/i.photo.elev/main.c
+@@ -131,7 +131,7 @@ int main(int argc, char *argv[])
+     strcat(buf, _("Please select a target for group"));
+     strcat(buf, group);
+     G_suppress_warnings(0);
+-    G_fatal_error(buf);
++    G_fatal_error("%s", buf);
+ }
  
-@@ -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,
-+	G_warning(_("category information for [%s] in [%s] invalid"), name,
- 		mapset);
--	G_warning(buf);
- 	return -1;
+diff --git a/imagery/i.ortho.photo/i.photo.rectify/cp.c b/imagery/i.ortho.photo/i.photo.rectify/cp.c
+index b8ec48c..86e5b33 100644
+--- a/imagery/i.ortho.photo/i.photo.rectify/cp.c
++++ b/imagery/i.ortho.photo/i.photo.rectify/cp.c
+@@ -31,7 +31,7 @@ int get_conz_points(void)
+     default:
+ 	return 1;
      }
+-    G_fatal_error(msg);
++    G_fatal_error("%s", msg);
+ }
  
-     in = fopen(tempfile, "r");
-     if (!in) {
--	sprintf(buf, _("G_put_title - can't reopen temp file"));
--	G_warning(buf);
-+	G_warning("%s", _("G_put_title - can't reopen temp file"));
- 	return -1;
+ int get_ref_points(void)
+@@ -61,6 +61,6 @@ int get_ref_points(void)
+     default:
+ 	return 1;
      }
- 
-     out = G_fopen_new("cats", name);
-     if (!out) {
- 	fclose(in);
--	sprintf(buf, _("can't write category information for [%s] in [%s]"),
-+	G_warning(_("can't write category information for [%s] in [%s]"),
- 		name, mapset);
+-    G_fatal_error(msg);
++    G_fatal_error("%s", msg);
+     /* exit(1);   shouldn't get here */
+ }
+diff --git a/imagery/i.ortho.photo/i.photo.rectify/target.c b/imagery/i.ortho.photo/i.photo.rectify/target.c
+index 3adf05b..74b8a80 100644
+--- a/imagery/i.ortho.photo/i.photo.rectify/target.c
++++ b/imagery/i.ortho.photo/i.photo.rectify/target.c
+@@ -31,5 +31,5 @@ int get_target(char *group)
+     sprintf(buf, _("Mapset <%s> in target location <%s> - "), mapset, location);
+     strcat(buf, stat == 0 ? _("permission denied") : _("not found"));
+   error:
+-    G_fatal_error(buf);
++    G_fatal_error("%s", buf);
+ }
+diff --git a/imagery/i.ortho.photo/libes/camera.c b/imagery/i.ortho.photo/libes/camera.c
+index 26e454e..fdf7c99 100644
+--- a/imagery/i.ortho.photo/libes/camera.c
++++ b/imagery/i.ortho.photo/libes/camera.c
+@@ -33,10 +33,9 @@ int I_get_group_camera(char *group, char *camera)
+     fd = I_fopen_group_camera_old(group);
+     G_suppress_warnings(0);
+     if (!fd) {
+-	sprintf(buf,
++	G_warning(
+ 		_("Unable to open camera file for group <%s> in mapset <%s>"),
+ 		group, G_mapset());
 -	G_warning(buf);
- 	return -1;
+ 	return 0;
      }
- 
---- grass-6.4.3/lib/gis/legal_name.c.orig	2008-11-25 02:31:13.000000000 +0100
-+++ grass-6.4.3/lib/gis/legal_name.c	2014-06-07 22:14:57.910492506 +0200
-@@ -36,7 +36,7 @@
- int G_legal_filename(const char *s)
+     G_getl2(buf, sizeof(buf), fd);
+diff --git a/imagery/i.ortho.photo/libes/conz_points.c b/imagery/i.ortho.photo/libes/conz_points.c
+index cdadb6e..635d4cb 100644
+--- a/imagery/i.ortho.photo/libes/conz_points.c
++++ b/imagery/i.ortho.photo/libes/conz_points.c
+@@ -96,15 +96,13 @@ int I_write_con_points(FILE * fd, struct Ortho_Control_Points *cp)
+ int I_get_con_points(char *group, struct Ortho_Control_Points *cp)
  {
-     if (*s == '.' || *s == 0) {
--	fprintf(stderr, _("Illegal filename.  Cannot be '.' or 'NULL'\n"));
-+	fputs(_("Illegal filename.  Cannot be '.' or 'NULL'\n"), stderr);
- 	return -1;
-     }
- 
---- grass-6.4.3/lib/gis/closecell.c.orig	2008-11-25 02:31:14.000000000 +0100
-+++ grass-6.4.3/lib/gis/closecell.c	2014-06-08 08:29:43.166390368 +0200
-@@ -352,7 +352,7 @@
- 	     */
- 	    G_quant_round(&fcb->quant);
- 	    if (G_write_quant(fcb->name, fcb->mapset, &fcb->quant) < 0)
--		G_warning(_("unable to write quant file!"));
-+		G_warning("%s", _("unable to write quant file!"));
- 	}
- 	else {
- 	    /* remove cell_misc/name/f_quant */
-@@ -403,7 +403,7 @@
+     FILE *fd;
+-    char msg[100];
      int stat;
  
-     if (fcb->map_type == CELL_TYPE) {
--	G_warning(_("unable to write f_format file for CELL maps"));
-+	G_warning("%s", _("unable to write f_format file for CELL maps"));
+     fd = I_fopen_group_file_old(group, POINT_FILE);
+     if (fd == NULL) {
+-	sprintf(msg,
++	G_warning(
+ 		"unable to open control point (Z) file for group [%s in %s]",
+ 		group, G_mapset());
+-	G_warning(msg);
+ 	G_sleep(4);
  	return 0;
      }
-     format_kv = G_create_key_value();
---- grass-6.4.3/lib/gis/opencell.c.orig	2009-03-07 11:45:23.000000000 +0100
-+++ grass-6.4.3/lib/gis/opencell.c	2014-06-08 10:07:35.232934640 +0200
-@@ -663,7 +663,7 @@
-     tempname = G_tempfile();
-     fd = creat(tempname, 0666);
-     if (fd < 0) {
--	G_warning(_("G__open_raster_new(): no temp files available"));
-+	G_warning("%s", _("G__open_raster_new(): no temp files available"));
- 	G_free(tempname);
- 	G_free(map);
- 	G_free(mapset);
-@@ -733,7 +733,7 @@
- 	}
- 
- 	if (open_mode == OPEN_NEW_RANDOM) {
--	    G_warning(_("Unable to write embedded null values "
-+	    G_warning("%s", _("Unable to write embedded null values "
- 			"for raster map open for random access"));
- 	    if (fcb->map_type == CELL_TYPE)
- 		G_write_zeros(fd,
-@@ -764,7 +764,7 @@
-     tempname = G_tempfile();
-     null_fd = creat(tempname, 0666);
-     if (null_fd < 0) {
--	G_warning(_("G__open_raster_new(): no temp files available"));
-+	G_warning("%s", _("G__open_raster_new(): no temp files available"));
- 	G_free(tempname);
- 	G_free(fcb->name);
- 	G_free(fcb->mapset);
-@@ -938,7 +938,7 @@
- {
-     FP_TYPE_SET = 1;
-     if (map_type != FCELL_TYPE && map_type != DCELL_TYPE) {
--	G_warning(_("G_set_fp_type(): can only be called with FCELL_TYPE or DCELL_TYPE"));
-+	G_warning("%s", _("G_set_fp_type(): can only be called with FCELL_TYPE or DCELL_TYPE"));
- 	return -1;
-     }
-     FP_TYPE = map_type;
-@@ -1176,7 +1176,7 @@
-     struct Quant_table *p;
- 
-     if (fcb->open_mode != OPEN_OLD) {
--	G_warning(_("G_set_quant_rules() can be called only for "
-+	G_warning("%s", _("G_set_quant_rules() can be called only for "
- 		    "raster maps opened for reading"));
- 	return -1;
+@@ -112,9 +110,8 @@ int I_get_con_points(char *group, struct Ortho_Control_Points *cp)
+     stat = I_read_con_points(fd, cp);
+     fclose(fd);
+     if (stat < 0) {
+-	sprintf(msg, "bad format in control point file for group [%s in %s]",
++	G_warning("bad format in control point file for group [%s in %s]",
+ 		group, G_mapset());
+-	G_warning(msg);
+ 	G_sleep(4);
+ 	return 0;
      }
---- grass-6.4.3/lib/gis/seek.c.orig	2013-06-08 11:52:06.000000000 +0200
-+++ grass-6.4.3/lib/gis/seek.c	2014-06-08 10:48:30.582883465 +0200
-@@ -49,12 +49,12 @@
+@@ -124,14 +121,12 @@ int I_get_con_points(char *group, struct Ortho_Control_Points *cp)
+ int I_put_con_points(char *group, struct Ortho_Control_Points *cp)
  {
- #ifdef HAVE_FSEEKO
-     if (fseeko(fp, offset, whence) != 0)
--	G_fatal_error(_("Unable to seek"));
-+	G_fatal_error("%s", _("Unable to seek"));
- #else
-     long loff = (long) offset;
-     if ((off_t) loff != offset)
--	G_fatal_error(_("Seek offset out of range"));
-+	G_fatal_error("%s", _("Seek offset out of range"));
-     if (fseek(fp, loff, whence) != 0)
--	G_fatal_error(_("Unable to seek"));
-+	G_fatal_error("%s", _("Unable to seek"));
- #endif     
- }
---- grass-6.4.3/lib/gis/history.c.orig	2008-11-25 02:31:14.000000000 +0100
-+++ grass-6.4.3/lib/gis/history.c	2014-06-08 11:45:56.506144976 +0200
-@@ -260,7 +260,7 @@
-     cmdlen = strlen(cmdlin);
- 
-     if (hist->edlinecnt > MAXEDLINES - 2) {
--	G_warning(_("Not enough room in history file to record command line."));
-+	G_warning("%s", _("Not enough room in history file to record command line."));
- 	return 1;
-     }
- 
-@@ -270,7 +270,7 @@
-     }
- 
-     if (cmdlen < 70) {		/* ie if it will fit on a single line */
--	sprintf(hist->edhist[hist->edlinecnt], G_recreate_command());
-+	strcpy(hist->edhist[hist->edlinecnt], G_recreate_command());
- 	hist->edlinecnt++;
-     }
-     else {			/* multi-line required */
-@@ -282,7 +282,7 @@
- 	    j += 68;
- 	    hist->edlinecnt++;
- 	    if (hist->edlinecnt > MAXEDLINES - 2) {
--		G_warning(_("Not enough room in history file for command line (truncated)."));
-+		G_warning("%s", _("Not enough room in history file for command line (truncated)."));
- 		return 2;
- 	    }
- 	}
---- grass-6.4.3/lib/gis/null_val.c.orig	2009-03-29 09:47:50.000000000 +0200
-+++ grass-6.4.3/lib/gis/null_val.c	2014-06-08 12:35:42.399416072 +0200
-@@ -88,7 +88,7 @@
- 		break;
- 
- 	    default:
--		G_warning(_("EmbedGivenNulls: wrong data type!"));
-+		G_warning("%s", _("EmbedGivenNulls: wrong data type!"));
- 	    }
- 	}
-     }
-@@ -112,7 +112,7 @@
-     strcpy(errMsg, _("Null values have not been initialized. "));
-     strcat(errMsg, _("G_gisinit() must be called first. "));
-     strcat(errMsg, _("Please advise GRASS developers of this error.\n"));
--    G_fatal_error(errMsg);
-+    G_fatal_error("%s", errMsg);
- 
-     return;
- }
-@@ -220,7 +220,7 @@
- 	break;
- 
-     default:
--	G_warning(_("G_set_null_value: wrong data type!"));
-+	G_warning("%s", _("G_set_null_value: wrong data type!"));
-     }
- 
-     return;
---- grass-6.4.3/lib/gis/put_cellhd.c.orig	2008-11-25 02:31:13.000000000 +0100
-+++ grass-6.4.3/lib/gis/put_cellhd.c	2014-06-08 14:58:10.822571230 +0200
-@@ -21,10 +21,7 @@
-     FILE *fd;
- 
-     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;
-     }
- 
---- grass-6.4.3/lib/gis/quant_rw.c.orig	2008-11-25 02:31:14.000000000 +0100
-+++ grass-6.4.3/lib/gis/quant_rw.c	2014-06-08 15:53:15.159169025 +0200
-@@ -63,16 +63,14 @@
- 
- int G_truncate_fp_map(const char *name, const char *mapset)
- {
--    char buf[300];
-     struct Quant quant;
- 
-     G_quant_init(&quant);
-     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",
-+	G_warning("G_truncate_fp_map: can't write quant rules for map %s",
- 		name);
--	G_warning(buf);
- 	return -1;
-     }
-     return 1;
-@@ -80,16 +78,14 @@
- 
- int G_round_fp_map(const char *name, const char *mapset)
- {
--    char buf[300];
-     struct Quant quant;
- 
-     G_quant_init(&quant);
-     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",
-+	G_warning("G_truncate_fp_map: can't write quant rules for map %s",
- 		name);
--	G_warning(buf);
- 	return -1;
-     }
-     return 1;
-@@ -113,20 +109,17 @@
- int G_quantize_fp_map(const char *name, const char *mapset,
- 		      CELL min, CELL max)
- {
--    char buf[300];
-     DCELL d_min, d_max;
-     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",
-+	G_warning("G_quantize_fp_map: can't read fp range for map %s",
- 		name);
--	G_warning(buf);
- 	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);
-@@ -159,17 +152,15 @@
- int G_quantize_fp_map_range(const char *name, const char *mapset,
- 			    DCELL d_min, DCELL d_max, CELL min, CELL max)
- {
--    char buf[300];
-     struct Quant quant;
- 
-     G_quant_init(&quant);
-     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_warning(
- 		"G_quantize_fp_map_range: can't write quant rules for map %s",
- 		name);
--	G_warning(buf);
- 	return -1;
-     }
-     return 1;
-@@ -200,11 +191,9 @@
- {
-     CELL cell_min, cell_max;
-     DCELL d_min, d_max;
--    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 +201,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;
-     }
- 
---- grass-6.4.3/lib/gis/make_colr.c.orig	2008-11-25 02:31:14.000000000 +0100
-+++ grass-6.4.3/lib/gis/make_colr.c	2014-06-08 18:07:36.062334343 +0200
-@@ -37,8 +37,7 @@
- 	return -1;
-     G_get_fp_range_min_max(&range, &min, &max);
-     if (G_is_d_null_value(&min) || G_is_d_null_value(&max)) {
--	sprintf(buff, _(" The raster map %s@%s is empty"), name, mapset);
--	G_warning(buff);
-+	G_warning(_(" The raster map %s@%s is empty"), name, mapset);
- 	return -1;
-     }
- 
-@@ -49,17 +48,17 @@
- 	    _("\n\nColor table needed for file [%s] in mapset [%s].\n"), name,
- 	    mapset);
- 
--    fprintf(stderr, _("\nPlease identify the type desired:\n"));
--    fprintf(stderr, _("    1:  Random colors\n"));
--    fprintf(stderr, _("    2:  Red, green, and blue color ramps\n"));
--    fprintf(stderr, _("    3:  Color wave\n"));
--    fprintf(stderr, _("    4:  Gray scale\n"));
--    fprintf(stderr, _("    5:  Aspect\n"));
--    fprintf(stderr, _("    6:  Rainbow colors\n"));
--    fprintf(stderr, _("    7:  Red through yellow to green\n"));
--    fprintf(stderr, _("    8:  Green through yellow to red\n"));
--    fprintf(stderr, _("RETURN  quit\n"));
--    fprintf(stderr, "\n> ");
-+    fputs(_("\nPlease identify the type desired:\n"), stderr);
-+    fputs(_("    1:  Random colors\n"), stderr);
-+    fputs(_("    2:  Red, green, and blue color ramps\n"), stderr);
-+    fputs(_("    3:  Color wave\n"), stderr);
-+    fputs(_("    4:  Gray scale\n"), stderr);
-+    fputs(_("    5:  Aspect\n"), stderr);
-+    fputs(_("    6:  Rainbow colors\n"), stderr);
-+    fputs(_("    7:  Red through yellow to green\n"), stderr);
-+    fputs(_("    8:  Green through yellow to red\n"), stderr);
-+    fputs(_("RETURN  quit\n"), stderr);
-+    fputs("\n> ", stderr);
- 
-     for (;;) {
- 	if (!G_gets(buff))
---- grass-6.4.3/lib/gis/auto_mask.c.orig	2008-11-25 02:31:14.000000000 +0100
-+++ grass-6.4.3/lib/gis/auto_mask.c	2014-06-08 18:46:56.845618470 +0200
-@@ -61,7 +61,7 @@
-     G__.mask_fd = G__open_cell_old("MASK", G_mapset());
-     if (G__.mask_fd < 0) {
- 	G__.auto_mask = 0;
--	G_warning(_("Unable to open automatic MASK file"));
-+	G_warning("%s", _("Unable to open automatic MASK file"));
- 	return 0;
-     }
- 
---- grass-6.4.3/lib/gis/get_datum_name.c.orig	2008-11-25 02:31:13.000000000 +0100
-+++ grass-6.4.3/lib/gis/get_datum_name.c	2014-06-08 19:37:45.288888264 +0200
-@@ -50,13 +50,13 @@
- 
-     for (;;) {
- 	do {
--	    fprintf(stderr, _("\nPlease specify datum name\n"));
--	    fprintf(stderr,
--		    _("Enter 'list' for the list of available datums\n"));
--	    fprintf(stderr,
--		    _("or 'custom' if you wish to enter custom parameters\n"));
--	    fprintf(stderr, _("Hit RETURN to cancel request\n"));
--	    fprintf(stderr, ">");
-+	    fputs(_("\nPlease specify datum name\n"), stderr);
-+	    fputs(
-+		    _("Enter 'list' for the list of available datums\n"), stderr);
-+	    fputs(
-+		    _("or 'custom' if you wish to enter custom parameters\n"), stderr);
-+	    fputs(_("Hit RETURN to cancel request\n"), stderr);
-+	    fputs(">", stderr);
- 	} while (!G_gets(answer));
- 	G_strip(answer);
- 
-@@ -66,7 +66,7 @@
- 	if (strcmp(answer, "list") == 0) {
- 	    Tmp_file = G_tempfile();
- 	    if (NULL == (Tmp_fd = fopen(Tmp_file, "w")))
--		G_warning(_("Cannot open temp file"));
-+		G_warning("%s", _("Cannot open temp file"));
- 	    else {
- 		char *pager;
- 
-@@ -94,7 +94,7 @@
- 		break;
- 
- 	    if (G_get_datum_by_name(answer) < 0) {
--		fprintf(stderr, _("\ninvalid datum\n"));
-+		fputs(_("\ninvalid datum\n"), stderr);
- 	    }
- 	    else
- 		break;
-@@ -106,15 +106,15 @@
- 	/* For a custom datum we need to interactively ask for the ellipsoid */
- 	if (G_ask_ellipse_name(ellipse) < 0)
- 	    return -1;
--	sprintf(ellpsname, ellipse);
-+	strcpy(ellpsname, ellipse);
- 	sprintf(datumname, "custom");
-     }
-     else {
- 	/* else can look it up from datum.table */
- 	if ((i = G_get_datum_by_name(answer)) < 0)
- 	    return -1;
--	sprintf(ellpsname, G_datum_ellipsoid(i));
--	sprintf(datumname, G_datum_name(i));
-+	strcpy(ellpsname, G_datum_ellipsoid(i));
-+	strcpy(datumname, G_datum_name(i));
-     }
- 
-     return 1;
---- grass-6.4.3/lib/gis/ask.c.orig	2008-11-25 02:31:14.000000000 +0100
-+++ grass-6.4.3/lib/gis/ask.c	2014-06-08 20:22:29.815498977 +0200
-@@ -421,11 +421,11 @@
- 			_("Enter 'list' for a list of existing %s files\n"),
- 			desc);
- 	    if (lister) {
--		fprintf(stderr, _("Enter 'list -f' for "));
-+		fputs(_("Enter 'list -f' for "), stderr);
- 		if (option && *option)
- 		    fprintf(stderr, _("a list %s"), option);
- 		else
--		    fprintf(stderr, _("an extended list"));
-+		    fputs(_("an extended list"), stderr);
- 		fprintf(stderr, "\n");
- 	    }
- 
-@@ -558,7 +558,7 @@
- 		break;
- 
- 	    default:
--		G_fatal_error(_("ask: can't happen"));
-+		G_fatal_error("%s", _("ask: can't happen"));
- 	    }
- 	}
- 	/*
---- grass-6.4.3/lib/gis/gishelp.c.orig	2008-11-25 02:31:14.000000000 +0100
-+++ grass-6.4.3/lib/gis/gishelp.c	2014-06-08 21:19:52.288760558 +0200
-@@ -42,7 +42,7 @@
-     sprintf(file, "%s/txt/%s/%s", G_getenv("GISBASE"), helpfile, request);
- 
-     if (!access(file, 04)) {
--	fprintf(stderr, _("one moment...\n"));
-+	fputs(_("one moment...\n"), stderr);
- 	G_spawn(getenv("GRASS_PAGER"), getenv("GRASS_PAGER"), file, NULL);
-     }
-     else {
---- grass-6.4.3/lib/gis/quant_io.c.orig	2008-11-25 02:31:13.000000000 +0100
-+++ grass-6.4.3/lib/gis/quant_io.c	2014-06-09 17:59:11.167210690 +0200
-@@ -121,10 +121,9 @@
-     G_quant_free(quant);
- 
-     if (G_raster_map_type(name, mapset) == CELL_TYPE) {
--	sprintf(buf,
-+	G_warning(
- 		"G__quant_import: attempt to open quantization table for CELL_TYPE file [%s] in mapset {%s]",
- 		name, mapset);
--	G_warning(buf);
- 	return -2;
-     }
- 
-@@ -164,9 +163,8 @@
- 	err = "empty";
-     }
- 
--    sprintf(buf,
-+    G_warning(
- 	    _("quantization file [%s] in mapset [%s] %s"), name, mapset, err);
--    G_warning(buf);
- 
-     return 0;
- }
---- grass-6.4.3/lib/gis/reclass.c.orig	2011-03-19 10:52:09.000000000 +0100
-+++ grass-6.4.3/lib/gis/reclass.c	2014-06-09 18:26:30.657176515 +0200
-@@ -235,12 +235,12 @@
-     switch (reclass->type) {
-     case RECLASS_TABLE:
- 	if (reclass->min > reclass->max || reclass->num <= 0) {
--	    G_fatal_error(_("Illegal reclass request"));
-+	    G_fatal_error("%s", _("Illegal reclass request"));
- 	    return -1;
- 	}
- 	break;
-     default:
--	G_fatal_error(_("Illegal reclass type"));
-+	G_fatal_error("%s", _("Illegal reclass type"));
- 	return -1;
-     }
- 
---- grass-6.4.3/lib/gis/sample.c.orig	2008-11-25 02:31:13.000000000 +0100
-+++ grass-6.4.3/lib/gis/sample.c	2014-06-09 19:30:09.097096927 +0200
-@@ -281,7 +281,7 @@
-     if (strcmp(str, "no data") != 0)
- 	sscanf(str, "%lf", &val);
-     else {
--	G_warning(_("\"no data\" label found; setting to zero"));
-+	G_warning("%s", _("\"no data\" label found; setting to zero"));
- 	val = 0.0;
-     }
- 
-@@ -296,5 +296,5 @@
- 	    window->north, window->south, window->east, window->west);
-     G_debug(3, "      \tData point is north=%g east=%g", north, east);
- 
--    G_fatal_error(_("Problem reading raster map"));
-+    G_fatal_error("%s", _("Problem reading raster map"));
- }
---- grass-6.4.3/lib/gis/gisinit.c.orig	2013-03-02 11:52:07.000000000 +0100
-+++ grass-6.4.3/lib/gis/gisinit.c	2014-06-09 21:33:39.050275815 +0200
-@@ -51,7 +51,7 @@
-     G_set_program_name(pgm);
- 
-     if (strcmp(version, GIS_H_VERSION) != 0)
--	G_fatal_error(_("Incompatible library version for module. "
-+	G_fatal_error("%s", _("Incompatible library version for module. "
- 			"You need to rebuild GRASS or untangle multiple installations."));
- 
-     /* Make sure location and mapset are set */
-@@ -87,7 +87,7 @@
- 	return 0;
- 
-     if (strcmp(version, GIS_H_VERSION) != 0)
--	G_fatal_error(_("Incompatible library version for module. "
-+	G_fatal_error("%s", _("Incompatible library version for module. "
- 			"You need to rebuild GRASS or untangle multiple installations."));
- 
-     gisinit();
-@@ -107,7 +107,7 @@
- {
-     if (initialized)
- 	return 1;
--    G_warning(_("System not initialized. Programmer forgot to call G_gisinit()."));
-+    G_warning("%s", _("System not initialized. Programmer forgot to call G_gisinit()."));
-     G_sleep(3);
-     exit(EXIT_FAILURE);
- }
---- grass-6.4.3/lib/gis/spawn.c.orig	2011-09-03 11:52:05.000000000 +0200
-+++ grass-6.4.3/lib/gis/spawn.c	2014-06-09 21:58:46.510244393 +0200
-@@ -653,7 +653,7 @@
- 
-     pid = fork();
-     if (pid < 0) {
--	G_warning(_("Unable to create a new process"));
-+	G_warning("%s", _("Unable to create a new process"));
- 	undo_signals(sp->signals, sp->num_signals, SST_PRE);
- 
- 	return status;
-@@ -676,7 +676,7 @@
- 	do_bindings(sp->bindings, sp->num_bindings);
- 
- 	execvp(command, (char **)sp->args);
--	G_warning(_("Unable to execute command"));
-+	G_warning("%s", _("Unable to execute command"));
- 	_exit(127);
-     }
- 
---- grass-6.4.3/lib/gis/get_projname.c.orig	2008-11-25 02:31:14.000000000 +0100
-+++ grass-6.4.3/lib/gis/get_projname.c	2014-06-10 16:03:36.718887711 +0200
-@@ -35,7 +35,7 @@
-     npr = in_proj_keys->nitems;
-     Tmp_file = G_tempfile();
-     if (NULL == (Tmp_fd = fopen(Tmp_file, "w"))) {
--	G_fatal_error(_("Cannot open temp file"));
-+	G_fatal_error("%s", _("Cannot open temp file"));
-     }
-     for (i = 0; i < npr; i++) {
- 	fprintf(Tmp_fd, "%s -- %s\n", in_proj_keys->key[i],
-@@ -46,11 +46,11 @@
-     for (;;) {
- 
- 	do {
--	    fprintf(stderr, _("\n\nPlease specify projection name\n"));
--	    fprintf(stderr,
--		    _("Enter 'list' for the list of available projections\n"));
--	    fprintf(stderr, _("Hit RETURN to cancel request\n"));
--	    fprintf(stderr, ">");
-+	    fputs(_("\n\nPlease specify projection name\n"), stderr);
-+	    fputs(
-+		    _("Enter 'list' for the list of available projections\n"), stderr);
-+	    fputs(_("Hit RETURN to cancel request\n"), stderr);
-+	    fputs(">", stderr);
- 	} while (!G_gets(answer));
- 
- 	G_strip(answer);
-@@ -71,7 +71,7 @@
- 	else {
- 	    a = G_find_key_value(answer, in_proj_keys);
- 	    if (a == NULL) {
--		fprintf(stderr, _("\ninvalid projection\n"));
-+		fputs(_("\ninvalid projection\n"), stderr);
- 	    }
- 	    else
- 		break;
---- grass-6.4.3/lib/gis/unix_socks.c.orig	2012-03-03 11:52:06.000000000 +0100
-+++ grass-6.4.3/lib/gis/unix_socks.c	2014-06-10 16:34:33.565515675 +0200
-@@ -99,7 +99,7 @@
-     }
- 
-     if ((lock = getenv("GIS_LOCK")) == NULL)
--	G_fatal_error(_("Unable to get GIS_LOCK environment variable value"));
-+	G_fatal_error("%s", _("Unable to get GIS_LOCK environment variable value"));
- 
-     len = strlen(prefix) + strlen(user) + strlen(lock) + 3;
-     path = G_malloc(len);
---- grass-6.4.3/lib/gis/range.c.orig	2008-11-25 02:31:14.000000000 +0100
-+++ grass-6.4.3/lib/gis/range.c	2014-06-10 18:26:09.748709439 +0200
-@@ -141,7 +141,7 @@
- {
-     struct Range range;
-     int fd;
--    char buf[200], xdr_buf[100];
-+    char xdr_buf[100];
-     DCELL dcell1, dcell2;
-     XDR xdr_str;
- 
-@@ -189,8 +189,7 @@
-   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;
- }
- 
-@@ -240,10 +239,9 @@
- 	DCELL dmin, dmax;
- 
- 	if (G_read_quant(name, mapset, &quant) < 0) {
--	    sprintf(buf,
-+	    G_warning(
- 		    "G_read_range(): can't read quant rules for fp map %s@%s",
- 		    name, mapset);
--	    G_warning(buf);
- 	    return -1;
- 	}
- 	if (G_quant_is_truncate(&quant) || G_quant_is_round(&quant)) {
-@@ -305,8 +303,7 @@
-   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;
- }
- 
-@@ -334,10 +331,9 @@
- int G_write_range(const char *name, const struct Range *range)
- {
-     FILE *fd;
--    char buf[200];
- 
-     if (G_raster_map_type(name, G_mapset()) != CELL_TYPE) {
--	sprintf(buf, "G_write_range(): the map is floating point!");
-+	G_warning("G_write_range(): the map is floating point!");
- 	goto error;
-     }
-     fd = G_fopen_new_misc("cell_misc", "range", name);
-@@ -356,9 +352,8 @@
- 
-   error:
-     G_remove_misc("cell_misc", "range", name);	/* remove the old file with this name */
--    sprintf(buf, _("can't write range file for [%s in %s]"),
-+    G_warning(_("can't write range file for [%s in %s]"),
- 	    name, G_mapset());
--    G_warning(buf);
-     return -1;
- }
- 
-@@ -409,9 +404,8 @@
- 
-   error:
-     G_remove(buf, "f_range");	/* remove the old file with this name */
--    sprintf(buf, _("can't write range file for [%s in %s]"),
-+    G_warning(_("can't write range file for [%s in %s]"),
- 	    name, G_mapset());
--    G_warning(buf);
-     return -1;
- }
- 
---- grass-6.4.3/lib/gis/view.c.orig	2008-11-25 02:31:14.000000000 +0100
-+++ grass-6.4.3/lib/gis/view.c	2014-06-10 20:15:33.278572634 +0200
-@@ -463,7 +463,7 @@
- 	if (!Suppress_warn) {
- 	    if (95 > (lap = compare_wind(&(View->vwin), &curwin))) {
- 
--		fprintf(stderr, _("GRASS window when view was saved:\n"));
-+		fputs(_("GRASS window when view was saved:\n"), stderr);
- 		G_format_northing(View->vwin.north, nbuf, G_projection());
- 		fprintf(stderr, "north:   %s\n", nbuf);
- 		G_format_northing(View->vwin.south, nbuf, G_projection());
---- grass-6.4.3/lib/gis/get_ellipse.c.orig	2008-11-25 02:31:14.000000000 +0100
-+++ grass-6.4.3/lib/gis/get_ellipse.c	2014-06-10 20:16:14.578571773 +0200
-@@ -281,7 +281,7 @@
-     if (fd == NULL) {
- 	perror(file);
- 	sprintf(buf, _("Unable to open ellipsoid table file <%s>"), file);
--	fatal ? G_fatal_error(buf) : G_warning(buf);
-+	fatal ? G_fatal_error("%s", buf) : G_warning("%s", buf);
- 	return 0;
-     }
- 
---- grass-6.4.3/lib/gis/system.c.orig	2008-11-25 02:31:13.000000000 +0100
-+++ grass-6.4.3/lib/gis/system.c	2014-06-10 20:16:32.605238063 +0200
-@@ -82,7 +82,7 @@
-     }
- 
-     if (pid < 0) {
--	G_warning(_("Can not create a new process!"));
-+	G_warning("%s", _("Can not create a new process!"));
- 	status = -1;
-     }
-     else {
---- grass-6.4.3/lib/gis/mapset.c.orig	2008-11-25 02:31:14.000000000 +0100
-+++ grass-6.4.3/lib/gis/mapset.c	2014-06-10 20:16:46.681904435 +0200
-@@ -36,7 +36,7 @@
- 
-     m = G__mapset();
-     if (m == NULL)
--	G_fatal_error(_("MAPSET is not set"));
-+	G_fatal_error("%s", _("MAPSET is not set"));
- 
-     if (first)
- 	first = 0;
---- grass-6.4.3/lib/gis/gdal.c.orig	2012-02-04 11:52:07.000000000 +0100
-+++ grass-6.4.3/lib/gis/gdal.c	2014-06-10 20:17:08.445237319 +0200
-@@ -111,7 +111,7 @@
- 	    return;
-     }
- 
--    G_fatal_error(_("Unable to load GDAL library"));
-+    G_fatal_error("%s", _("Unable to load GDAL library"));
- }
- 
- static void init_gdal(void)
---- grass-6.4.3/lib/gis/home.c.orig	2009-05-16 11:52:30.000000000 +0200
-+++ grass-6.4.3/lib/gis/home.c	2014-06-10 20:17:23.165237010 +0200
-@@ -36,7 +36,7 @@
-     if (home)
- 	return home;
- 
--    G_fatal_error(_("unable to determine user's home directory"));
-+    G_fatal_error("%s", _("unable to determine user's home directory"));
-     return NULL;
- }
- 
---- grass-6.4.3/lib/gis/list.c.orig	2013-07-09 21:05:44.000000000 +0200
-+++ grass-6.4.3/lib/gis/list.c	2014-06-10 20:17:51.285236424 +0200
-@@ -129,7 +129,7 @@
-     signal(SIGPIPE, sigpipe);
- #endif
-     if (hit_return && isatty(1)) {
--	fprintf(stderr, _("hit RETURN to continue -->"));
-+	fputs(_("hit RETURN to continue -->"), stderr);
- 	while (getchar() != '\n') ;
-     }
- 
-@@ -251,7 +251,7 @@
- 	break;
- 
-     default:
--	G_fatal_error(_("G_list: Unknown element type"));
-+	G_fatal_error("%s", _("G_list: Unknown element type"));
-     }
- 
-     buf = (char *)G_malloc(strlen(gisbase) + strlen(location)
---- grass-6.4.3/lib/gis/set_window.c.orig	2014-06-10 20:18:23.221902425 +0200
-+++ grass-6.4.3/lib/gis/set_window.c	2014-06-10 20:18:26.311902360 +0200
-@@ -73,7 +73,7 @@
- 		G__.fileinfo[i].cellhd.proj == window->proj)
- 		continue;
- 	    if (i != maskfd) {
--		G_warning(_("G_set_window(): projection/zone differs from that of "
-+		G_warning("%s", _("G_set_window(): projection/zone differs from that of "
- 			   "currently open raster maps"));
- 		return -1;
- 	    }
---- grass-6.4.3/lib/gis/get_ell_name.c.orig	2008-11-25 02:31:13.000000000 +0100
-+++ grass-6.4.3/lib/gis/get_ell_name.c	2014-06-10 20:39:34.461875928 +0200
-@@ -28,7 +28,7 @@
- 
-     Tmp_file = G_tempfile();
-     if (NULL == (Tmp_fd = fopen(Tmp_file, "w"))) {
--	G_fatal_error(_("Cannot open temp file"));
-+	G_fatal_error("%s", _("Cannot open temp file"));
-     }
-     fprintf(Tmp_fd, "sphere\n");
-     for (i = 0; (sph = G_ellipsoid_name(i)); i++) {
-@@ -39,11 +39,11 @@
- 
-     for (;;) {
- 	do {
--	    fprintf(stderr, _("\nPlease specify ellipsoid name\n"));
--	    fprintf(stderr,
--		    _("Enter 'list' for the list of available ellipsoids\n"));
--	    fprintf(stderr, _("Hit RETURN to cancel request\n"));
--	    fprintf(stderr, ">");
-+	    fputs(_("\nPlease specify ellipsoid name\n"), stderr);
-+	    fputs(
-+		    _("Enter 'list' for the list of available ellipsoids\n"), stderr);
-+	    fputs(_("Hit RETURN to cancel request\n"), stderr);
-+	    fputs(">", stderr);
- 	} while (!G_gets(answer));
- 	G_strip(answer);
- 	if (strlen(answer) == 0)
-@@ -64,7 +64,7 @@
- 	    if (strcmp(answer, "sphere") == 0)
- 		break;
- 	    if (G_get_ellipsoid_by_name(answer, &aa, &e2) == 0) {
--		fprintf(stderr, _("\ninvalid ellipsoid\n"));
-+		fputs(_("\ninvalid ellipsoid\n"), stderr);
- 	    }
- 	    else
- 		break;
---- grass-6.4.3/lib/gis/env.c.orig	2008-11-25 02:31:14.000000000 +0100
-+++ grass-6.4.3/lib/gis/env.c	2014-06-10 20:39:55.635208821 +0200
-@@ -239,7 +239,7 @@
- 	    gisrc = getenv("GISRC");
- 
- 	if (!gisrc) {
--	    G_fatal_error(_("GISRC - variable not set"));
-+	    G_fatal_error("%s", _("GISRC - variable not set"));
- 	    return (NULL);
- 	}
- 	strcpy(buf, gisrc);
---- grass-6.4.3/lib/gmath/la.c.orig	2012-12-08 11:52:05.000000000 +0100
-+++ grass-6.4.3/lib/gmath/la.c	2014-05-18 20:10:44.099998101 +0200
-@@ -57,7 +57,7 @@
-     mat_struct *tmp_arry;
- 
-     if (rows < 1 || cols < 1 || ldim < rows) {
--	G_warning(_("Matrix dimensions out of range"));
-+	G_warning("%s", _("Matrix dimensions out of range"));
- 	return NULL;
-     }
- 
-@@ -113,7 +113,7 @@
- int G_matrix_set(mat_struct * A, int rows, int cols, int ldim)
- {
-     if (rows < 1 || cols < 1 || ldim < 0) {
--	G_warning(_("Matrix dimensions out of range"));
-+	G_warning("%s", _("Matrix dimensions out of range"));
- 	return -1;
-     }
- 
-@@ -146,12 +146,12 @@
-     mat_struct *B;
- 
-     if (!A->is_init) {
--	G_warning(_("Matrix is not initialised fully."));
-+	G_warning("%s", _("Matrix is not initialised fully."));
- 	return NULL;
-     }
- 
-     if ((B = G_matrix_init(A->rows, A->cols, A->ldim)) == NULL) {
--	G_warning(_("Unable to allocate space for matrix copy"));
-+	G_warning("%s", _("Unable to allocate space for matrix copy"));
- 	return NULL;
-     }
- 
-@@ -240,13 +240,13 @@
-     int i, j;			/* loop variables */
- 
-     if (c1 == 0) {
--	G_warning(_("First scalar multiplier must be non-zero"));
-+	G_warning("%s", _("First scalar multiplier must be non-zero"));
- 	return NULL;
-     }
- 
-     if (c2 == 0) {
- 	if (!mt1->is_init) {
--	    G_warning(_("One or both input matrices uninitialised"));
-+	    G_warning("%s", _("One or both input matrices uninitialised"));
- 	    return NULL;
- 	}
-     }
-@@ -254,18 +254,18 @@
-     else {
- 
- 	if (!((mt1->is_init) && (mt2->is_init))) {
--	    G_warning(_("One or both input matrices uninitialised"));
-+	    G_warning("%s", _("One or both input matrices uninitialised"));
- 	    return NULL;
- 	}
- 
- 	if (mt1->rows != mt2->rows || mt1->cols != mt2->cols) {
--	    G_warning(_("Matrix order does not match"));
-+	    G_warning("%s", _("Matrix order does not match"));
- 	    return NULL;
- 	}
-     }
- 
-     if ((mt3 = G_matrix_init(mt1->rows, mt1->cols, mt1->ldim)) == NULL) {
--	G_warning(_("Unable to allocate space for matrix sum"));
-+	G_warning("%s", _("Unable to allocate space for matrix sum"));
- 	return NULL;
-     }
- 
-@@ -319,17 +319,17 @@
-     integer1 no_trans = 'n';
- 
-     if (!((mt1->is_init) || (mt2->is_init))) {
--	G_warning(_("One or both input matrices uninitialised"));
-+	G_warning("%s", _("One or both input matrices uninitialised"));
- 	return NULL;
-     }
- 
-     if (mt1->cols != mt2->rows) {
--	G_warning(_("Matrix order does not match"));
-+	G_warning("%s", _("Matrix order does not match"));
- 	return NULL;
-     }
- 
-     if ((mt3 = G_matrix_init(mt1->rows, mt2->cols, mt1->ldim)) == NULL) {
--	G_warning(_("Unable to allocate space for matrix product"));
-+	G_warning("%s", _("Unable to allocate space for matrix product"));
- 	return NULL;
-     }
- 
-@@ -441,29 +441,29 @@
-     mat_struct *wmat, *xmat, *mtx;
- 
-     if (mt1->is_init == 0 || bmat->is_init == 0) {
--	G_warning(_("Input: one or both data matrices uninitialised"));
-+	G_warning("%s", _("Input: one or both data matrices uninitialised"));
- 	return -1;
-     }
- 
-     if (mt1->rows != mt1->cols || mt1->rows < 1) {
--	G_warning(_("Principal matrix is not properly dimensioned"));
-+	G_warning("%s", _("Principal matrix is not properly dimensioned"));
- 	return -1;
-     }
- 
-     if (bmat->cols < 1) {
--	G_warning(_("Input: you must have at least one array to solve"));
-+	G_warning("%s", _("Input: you must have at least one array to solve"));
- 	return -1;
-     }
- 
-     /* Now create solution matrix by copying the original coefficient matrix */
-     if ((xmat = G_matrix_copy(bmat)) == NULL) {
--	G_warning(_("Could not allocate space for solution matrix"));
-+	G_warning("%s", _("Could not allocate space for solution matrix"));
- 	return -1;
-     }
- 
-     /* Create working matrix for the coefficient array */
-     if ((mtx = G_matrix_copy(mt1)) == NULL) {
--	G_warning(_("Could not allocate space for working matrix"));
-+	G_warning("%s", _("Could not allocate space for working matrix"));
- 	return -1;
-     }
- 
-@@ -471,7 +471,7 @@
-        original information 
-      */
-     if ((wmat = G_matrix_copy(bmat)) == NULL) {
--	G_warning(_("Could not allocate space for working matrix"));
-+	G_warning("%s", _("Could not allocate space for working matrix"));
- 	return -1;
-     }
- 
-@@ -524,18 +524,18 @@
- 	    G_matrix_free(mtx);
- 
- 	    if (res_info > 0) {
--		G_warning(_("Matrix (or submatrix is singular). Solution undetermined"));
-+		G_warning("%s", _("Matrix (or submatrix is singular). Solution undetermined"));
- 		return 1;
- 	    }
- 	    else if (res_info < 0) {
--		G_warning(_("Problem in LA routine."));
-+		G_warning("%s", _("Problem in LA routine."));
- 		return -1;
- 	    }
- 	    break;
- 	}
-     default:
- 	{
--	    G_warning(_("Procedure not yet available for selected matrix type"));
-+	    G_warning("%s", _("Procedure not yet available for selected matrix type"));
- 	    return -1;
- 	}
-     }				/* end switch */
-@@ -569,12 +569,12 @@
-     int i, j, k;		/* loop */
- 
-     if (mt->rows != mt->cols) {
--	G_warning(_("Matrix is not square. Cannot determine inverse"));
-+	G_warning("%s", _("Matrix is not square. Cannot determine inverse"));
- 	return NULL;
-     }
- 
-     if ((mt0 = G_matrix_init(mt->rows, mt->rows, mt->ldim)) == NULL) {
--	G_warning(_("Unable to allocate space for matrix"));
-+	G_warning("%s", _("Unable to allocate space for matrix"));
- 	return NULL;
-     }
- 
-@@ -591,12 +591,12 @@
- 
-     /* Solve system */
-     if ((k = G_matrix_LU_solve(mt, &res, mt0, NONSYM)) == 1) {
--	G_warning(_("Matrix is singular"));
-+	G_warning("%s", _("Matrix is singular"));
- 	G_matrix_free(mt0);
- 	return NULL;
-     }
-     else if (k < 0) {
--	G_warning(_("Problem in LA procedure."));
-+	G_warning("%s", _("Problem in LA procedure."));
- 	G_matrix_free(mt0);
- 	return NULL;
-     }
-@@ -684,12 +684,12 @@
- int G_matrix_set_element(mat_struct * mt, int rowval, int colval, double val)
- {
-     if (!mt->is_init) {
--	G_warning(_("Element array has not been allocated"));
-+	G_warning("%s", _("Element array has not been allocated"));
- 	return -1;
-     }
- 
-     if (rowval >= mt->rows || colval >= mt->cols || rowval < 0 || colval < 0) {
--	G_warning(_("Specified element is outside array bounds"));
-+	G_warning("%s", _("Specified element is outside array bounds"));
- 	return -1;
-     }
- 
-@@ -743,17 +743,17 @@
-     vec_struct *vc1;
- 
-     if (col < 0 || col >= mt->cols) {
--	G_warning(_("Specified matrix column index is outside range"));
-+	G_warning("%s", _("Specified matrix column index is outside range"));
- 	return NULL;
-     }
- 
-     if (!mt->is_init) {
--	G_warning(_("Matrix is not initialised"));
-+	G_warning("%s", _("Matrix is not initialised"));
- 	return NULL;
-     }
- 
-     if ((vc1 = G_vector_init(mt->rows, mt->ldim, CVEC)) == NULL) {
--	G_warning(_("Could not allocate space for vector structure"));
-+	G_warning("%s", _("Could not allocate space for vector structure"));
- 	return NULL;
-     }
- 
-@@ -784,17 +784,17 @@
-     vec_struct *vc1;
- 
-     if (row < 0 || row >= mt->cols) {
--	G_warning(_("Specified matrix row index is outside range"));
-+	G_warning("%s", _("Specified matrix row index is outside range"));
- 	return NULL;
-     }
- 
-     if (!mt->is_init) {
--	G_warning(_("Matrix is not initialised"));
-+	G_warning("%s", _("Matrix is not initialised"));
- 	return NULL;
-     }
- 
-     if ((vc1 = G_vector_init(mt->cols, mt->ldim, RVEC)) == NULL) {
--	G_warning(_("Could not allocate space for vector structure"));
-+	G_warning("%s", _("Could not allocate space for vector structure"));
- 	return NULL;
-     }
- 
-@@ -824,12 +824,12 @@
- int G_matvect_extract_vector(mat_struct * mt, vtype vt, int indx)
- {
-     if (vt == RVEC && indx >= mt->rows) {
--	G_warning(_("Specified row index is outside range"));
-+	G_warning("%s", _("Specified row index is outside range"));
- 	return -1;
-     }
- 
-     else if (vt == CVEC && indx >= mt->cols) {
--	G_warning(_("Specified column index is outside range"));
-+	G_warning("%s", _("Specified column index is outside range"));
- 	return -1;
-     }
- 
-@@ -849,7 +849,7 @@
- 
-     default:
- 	{
--	    G_warning(_("Unknown vector type."));
-+	    G_warning("%s", _("Unknown vector type."));
- 	    return -1;
- 	}
- 
-@@ -974,34 +974,34 @@
-     int i;
- 
-     if (!out->is_init) {
--	G_warning(_("Output vector is uninitialized"));
-+	G_warning("%s", _("Output vector is uninitialized"));
- 	return NULL;
-     }
- 
-     if (v1->type != v2->type) {
--	G_warning(_("Vectors are not of the same type"));
-+	G_warning("%s", _("Vectors are not of the same type"));
- 	return NULL;
-     }
- 
-     if (v1->type != out->type) {
--	G_warning(_("Output vector is of incorrect type"));
-+	G_warning("%s", _("Output vector is of incorrect type"));
- 	return NULL;
-     }
- 
-     if (v1->type == MATRIX_) {
--	G_warning(_("Matrices not allowed"));
-+	G_warning("%s", _("Matrices not allowed"));
- 	return NULL;
-     }
- 
-     if ((v1->type == ROWVEC_ && v1->cols != v2->cols) ||
- 	(v1->type == COLVEC_ && v1->rows != v2->rows)) {
--	G_warning(_("Vectors have differing dimensions"));
-+	G_warning("%s", _("Vectors have differing dimensions"));
- 	return NULL;
-     }
- 
-     if ((v1->type == ROWVEC_ && v1->cols != out->cols) ||
- 	(v1->type == COLVEC_ && v1->rows != out->rows)) {
--	G_warning(_("Output vector has incorrect dimension"));
-+	G_warning("%s", _("Output vector has incorrect dimension"));
- 	return NULL;
-     }
- 
-@@ -1047,12 +1047,12 @@
- {
-     if ((cells < 1) || (vt == RVEC && ldim < 1)
- 	|| (vt == CVEC && ldim < cells) || ldim < 0) {
--	G_warning(_("Vector dimensions out of range"));
-+	G_warning("%s", _("Vector dimensions out of range"));
- 	return -1;
-     }
- 
-     if ((vt == RVEC && vindx >= A->cols) || (vt == CVEC && vindx >= A->rows)) {
--	G_warning(_("Row/column out of range"));
-+	G_warning("%s", _("Row/column out of range"));
- 	return -1;
-     }
- 
-@@ -1102,7 +1102,7 @@
-     doublereal *startpt;
- 
-     if (!vc->is_init)
--	G_fatal_error(_("Matrix is not initialised"));
-+	G_fatal_error("%s", _("Matrix is not initialised"));
- 
-     if (vc->type == ROWVEC_) {
- 	Nval = (integer) vc->cols;
-@@ -1154,7 +1154,7 @@
-     int ncells, incr;
- 
-     if (!vc->is_init)
--	G_fatal_error(_("Matrix is not initialised"));
-+	G_fatal_error("%s", _("Matrix is not initialised"));
- 
-     if (vc->type == ROWVEC_) {
- 	ncells = (integer) vc->cols;
-@@ -1229,7 +1229,7 @@
-     int i;
- 
-     if (!vc->is_init) {
--	G_warning(_("Matrix is not initialised"));
-+	G_warning("%s", _("Matrix is not initialised"));
- 	return 0.0 / 0.0;	/* NaN */
-     }
- 
-@@ -1267,7 +1267,7 @@
-     int cnt;
- 
-     if (!vc1->is_init) {
--	G_warning(_("Vector structure is not initialised"));
-+	G_warning("%s", _("Vector structure is not initialised"));
- 	return NULL;
-     }
- 
-@@ -1388,7 +1388,7 @@
-     }
- 
-     if (sscanf(buff, "Matrix: %d by %d", &rows, &cols) != 2) {
--	G_warning(_("Input format error"));
-+	G_warning("%s", _("Input format error"));
- 	return -1;
-     }
- 
-@@ -1396,12 +1396,12 @@
- 
-     for (i = 0; i < rows; i++) {
- 	if (fscanf(fp, "row%d:", &row) != 1 || row != i) {
--	    G_warning(_("Input format error"));
-+	    G_warning("%s", _("Input format error"));
- 	    return -1;
- 	}
- 	for (j = 0; j < cols; j++) {
- 	    if (fscanf(fp, "%lf:", &val) != 1) {
--		G_warning(_("Input format error"));
-+		G_warning("%s", _("Input format error"));
- 		return -1;
- 	    }
- 
---- grass-6.4.3/lib/gmath/del2g.c.orig	2008-11-25 02:31:17.000000000 +0100
-+++ grass-6.4.3/lib/gmath/del2g.c	2014-06-03 17:58:09.694683711 +0200
-@@ -47,23 +47,23 @@
- {
-     double *g[2];		/* the filter function */
- 
--    G_message(_("    taking FFT of image..."));
-+    G_message("%s", _("    taking FFT of image..."));
-     fft(FORWARD, img, size * size, size, size);
- 
-     g[0] = (double *)G_malloc(size * size * sizeof(double));
-     g[1] = (double *)G_malloc(size * size * sizeof(double));
- 
--    G_message(_("    computing del**2 g..."));
-+    G_message("%s", _("    computing del**2 g..."));
-     getg(w, g, size);
- 
--    G_message(_("    taking FFT of del**2 g..."));
-+    G_message("%s", _("    taking FFT of del**2 g..."));
-     fft(FORWARD, g, size * size, size, size);
- 
-     /* multiply the complex vectors img and g, each of length size*size */
--    G_message(_("    multiplying transforms..."));
-+    G_message("%s", _("    multiplying transforms..."));
-     mult(img, size * size, g, size * size, img, size * size);
- 
--    G_message(_("    taking inverse FFT..."));
-+    G_message("%s", _("    taking inverse FFT..."));
-     fft(INVERSE, img, size * size, size, size);
- 
-     return 0;
---- grass-6.4.3/lib/driver/command.c.orig	2008-11-25 02:31:03.000000000 +0100
-+++ grass-6.4.3/lib/driver/command.c	2014-05-18 20:11:13.783330836 +0200
-@@ -544,7 +544,7 @@
- 	    continue;
- 	while (*c == COMMAND_ESC)
- 	    if (read1(c) != 0) {
--		G_warning(_("Monitor: get_command: Premature EOF"));
-+		G_warning("%s", _("Monitor: get_command: Premature EOF"));
- 		return 1;	/* EOF */
- 	    }
- 	if (*c)
---- grass-6.4.3/lib/raster/io_sock.c.orig	2008-11-25 02:31:03.000000000 +0100
-+++ grass-6.4.3/lib/raster/io_sock.c	2014-05-18 20:44:59.189955276 +0200
-@@ -60,8 +60,8 @@
- 
-     if (!name) {
- 	if (verbose) {
--	    G_warning(_("No graphics monitor has been selected for output."));
--	    G_warning(_("Please run \"d.mon\" to select a graphics monitor."));
-+	    G_warning("%s", _("No graphics monitor has been selected for output."));
-+	    G_warning("%s", _("Please run \"d.mon\" to select a graphics monitor."));
- 	}
- 	return (NO_MON);
-     }
-@@ -95,21 +95,21 @@
-     case ECONNREFUSED:
-     case EADDRINUSE:
- 	if (verbose) {
--	    G_warning(_("Socket is already in use or not accepting connections."));
--	    G_warning(_("Use d.mon to select a monitor"));
-+	    G_warning("%s", _("Socket is already in use or not accepting connections."));
-+	    G_warning("%s", _("Use d.mon to select a monitor"));
- 	}
- 	return (NO_RUN);
-     case EBADF:
-     case ENOTSOCK:
- 	if (verbose) {
--	    G_warning(_("Trying to connect to something not a socket."));
--	    G_warning(_("Probably program error."));
-+	    G_warning("%s", _("Trying to connect to something not a socket."));
-+	    G_warning("%s", _("Probably program error."));
- 	}
- 	return (NO_RUN);
-     case ETIMEDOUT:
- 	if (verbose) {
--	    G_warning(_("Connect attempt timed out."));
--	    G_warning(_("Probably an error with the server."));
-+	    G_warning("%s", _("Connect attempt timed out."));
-+	    G_warning("%s", _("Probably an error with the server."));
- 	}
- 	return (NO_RUN);
-     default:
-@@ -117,7 +117,7 @@
-     }
- 
-     if (verbose)
--	G_warning(_("Connection failed."));
-+	G_warning("%s", _("Connection failed."));
- 
-     /* We couldn't connect... */
-     return (NO_RUN);
---- grass-6.4.3/lib/raster/rem_io.c.orig	2009-06-06 11:52:39.000000000 +0200
-+++ grass-6.4.3/lib/raster/rem_io.c	2014-06-03 18:56:58.717943488 +0200
-@@ -164,7 +164,7 @@
- 	    len += 1000;
- 	    buf = G_realloc(buf, len);
- 	    if (!buf) {
--		fprintf(stderr, _("Unable to allocate memory\n"));
-+		fputs(_("Unable to allocate memory\n"), stderr);
- 		exit(1);
- 	    }
- 	}
-@@ -214,7 +214,7 @@
- 	    if (read(_rfd, &c, (size_t) 1) != 1) {
- 		if (no_mon)
- 		    break;	/* from while */
--		fprintf(stderr, _("ERROR - eof from graphics monitor.\n"));
-+		fputs(_("ERROR - eof from graphics monitor.\n"), stderr);
- 		exit(-1);
- 	    }
- 	    if (c == 0)
-@@ -236,7 +236,7 @@
- 	fprintf(stderr,
- 		_("Warning - no response from graphics monitor <%s>.\n"),
- 		name);
--	fprintf(stderr, _("Check to see if the mouse is still active.\n"));
-+	fputs(_("Check to see if the mouse is still active.\n"), stderr);
- #ifndef __MINGW32__
- 	signal(SIGALRM, dead);
- #endif
---- grass-6.4.3/lib/db/dbmi_base/default_name.c.orig	2010-03-13 11:52:46.000000000 +0100
-+++ grass-6.4.3/lib/db/dbmi_base/default_name.c	2014-05-18 20:45:39.236621115 +0200
-@@ -124,7 +124,7 @@
- 	db_set_connection(&connection);
-     }
-     else
--	G_fatal_error(_("Programmer error"));
-+	G_fatal_error("%s", _("Programmer error"));
- 
-     return DB_OK;
- }
---- grass-6.4.3/lib/db/dbmi_base/login.c.orig	2010-01-16 11:52:48.000000000 +0100
-+++ grass-6.4.3/lib/db/dbmi_base/login.c	2014-06-03 18:57:20.664609698 +0200
-@@ -95,7 +95,7 @@
- 		ret, dr, db, usr, pwd);
- 
- 	if (ret < 2) {
--	    G_warning(_("Login file corrupted"));
-+	    G_warning("%s", _("Login file corrupted"));
- 	    continue;
- 	}
- 
---- grass-6.4.3/lib/db/dbmi_client/delete_tab.c.orig	2008-11-25 02:31:02.000000000 +0100
-+++ grass-6.4.3/lib/db/dbmi_client/delete_tab.c	2014-05-18 20:46:11.883287099 +0200
-@@ -56,7 +56,7 @@
-     /* TODO test if the tables exist */
-     db_set_string(&sql, "drop table ");
-     db_append_string(&sql, tblname);
--    G_debug(3, db_get_string(&sql));
-+    G_debug(3, "%s", db_get_string(&sql));
- 
-     if (db_execute_immediate(driver, &sql) != DB_OK) {
- 	G_warning(_("Unable to drop table: '%s'"),
---- grass-6.4.3/lib/db/dbmi_client/copy_tab.c.orig	2011-05-21 11:52:09.000000000 +0200
-+++ grass-6.4.3/lib/db/dbmi_client/copy_tab.c	2014-06-03 19:03:35.834601878 +0200
-@@ -193,7 +193,7 @@
- 	db_append_string(&sql, " where 0 = 1");	/* to get no data */
-     }
- 
--    G_debug(3, db_get_string(&sql));
-+    G_debug(3, "%s", db_get_string(&sql));
-     if (db_open_select_cursor(from_driver, &sql, &cursor, DB_SEQUENTIAL) !=
- 	DB_OK) {
- 	G_warning(_("Unable to open select cursor: '%s'"),
-@@ -270,7 +270,7 @@
- 	}
-     }
- 
--    G_debug(3, db_get_string(&sql));
-+    G_debug(3, "%s", db_get_string(&sql));
-     if (db_open_select_cursor(from_driver, &sql, &cursor, DB_SEQUENTIAL) !=
- 	DB_OK) {
- 	G_warning(_("Unable to open select cursor: '%s'"),
-@@ -361,7 +361,7 @@
- 	if (!select)
- 	    continue;
- 	db_append_string(&sql, ")");
--	G_debug(3, db_get_string(&sql));
-+	G_debug(3, "%s", db_get_string(&sql));
- 	if (db_execute_immediate(to_driver, &sql) != DB_OK) {
- 	    G_warning("Unable to insert new record: '%s'",
- 		      db_get_string(&sql));
---- grass-6.4.3/lib/db/dbmi_client/select.c.orig	2012-09-08 11:52:08.000000000 +0200
-+++ grass-6.4.3/lib/db/dbmi_client/select.c	2014-06-05 21:09:22.834176216 +0200
-@@ -116,7 +116,7 @@
-     G_debug(3, "db_select_int()");
- 
-     if (col == NULL || strlen(col) == 0) {
--	G_warning(_("Missing column name"));
-+	G_warning("%s", _("Missing column name"));
- 	return -1;
-     }
- 
-@@ -213,12 +213,12 @@
-     dbTable *table;
- 
-     if (key == NULL || strlen(key) == 0) {
--	G_warning(_("Missing key column name"));
-+	G_warning("%s", _("Missing key column name"));
- 	return -1;
-     }
- 
-     if (col == NULL || strlen(col) == 0) {
--	G_warning(_("Missing column name"));
-+	G_warning("%s", _("Missing column name"));
- 	return -1;
-     }
- 
-@@ -280,12 +280,12 @@
-     G_debug(3, "db_select_CatValArray ()");
- 
-     if (key == NULL || strlen(key) == 0) {
--	G_warning(_("Missing key column name"));
-+	G_warning("%s", _("Missing key column name"));
- 	return -1;
-     }
- 
-     if (col == NULL || strlen(col) == 0) {
--	G_warning(_("Missing column name"));
-+	G_warning("%s", _("Missing column name"));
- 	return -1;
-     }
-     db_init_string(&stmt);
-@@ -330,7 +330,7 @@
-     G_debug(3, "  key type = %d", type);
- 
-     if (type != DB_C_TYPE_INT) {
--	G_warning(_("Key column type is not integer"));
-+	G_warning("%s", _("Key column type is not integer"));
- 	db_close_cursor(&cursor);
- 	db_free_string(&stmt);
- 	return -1;
---- grass-6.4.3/lib/proj/get_proj.c.orig	2009-09-05 11:53:13.000000000 +0200
-+++ grass-6.4.3/lib/proj/get_proj.c	2014-05-18 20:48:09.059951319 +0200
-@@ -135,7 +135,7 @@
- 	     * key needs to be passed on. */
- 	}
- 	else if (strcmp(in_proj_keys->value[i], "defined") == 0)
--	    sprintf(buffa, in_proj_keys->key[i]);
-+	    strcpy(buffa, in_proj_keys->key[i]);
- 
- 	else
- 	    sprintf(buffa, "%s=%s",
-@@ -192,7 +192,7 @@
- 
-     /* If datum parameters are present in the PROJ_INFO keys, pass them on */
-     if (GPJ__get_datum_params(in_proj_keys, &datum, &params) == 2) {
--	sprintf(buffa, params);
-+	strcpy(buffa, params);
- 	alloc_options(buffa);
- 	G_free(params);
- 
-@@ -202,7 +202,7 @@
-     else if (datum != NULL) {
- 
- 	if (GPJ_get_default_datum_params_by_name(datum, &params) > 0) {
--	    sprintf(buffa, params);
-+	    strcpy(buffa, params);
- 	    alloc_options(buffa);
- 	    returnval = 2;
- 	    G_free(params);
-@@ -234,7 +234,7 @@
- 	    sprintf(err, " +%s", opt_in[i]);
- 	    strcat(buffa, err);
- 	}
--	G_warning(buffa);
-+	G_warning("%s", buffa);
- 	G_warning(_("The error message: %s"), pj_strerrno(pj_errno));
- 	return -1;
-     }
-@@ -249,7 +249,7 @@
- 
-     nsize = strlen(buffa);
-     opt_in[nopt1++] = (char *)G_malloc(nsize + 1);
--    sprintf(opt_in[nopt1 - 1], buffa);
-+    strcpy(opt_in[nopt1 - 1], buffa);
-     return;
- }
- 
-@@ -274,7 +274,7 @@
- 	sprintf(buffa, "proj=latlong ellps=WGS84");
- 	nsize = strlen(buffa);
- 	opt_in[nopt] = (char *)G_malloc(nsize + 1);
--	sprintf(opt_in[nopt++], buffa);
-+	strcpy(opt_in[nopt++], buffa);
-     }
-     else {
- 	/* Parameters have been provided; parse through them but don't
-@@ -293,7 +293,7 @@
- 		if (nsize = strlen(s), nsize) {
- 		    if (nopt >= MAX_PARGS) {
- 			fprintf(stderr, "nopt = %d, s=%s\n", nopt, str);
--			G_fatal_error(_("Option input overflowed option table"));
-+			G_fatal_error("%s", _("Option input overflowed option table"));
- 		    }
- 
- 		    if (strncmp("zone=", s, 5) == 0) {
-@@ -306,14 +306,14 @@
- 			if (strcmp(info->proj, "ll") == 0)
- 			    sprintf(buffa, "proj=latlong");
- 			else
--			    sprintf(buffa, s);
-+			    strcpy(buffa, s);
- 		    }
- 		    else {
--			sprintf(buffa, s);
-+			strcpy(buffa, s);
- 		    }
- 		    nsize = strlen(buffa);
- 		    opt_in[nopt] = (char *)G_malloc(nsize + 1);
--		    sprintf(opt_in[nopt++], buffa);
-+		    strcpy(opt_in[nopt++], buffa);
- 		}
- 	    }
- 	    s = 0;
---- grass-6.4.3/lib/proj/convert.c.orig	2012-09-22 11:52:12.000000000 +0200
-+++ grass-6.4.3/lib/proj/convert.c	2014-06-03 20:10:21.741185052 +0200
-@@ -107,12 +107,12 @@
-     hSRS = OSRNewSpatialReference(NULL);
- 
-     if (pj_get_kv(&pjinfo, proj_info, proj_units) < 0) {
--	G_warning(_("Unable parse GRASS PROJ_INFO file"));
-+	G_warning("%s", _("Unable parse GRASS PROJ_INFO file"));
- 	return NULL;
-     }
- 
-     if ((proj4 = pj_get_def(pjinfo.pj, 0)) == NULL) {
--	G_warning(_("Unable get PROJ.4-style parameter string"));
-+	G_warning("%s", _("Unable get PROJ.4-style parameter string"));
- 	return NULL;
-     }
- 
-@@ -387,7 +387,7 @@
- 	G_set_key_value("proj", pszProj, *projinfo);
-     }
-     else
--	G_warning(_("No projection name! Projection parameters likely to be meaningless."));
-+	G_warning("%s", _("No projection name! Projection parameters likely to be meaningless."));
- 
- 
-     /* -------------------------------------------------------------------- */
---- grass-6.4.3/lib/proj/datum.c.orig	2012-10-20 11:52:06.000000000 +0200
-+++ grass-6.4.3/lib/proj/datum.c	2014-06-05 21:11:03.100840793 +0200
-@@ -247,7 +247,7 @@
-     if (G_strcasecmp(datumname, "custom") != 0) {
- 	Tmp_file = G_tempfile();
- 	if (NULL == (Tmp_fd = fopen(Tmp_file, "w"))) {
--	    G_warning(_("Unable to open temporary file"));
-+	    G_warning("%s", _("Unable to open temporary file"));
- 	}
- 
- 	fprintf(Tmp_fd, "Number\tDetails\t\n---\n");
-@@ -320,7 +320,7 @@
- 	    /* Search through the linked list to find the parameter string
- 	     * that corresponds to the number entered */
- 	    if (list->count == currenttransform)
--		G_asprintf(params, list->params);
-+		G_asprintf(params, "%s", list->params);
- 
- 	    /* Continue to end of list even after we find it, to free all
- 	     * the memory used */
-@@ -341,13 +341,13 @@
- 			("\ttowgs84=dx,dy,dz,rx,ry,rz,m\t(7-parameter transformation)\n"));
- 		fprintf(stderr,
- 			("\tnadgrids=alaska\t(Tables-based grid-shifting transformation)\n"));
--		fprintf(stderr, _("Hit RETURN to cancel request\n"));
-+		fputs(_("Hit RETURN to cancel request\n"), stderr);
- 		fprintf(stderr, ">");
- 	    } while (!G_gets(answer));
- 	    G_strip(answer);
- 	    if (strlen(answer) == 0)
- 		return -1;
--	    G_asprintf(params, answer);
-+	    G_asprintf(params, "%s", answer);
- 	    sprintf(buff,
- 		    "Parameters to be used are:\n\"%s\"\nIs this correct?",
- 		    *params);
---- grass-6.4.3/lib/proj/ellipse.c.orig	2008-11-29 11:45:17.000000000 +0100
-+++ grass-6.4.3/lib/proj/ellipse.c	2014-06-07 22:15:36.510491701 +0200
-@@ -95,11 +95,11 @@
- 	    else if ((str3 = G_find_key_value("b", proj_keys)) != NULL)
- 		G_asprintf(&str1, "b=%s", str3);
- 	    else
--		G_fatal_error(_("No secondary ellipsoid descriptor "
-+		G_fatal_error("%s", _("No secondary ellipsoid descriptor "
- 				"(rf, es or b) in file"));
- 
- 	    if (get_a_e2_rf(str, str1, a, e2, rf) == 0)
--		G_fatal_error(_("Invalid ellipsoid descriptors "
-+		G_fatal_error("%s", _("Invalid ellipsoid descriptors "
- 				"(a, rf, es or b) in file"));
- 	    return 1;
- 	}
-@@ -112,7 +112,7 @@
- 		return 0;
- 	    }
- 	    else {
--		G_fatal_error(_("No ellipsoid info given in file"));
-+		G_fatal_error("%s", _("No ellipsoid info given in file"));
- 	    }
- 	}
-     }
---- grass-6.4.3/lib/vector/diglib/file.c.orig	2009-05-23 11:53:10.000000000 +0200
-+++ grass-6.4.3/lib/vector/diglib/file.c	2014-05-18 20:48:39.883284014 +0200
-@@ -154,7 +154,7 @@
- size_t dig_fwrite(void *ptr, size_t size, size_t nmemb, GVFILE *file)
- {
-     if (file->loaded) {	/* using memory */
--	G_fatal_error(_("Writing to file loaded to memory not supported"));
-+	G_fatal_error("%s", _("Writing to file loaded to memory not supported"));
-     }
- 
-     return fwrite(ptr, size, nmemb, file->file);
-@@ -197,7 +197,7 @@
-     G_debug(2, "dig_file_load ()");
- 
-     if (file->file == NULL) {
--	G_warning(_("Unable to load file to memory, file not open"));
-+	G_warning("%s", _("Unable to load file to memory, file not open"));
- 	return -1;
-     }
- 
-@@ -212,7 +212,7 @@
- 	else if (G_strcasecmp(cmode, "AUTO") == 0)
- 	    mode = GV_MEMORY_AUTO;
- 	else
--	    G_warning(_("Vector memory mode not supported, using 'AUTO'"));
-+	    G_warning("%s", _("Vector memory mode not supported, using 'AUTO'"));
-     }
-     G_debug(2, "  requested mode = %d", mode);
- 
---- grass-6.4.3/lib/vector/diglib/plus.c.orig	2009-04-25 11:52:31.000000000 +0200
-+++ grass-6.4.3/lib/vector/diglib/plus.c	2014-06-03 20:31:35.081158510 +0200
-@@ -285,7 +285,7 @@
- 
-     /* Nodes */
-     if (dig_fseek(plus, Plus->Node_offset, 0) == -1)
--	G_fatal_error(_("Unable read topology for nodes"));
-+	G_fatal_error("%s", _("Unable read topology for nodes"));
- 
-     dig_alloc_nodes(Plus, Plus->n_nodes);
-     for (i = 1; i <= Plus->n_nodes; i++) {
-@@ -295,7 +295,7 @@
- 
-     /* Lines */
-     if (dig_fseek(plus, Plus->Line_offset, 0) == -1)
--	G_fatal_error(_("Unable read topology for lines"));
-+	G_fatal_error("%s", _("Unable read topology for lines"));
- 
-     dig_alloc_lines(Plus, Plus->n_lines);
-     for (i = 1; i <= Plus->n_lines; i++) {
-@@ -305,7 +305,7 @@
- 
-     /* Areas */
-     if (dig_fseek(plus, Plus->Area_offset, 0) == -1)
--	G_fatal_error(_("Unable to read topo for areas"));
-+	G_fatal_error("%s", _("Unable to read topo for areas"));
- 
-     dig_alloc_areas(Plus, Plus->n_areas);
-     for (i = 1; i <= Plus->n_areas; i++) {
-@@ -315,7 +315,7 @@
- 
-     /* Isles */
-     if (dig_fseek(plus, Plus->Isle_offset, 0) == -1)
--	G_fatal_error(_("Unable to read topology for isles"));
-+	G_fatal_error("%s", _("Unable to read topology for isles"));
- 
-     dig_alloc_isles(Plus, Plus->n_isles);
-     for (i = 1; i <= Plus->n_isles; i++) {
-@@ -342,33 +342,33 @@
-     dig_rewind(fp_plus);
- 
-     if (dig_Wr_Plus_head(fp_plus, Plus) < 0) {
--	G_warning(_("Unable to write head to plus file"));
-+	G_warning("%s", _("Unable to write head to plus file"));
- 	return (-1);
-     }
- 
-     if (dig_write_nodes(fp_plus, Plus) < 0) {
--	G_warning(_("Unable to write nodes to plus file"));
-+	G_warning("%s", _("Unable to write nodes to plus file"));
- 	return (-1);
-     }
- 
-     if (dig_write_lines(fp_plus, Plus) < 0) {
--	G_warning(_("Unable to write lines to plus file"));
-+	G_warning("%s", _("Unable to write lines to plus file"));
- 	return (-1);
-     }
- 
-     if (dig_write_areas(fp_plus, Plus) < 0) {
--	G_warning(_("Unable to write areas to plus file"));
-+	G_warning("%s", _("Unable to write areas to plus file"));
- 	return (-1);
-     }
- 
-     if (dig_write_isles(fp_plus, Plus) < 0) {
--	G_warning(_("Unable to write isles to plus file"));
-+	G_warning("%s", _("Unable to write isles to plus file"));
- 	return (-1);
-     }
- 
-     dig_rewind(fp_plus);
-     if (dig_Wr_Plus_head(fp_plus, Plus) < 0) {
--	G_warning(_("Unable to write head to plus file"));
-+	G_warning("%s", _("Unable to write head to plus file"));
- 	return (-1);
-     }
- 
---- grass-6.4.3/lib/vector/diglib/plus_area.c.orig	2011-06-11 11:52:07.000000000 +0200
-+++ grass-6.4.3/lib/vector/diglib/plus_area.c	2014-06-05 21:11:27.164173625 +0200
-@@ -296,7 +296,7 @@
- 
-     Area = plus->Area[area];
-     if (Area == NULL)
--	G_fatal_error(_("Attempt to delete isle from dead area"));
-+	G_fatal_error("%s", _("Attempt to delete isle from dead area"));
- 
-     mv = 0;
-     for (i = 0; i < Area->n_isles; i++) {
-@@ -351,7 +351,7 @@
-     Area = plus->Area[area];
- 
-     if (Area == NULL) {
--	G_warning(_("Attempt to delete dead area"));
-+	G_warning("%s", _("Attempt to delete dead area"));
- 	return 0;
-     }
- 
---- grass-6.4.3/lib/vector/diglib/spindex.c.orig	2008-11-25 02:31:04.000000000 +0100
-+++ grass-6.4.3/lib/vector/diglib/spindex.c	2014-06-07 22:15:52.310491374 +0200
-@@ -311,7 +311,7 @@
-     Area = Plus->Area[area];
- 
-     if (Area == NULL) {
--	G_fatal_error(_("Attempt to delete sidx for dead area"));
-+	G_fatal_error("%s", _("Attempt to delete sidx for dead area"));
-     }
- 
-     rect.boundary[0] = Area->W;
---- grass-6.4.3/lib/vector/Vlib/sindex.c.orig	2009-02-21 11:45:17.000000000 +0100
-+++ grass-6.4.3/lib/vector/Vlib/sindex.c	2014-05-18 20:56:53.723273715 +0200
-@@ -124,7 +124,7 @@
- int Vect_build_spatial_index(struct Map_info *Map)
- {
-     if (Map->level < 2) {
--	G_fatal_error(_("Unable to build spatial index from topology, "
-+	G_fatal_error("%s", _("Unable to build spatial index from topology, "
- 			"vector map is not opened at topo level 2"));
-     }
-     if (!(Map->plus.Spidx_built)) {
-@@ -165,7 +165,7 @@
- 
- 	Node = plus->Node[i];
- 	if (!Node)
--	    G_fatal_error(_("BUG (Vect_build_sidx_from_topo): node does not exist"));
-+	    G_fatal_error("%s", _("BUG (Vect_build_sidx_from_topo): node does not exist"));
- 
- 	dig_spidx_add_node(plus, i, Node->x, Node->y, Node->z);
-     }
-@@ -177,7 +177,7 @@
- 
- 	Line = plus->Line[i];
- 	if (!Line)
--	    G_fatal_error(_("BUG (Vect_build_sidx_from_topo): line does not exist"));
-+	    G_fatal_error("%s", _("BUG (Vect_build_sidx_from_topo): line does not exist"));
- 
- 	box.N = Line->N;
- 	box.S = Line->S;
-@@ -196,7 +196,7 @@
- 
- 	Area = plus->Area[i];
- 	if (!Area)
--	    G_fatal_error(_("BUG (Vect_build_sidx_from_topo): area does not exist"));
-+	    G_fatal_error("%s", _("BUG (Vect_build_sidx_from_topo): area does not exist"));
- 
- 	box.N = Area->N;
- 	box.S = Area->S;
-@@ -215,7 +215,7 @@
- 
- 	Isle = plus->Isle[i];
- 	if (!Isle)
--	    G_fatal_error(_("BUG (Vect_build_sidx_from_topo): isle does not exist"));
-+	    G_fatal_error("%s", _("BUG (Vect_build_sidx_from_topo): isle does not exist"));
- 
- 	box.N = Isle->N;
- 	box.S = Isle->S;
---- grass-6.4.3/lib/vector/Vlib/build_ogr.c.orig	2008-11-25 02:31:05.000000000 +0100
-+++ grass-6.4.3/lib/vector/Vlib/build_ogr.c	2014-06-03 20:39:59.871147991 +0200
-@@ -330,7 +330,7 @@
-     OGRGeometryH hGeom;
- 
-     if (build != GV_BUILD_ALL)
--	G_fatal_error(_("Partial build for OGR is not supported"));
-+	G_fatal_error("%s", _("Partial build for OGR is not supported"));
- 
-     /* TODO move this init to better place (Vect_open_ ?), because in theory build may be reused on level2 */
-     Map->fInfo.ogr.offset = NULL;
-@@ -339,14 +339,14 @@
- 
-     /* test layer capabilities */
-     if (!OGR_L_TestCapability(Map->fInfo.ogr.layer, OLCRandomRead)) {
--	G_warning(_("Random read is not supported by OGR for this layer, cannot build support"));
-+	G_warning("%s", _("Random read is not supported by OGR for this layer, cannot build support"));
- 	return 0;
-     }
- 
-     init_parts(&parts);
- 
-     /* Note: Do not use OGR_L_GetFeatureCount (it may scan all features)!!! */
--    G_verbose_message(_("Feature: "));
-+    G_verbose_message("%s", _("Feature: "));
- 
-     OGR_L_ResetReading(Map->fInfo.ogr.layer);
-     count = iFeature = 0;
-@@ -365,7 +365,7 @@
- 
- 	FID = (int)OGR_F_GetFID(hFeature);
- 	if (FID == OGRNullFID) {
--	    G_warning(_("OGR feature without ID ignored"));
-+	    G_warning("%s", _("OGR feature without ID ignored"));
- 	    OGR_F_Destroy(hFeature);
- 	    continue;
- 	}
---- grass-6.4.3/lib/vector/Vlib/remove_areas.c.orig	2012-10-27 11:52:09.000000000 +0200
-+++ grass-6.4.3/lib/vector/Vlib/remove_areas.c	2014-06-05 21:11:39.454173369 +0200
-@@ -93,7 +93,7 @@
- 	    line = List->value[i];
- 
- 	    if (!Vect_line_alive(Map, abs(line)))	/* Should not happen */
--		G_fatal_error(_("Area is composed of dead boundary"));
-+		G_fatal_error("%s", _("Area is composed of dead boundary"));
- 
- 	    Vect_get_line_areas(Map, abs(line), &left, &right);
- 	    if (line > 0)
---- grass-6.4.3/lib/vector/Vlib/net.c.orig	2013-07-09 21:05:44.000000000 +0200
-+++ grass-6.4.3/lib/vector/Vlib/net.c	2014-06-07 22:16:43.640490303 +0200
-@@ -119,7 +119,7 @@
- 	    ltype, afield, nfield);
-     G_debug(1, "    afcol = %s, abcol = %s, ncol = %s", afcol, abcol, ncol);
- 
--    G_message(_("Building graph..."));
-+    G_message("%s", _("Building graph..."));
- 
-     Map->graph_line_type = ltype;
- 
-@@ -161,20 +161,20 @@
- 		      opaqueset);
- 
-     if (gr == NULL)
--	G_fatal_error(_("Unable to build network graph"));
-+	G_fatal_error("%s", _("Unable to build network graph"));
- 
-     db_init_handle(&handle);
-     db_init_string(&stmt);
- 
-     if (abcol != NULL && afcol == NULL)
--	G_fatal_error(_("Forward costs column not specified"));
-+	G_fatal_error("%s", _("Forward costs column not specified"));
- 
-     /* --- Add arcs --- */
-     /* Open db connection */
-     if (afcol != NULL) {
- 	/* Get field info */
- 	if (afield < 1)
--	    G_fatal_error(_("Arc field < 1"));
-+	    G_fatal_error("%s", _("Arc field < 1"));
- 	Fi = Vect_get_field(Map, afield);
- 	if (Fi == NULL)
- 	    G_fatal_error(_("Database connection not defined for layer %d"),
-@@ -224,7 +224,7 @@
- 
-     skipped = 0;
- 
--    G_message(_("Registering arcs..."));
-+    G_message("%s", _("Registering arcs..."));
- 
-     for (i = 1; i <= nlines; i++) {
- 	G_percent(i, nlines, 1);	/* must be before any continue */
-@@ -320,7 +320,7 @@
- 			   (dglInt32_t) bcost, (dglInt32_t) - i);
- 	    Map->edge_bcosts[i] = bdcost;
- 	    if (ret < 0)
--		G_fatal_error(_("Cannot add network arc"));
-+		G_fatal_error("%s", _("Cannot add network arc"));
- 	}
-     }
- 
-@@ -344,7 +344,7 @@
- 	if (nfield < 1)
- 	    G_fatal_error("Node field < 1");
- 
--	G_message(_("Setting node costs..."));
-+	G_message("%s", _("Setting node costs..."));
- 
- 	Fi = Vect_get_field(Map, nfield);
- 	if (Fi == NULL)
-@@ -427,16 +427,16 @@
- 	db_CatValArray_free(&fvarr);
-     }
- 
--    G_message(_("Flattening the graph..."));
-+    G_message("%s", _("Flattening the graph..."));
-     ret = dglFlatten(gr);
-     if (ret < 0)
--	G_fatal_error(_("GngFlatten error"));
-+	G_fatal_error("%s", _("GngFlatten error"));
- 
-     /* init SP cache */
-     /* disable to debug dglib cache */
-     dglInitializeSPCache(gr, &(Map->spCache));
- 
--    G_message(_("Graph was built"));
-+    G_message("%s", _("Graph was built"));
- 
-     return 0;
- }
-@@ -600,7 +600,7 @@
- 		Map->edge_bcosts[line]);
-     }
-     else {
--	G_fatal_error(_("Wrong line direction in Vect_net_get_line_cost()"));
-+	G_fatal_error("%s", _("Wrong line direction in Vect_net_get_line_cost()"));
-     }
- 
-     return 1;
---- grass-6.4.3/lib/vector/Vlib/area.c.orig	2008-11-25 02:31:05.000000000 +0100
-+++ grass-6.4.3/lib/vector/Vlib/area.c	2014-06-08 08:30:14.713056377 +0200
-@@ -50,7 +50,7 @@
-     Area = Plus->Area[area];
- 
-     if (Area == NULL) {		/* dead area */
--	G_warning(_("Attempt to read points of nonexistent area"));
-+	G_warning("%s", _("Attempt to read points of nonexistent area"));
- 	return -1;		/* error , because we should not read dead areas */
-     }
- 
---- grass-6.4.3/lib/vector/Vlib/open_ogr.c.orig	2012-12-01 11:52:05.000000000 +0100
-+++ grass-6.4.3/lib/vector/Vlib/open_ogr.c	2014-06-08 10:08:12.776267196 +0200
-@@ -51,7 +51,7 @@
-     OGRwkbGeometryType Ogr_geom_type;
-     
-     if (update) {
--	G_fatal_error(_("OGR format cannot be updated"));
-+	G_fatal_error("%s", _("OGR format cannot be updated"));
- 	return -1;
-     }
- 
---- grass-6.4.3/lib/vector/Vlib/cindex.c.orig	2013-04-20 11:52:15.000000000 +0200
-+++ grass-6.4.3/lib/vector/Vlib/cindex.c	2014-06-08 10:49:55.882881687 +0200
-@@ -28,7 +28,7 @@
- static void check_status(struct Map_info *Map)
- {
-     if (!Map->plus.cidx_up_to_date)
--	G_fatal_error(_("Category index is not up to date"));
-+	G_fatal_error("%s", _("Category index is not up to date"));
- }
- 
- /*!
-@@ -58,7 +58,7 @@
-     check_status(Map);
- 
-     if (index >= Map->plus.n_cidx)
--	G_fatal_error(_("Invalid layer index (index >= number of layers)"));
-+	G_fatal_error("%s", _("Invalid layer index (index >= number of layers)"));
- 
-     return (Map->plus.cidx[index].field);
- }
-@@ -104,7 +104,7 @@
-     check_status(Map);
- 
-     if (index < 0 || index >= Map->plus.n_cidx)
--	G_fatal_error(_("Invalid layer index (index < 0 or index >= number of layers)"));
-+	G_fatal_error("%s", _("Invalid layer index (index < 0 or index >= number of layers)"));
- 
-     return (Map->plus.cidx[index].n_ucats);
- }
-@@ -122,7 +122,7 @@
- {
-     check_status(Map);
-     if (index >= Map->plus.n_cidx)
--	G_fatal_error(_("Invalid layer index (index >= number of layers)"));
-+	G_fatal_error("%s", _("Invalid layer index (index >= number of layers)"));
- 
-     return (Map->plus.cidx[index].n_cats);
- }
-@@ -140,7 +140,7 @@
- {
-     check_status(Map);
-     if (field_index >= Map->plus.n_cidx)
--	G_fatal_error(_("Invalid layer index (index >= number of layers)"));
-+	G_fatal_error("%s", _("Invalid layer index (index >= number of layers)"));
- 
-     return (Map->plus.cidx[field_index].n_types);
- }
-@@ -163,7 +163,7 @@
- {
-     check_status(Map);
-     if (field_index >= Map->plus.n_cidx)
--	G_fatal_error(_("Invalid layer index (index >= number of layers)"));
-+	G_fatal_error("%s", _("Invalid layer index (index >= number of layers)"));
- 
-     *type = Map->plus.cidx[field_index].type[type_index][0];
-     *count = Map->plus.cidx[field_index].type[type_index][1];
-@@ -229,7 +229,7 @@
- 
-     if (field_index >= Map->plus.n_cidx || field_index < 0 ||
- 	cat_index >= Map->plus.cidx[field_index].n_cats)
--	G_fatal_error(_("Layer or category index out of range"));
-+	G_fatal_error("%s", _("Layer or category index out of range"));
- 
-     *cat = Map->plus.cidx[field_index].cat[cat_index][0];
-     *type = Map->plus.cidx[field_index].cat[cat_index][1];
-@@ -280,7 +280,7 @@
-     *type = *id = 0;
- 
-     if (field_index >= Map->plus.n_cidx)
--	G_fatal_error(_("Layer index out of range"));
-+	G_fatal_error("%s", _("Layer index out of range"));
- 
-     if (start_index < 0)
- 	start_index = 0;
---- grass-6.4.3/lib/vector/Vlib/hist.c.orig	2008-11-25 02:31:05.000000000 +0100
-+++ grass-6.4.3/lib/vector/Vlib/hist.c	2014-06-08 11:46:30.799477593 +0200
-@@ -64,7 +64,7 @@
-     int ret;
- 
-     G_debug(5, "Vect_hist_write()");
--    ret = fprintf(Map->hist_fp, str);
-+    ret = fprintf(Map->hist_fp, "%s", str);
-     fflush(Map->hist_fp);
- 
-     return (ret);
---- grass-6.4.3/lib/vector/Vlib/cats.c.orig	2012-08-25 11:52:04.000000000 +0200
-+++ grass-6.4.3/lib/vector/Vlib/cats.c	2014-06-08 12:36:57.609414505 +0200
-@@ -44,7 +44,7 @@
-     struct line_cats *p;
- 
-     if (NULL == (p = Vect__new_cats_struct()))
--	G_fatal_error(_("Vect_new_cats_struct(): Out of memory"));
-+	G_fatal_error("%s", _("Vect_new_cats_struct(): Out of memory"));
- 
-     return p;
- }
---- grass-6.4.3/lib/vector/Vlib/open.c.orig	2008-11-25 02:31:05.000000000 +0100
-+++ grass-6.4.3/lib/vector/Vlib/open.c	2014-06-08 15:06:15.125894469 +0200
-@@ -60,10 +60,10 @@
- {
-     switch (ferror) {
-     case GV_FATAL_EXIT:
--	G_fatal_error(errmsg);
-+	G_fatal_error("%s", errmsg);
- 	break;
-     case GV_FATAL_PRINT:
--	G_warning(errmsg);
-+	G_warning("%s", errmsg);
- 	break;
-     case GV_FATAL_RETURN:
- 	break;
-@@ -176,7 +176,7 @@
-     Map->gisdbase = G_store(G_gisdbase());
- 
-     if (update && (0 != strcmp(Map->mapset, G_mapset()))) {
--	G_warning(_("Vector map which is not in the current mapset cannot be opened for update"));
-+	G_warning("%s", _("Vector map which is not in the current mapset cannot be opened for update"));
- 	return -1;
-     }
- 
-@@ -211,7 +211,7 @@
- 		_("Unable to open vector map <%s> on level %d. "
- 		  "Try to rebuild vector topology by v.build."),
- 		Vect_get_full_name(Map), level_request);
--	G_warning(_("Unable to read head file"));
-+	G_warning("%s", _("Unable to read head file"));
-     }
- 
-     G_debug(1, "Level request = %d", level_request);
-@@ -537,8 +537,7 @@
- 
-     /* check for [A-Za-z][A-Za-z0-9_]* in name */
-     if (Vect_legal_filename(name) < 0) {
--	sprintf(errmsg, _("Vector map name is not SQL compliant"));
--	fatal_error(ferror, errmsg);
-+	fatal_error(ferror, _("Vector map name is not SQL compliant"));
- 	return (-1);
-     }
- 
-@@ -728,7 +727,7 @@
-     /* do checks */
-     err = 0;
-     if (CInfo.size != Plus->coor_size) {
--	G_warning(_("Size of 'coor' file differs from value saved in topology file"));
-+	G_warning("%s", _("Size of 'coor' file differs from value saved in topology file"));
- 	err = 1;
-     }
-     /* Do not check mtime because mtime is changed by copy */
---- grass-6.4.3/lib/vector/Vlib/build_nat.c.orig	2010-11-13 11:52:06.000000000 +0100
-+++ grass-6.4.3/lib/vector/Vlib/build_nat.c	2014-06-08 16:08:51.295816179 +0200
-@@ -90,7 +90,7 @@
- 	area = dig_add_area(plus, n_lines, lines);
- 	if (area == -1) {	/* error */
- 	    Vect_close(Map);
--	    G_fatal_error(_("Unable to add area (map closed, topo saved)"));
-+	    G_fatal_error("%s", _("Unable to add area (map closed, topo saved)"));
- 	}
- 	G_debug(3, "  -> area %d", area);
- 	return area;
-@@ -99,7 +99,7 @@
- 	isle = dig_add_isle(plus, n_lines, lines);
- 	if (isle == -1) {	/* error */
- 	    Vect_close(Map);
--	    G_fatal_error(_("Unable to add isle (map closed, topo saved)"));
-+	    G_fatal_error("%s", _("Unable to add isle (map closed, topo saved)"));
- 	}
- 	G_debug(3, "  -> isle %d", isle);
- 	return -isle;
-@@ -109,7 +109,7 @@
- 	 *        so that may be found and cleaned by some utility
- 	 *  Note: it would be useful for vertical closed polygons, but such would be added twice
- 	 *        as area */
--	G_warning(_("Area of size = 0.0 ignored"));
-+	G_warning("%s", _("Area of size = 0.0 ignored"));
-     }
-     return 0;
- }
-@@ -145,7 +145,7 @@
-     plus = &(Map->plus);
- 
-     if (plus->Isle[isle] == NULL) {
--	G_warning(_("Request to find area outside nonexistent isle"));
-+	G_warning("%s", _("Request to find area outside nonexistent isle"));
- 	return 0;
-     }
- 
-@@ -513,7 +513,7 @@
- 
- 	/* register lines, create nodes */
- 	Vect_rewind(Map);
--	G_message(_("Registering primitives..."));
-+	G_message("%s", _("Registering primitives..."));
- 	i = 1;
- 	npoints = 0;
- 	while (1) {
-@@ -522,7 +522,7 @@
- 
- 	    /* Note: check for dead lines is not needed, because they are skipped by V1_read_next_line_nat() */
- 	    if (type == -1) {
--		G_warning(_("Unable to read vector map"));
-+		G_warning("%s", _("Unable to read vector map"));
- 		return 0;
- 	    }
- 	    else if (type == -2) {
-@@ -578,7 +578,7 @@
-     if (plus->built < GV_BUILD_AREAS) {
- 	/* Build areas */
- 	/* Go through all bundaries and try to build area for both sides */
--	G_important_message(_("Building areas..."));
-+	G_important_message("%s", _("Building areas..."));
- 	for (i = 1; i <= plus->n_lines; i++) {
- 	    G_percent(i, plus->n_lines, 1);
- 
-@@ -611,7 +611,7 @@
- 
-     /* Attach isles to areas */
-     if (plus->built < GV_BUILD_ATTACH_ISLES) {
--	G_important_message(_("Attaching islands..."));
-+	G_important_message("%s", _("Attaching islands..."));
- 	for (i = 1; i <= plus->n_isles; i++) {
- 	    G_percent(i, plus->n_isles, 1);
- 	    Vect_attach_isle(Map, i);
-@@ -626,7 +626,7 @@
-     if (plus->built < GV_BUILD_CENTROIDS) {
- 	int nlines;
- 
--	G_important_message(_("Attaching centroids..."));
-+	G_important_message("%s", _("Attaching centroids..."));
- 
- 	nlines = Vect_get_num_lines(Map);
- 	for (line = 1; line <= nlines; line++) {
---- grass-6.4.3/lib/vector/Vlib/buffer2.c.orig	2011-04-23 11:52:12.000000000 +0200
-+++ grass-6.4.3/lib/vector/Vlib/buffer2.c	2014-06-08 18:14:32.325659000 +0200
-@@ -361,7 +361,7 @@
-     if ((np == 0) || (np == 1))
- 	return;
-     if ((x[0] != x[np - 1]) || (y[0] != y[np - 1])) {
--	G_fatal_error(_("Line is not looped"));
-+	G_fatal_error("%s", _("Line is not looped"));
- 	return;
-     }
- 
-@@ -595,7 +595,7 @@
- 	    break;
- 	if (opt_side == 1) {
- 	    if (vert->edges[opt_j]->visited_right) {
--		G_warning(_("Next edge was visited but it is not the first one !!! breaking loop"));
-+		G_warning("%s", _("Next edge was visited but it is not the first one !!! breaking loop"));
- 		G_debug(4,
- 			"ec: v0=%d, v=%d, eside=%d, edge->v1=%d, edge->v2=%d",
- 			v, (edge->v1 == v) ? (edge->v2) : (edge->v1),
-@@ -606,7 +606,7 @@
- 	}
- 	else {
- 	    if (vert->edges[opt_j]->visited_left) {
--		G_warning(_("Next edge was visited but it is not the first one !!! breaking loop"));
-+		G_warning("%s", _("Next edge was visited but it is not the first one !!! breaking loop"));
- 		G_debug(4,
- 			"ec: v0=%d, v=%d, eside=%d, edge->v1=%d, edge->v2=%d",
- 			v, (edge->v1 == v) ? (edge->v2) : (edge->v1),
-@@ -654,7 +654,7 @@
-     G_debug(3, "extract_outer_contour()");
- 
-     if (side != 0) {
--	G_fatal_error(_("side != 0 feature not implemented"));
-+	G_fatal_error("%s", _("side != 0 feature not implemented"));
- 	return;
-     }
- 
-@@ -896,13 +896,13 @@
- 
- 	    dig_find_area_poly(cPoints, &area_size);
- 	    if (area_size == 0) {
--		G_warning(_("zero area size"));
-+		G_warning("%s", _("zero area size"));
- 		check_poly = 0;
- 	    }
- 	    if (cPoints->x[0] != cPoints->x[cPoints->n_points - 1] ||
- 		cPoints->y[0] != cPoints->y[cPoints->n_points - 1]) {
- 
--		G_warning(_("Line was not closed"));
-+		G_warning("%s", _("Line was not closed"));
- 		check_poly = 0;
- 	    }
- 
-@@ -915,7 +915,7 @@
- 		    }
- 		}
- 		else {
--		    G_warning(_("Vect_get_point_in_poly() failed"));
-+		    G_warning("%s", _("Vect_get_point_in_poly() failed"));
- 		}
- 	    }
- 	}
-@@ -943,13 +943,13 @@
- 
- 		dig_find_area_poly(cPoints, &area_size);
- 		if (area_size == 0) {
--		    G_warning(_("zero area size"));
-+		    G_warning("%s", _("zero area size"));
- 		    check_poly = 0;
- 		}
- 		if (cPoints->x[0] != cPoints->x[cPoints->n_points - 1] ||
- 		    cPoints->y[0] != cPoints->y[cPoints->n_points - 1]) {
- 
--		    G_warning(_("Line was not closed"));
-+		    G_warning("%s", _("Line was not closed"));
- 		    check_poly = 0;
- 		}
- 
-@@ -966,7 +966,7 @@
- 			}
- 		    }
- 		    else {
--			G_warning(_("Vect_get_point_in_poly() failed"));
-+			G_warning("%s", _("Vect_get_point_in_poly() failed"));
- 		    }
- 		}
- 	    }
---- grass-6.4.3/lib/vector/Vlib/build.c.orig	2010-10-23 11:52:06.000000000 +0200
-+++ grass-6.4.3/lib/vector/Vlib/build.c	2014-06-08 18:48:59.472282583 +0200
-@@ -138,7 +138,7 @@
-     }
- 
-     if (build > GV_BUILD_NONE) {
--	G_verbose_message(_("Topology was built"));
-+	G_verbose_message("%s", _("Topology was built"));
-     }
- 
-     Map->level = LEVEL_2;
-@@ -223,8 +223,8 @@
- 
-     }
-     else if (build > GV_BUILD_NONE) {
--	G_message(_("Number of areas: -"));
--	G_message(_("Number of isles: -"));
-+	G_message("%s", _("Number of areas: -"));
-+	G_message("%s", _("Number of isles: -"));
-     }
-     return 1;
- }
-@@ -261,7 +261,7 @@
-     dig_init_portable(&(plus->port), dig__byte_order_out());
- 
-     if (0 > dig_write_plus_file(&fp, plus)) {
--	G_warning(_("Error writing out topo file"));
-+	G_warning("%s", _("Error writing out topo file"));
- 	return 0;
-     }
- 
-@@ -412,7 +412,7 @@
-     dig_init_portable(&(plus->spidx_port), dig__byte_order_out());
- 
-     if (0 > dig_write_spidx(&fp, plus)) {
--	G_warning(_("Error writing out spatial index file"));
-+	G_warning("%s", _("Error writing out spatial index file"));
- 	return 0;
-     }
- 
---- grass-6.4.3/lib/vector/Vlib/graph.c.orig	2008-11-25 02:31:05.000000000 +0100
-+++ grass-6.4.3/lib/vector/Vlib/graph.c	2014-06-08 19:38:13.865554335 +0200
-@@ -107,7 +107,7 @@
- 
-     ret = dglFlatten(graph);
-     if (ret < 0)
--	G_fatal_error(_("GngFlatten error"));
-+	G_fatal_error("%s", _("GngFlatten error"));
- }
- 
- /*!
-@@ -140,7 +140,7 @@
- 	dglAddEdge(graph, (dglInt32_t) from, (dglInt32_t) to, dglcosts,
- 		   (dglInt32_t) id);
-     if (ret < 0)
--	G_fatal_error(_("Unable to add network arc"));
-+	G_fatal_error("%s", _("Unable to add network arc"));
- }
- 
- /*!
---- grass-6.4.3/lib/vector/Vlib/field.c.orig	2011-03-05 11:52:08.000000000 +0100
-+++ grass-6.4.3/lib/vector/Vlib/field.c	2014-06-08 20:23:13.888831392 +0200
-@@ -90,24 +90,24 @@
-     int ret;
- 
-     if (number == 0) {
--	G_warning(_("Layer number must be 1 or greater"));
-+	G_warning("%s", _("Layer number must be 1 or greater"));
- 	return -1;
-     }
- 
-     if (Map->mode != GV_MODE_WRITE && Map->mode != GV_MODE_RW) {
--	G_warning(_("Unable to add database link, map is not opened in WRITE mode"));
-+	G_warning("%s", _("Unable to add database link, map is not opened in WRITE mode"));
- 	return -1;
-     }
- 
-     ret = Vect_add_dblink(Map->dblnk, number, name, table, key, db, driver);
-     if (ret == -1) {
--	G_warning(_("Unable to add database link"));
-+	G_warning("%s", _("Unable to add database link"));
- 	return -1;
-     }
-     /* write it immediately otherwise it is lost if module crashes */
-     ret = Vect_write_dblinks(Map);
-     if (ret == -1) {
--	G_warning(_("Unable to write database links"));
-+	G_warning("%s", _("Unable to write database links"));
- 	return -1;
-     }
-     return 0;
-@@ -152,7 +152,7 @@
-     /* write it immediately otherwise it is lost if module crashes */
-     ret = Vect_write_dblinks(Map);
-     if (ret == -1) {
--	G_warning(_("Unable to write database links"));
-+	G_warning("%s", _("Unable to write database links"));
- 	return -1;
-     }
- 
-@@ -306,10 +306,10 @@
-     /* they must be a matched pair, so if one is set but not the other
-        then give up and let the user figure it out */
-     else if (!connection.driverName) {
--	G_fatal_error(_("Default driver is not set"));
-+	G_fatal_error("%s", _("Default driver is not set"));
-     }
-     else if (!connection.databaseName) {
--	G_fatal_error(_("Default database is not set"));
-+	G_fatal_error("%s", _("Default database is not set"));
-     }
- 
-     drv = connection.driverName;
-@@ -801,7 +801,7 @@
- void Vect_set_db_updated(struct Map_info *Map)
- {
-     if (strcmp(Map->mapset, G_mapset()) != 0) {
--	G_fatal_error(_("Bug: attempt to update map which is not in current mapset"));
-+	G_fatal_error("%s", _("Bug: attempt to update map which is not in current mapset"));
-     }
- 
-     Vect_write_dblinks(Map);
---- grass-6.4.3/lib/vector/Vlib/write_nat.c.orig	2008-11-25 02:31:05.000000000 +0100
-+++ grass-6.4.3/lib/vector/Vlib/write_nat.c	2014-06-08 21:20:10.248760184 +0200
-@@ -637,7 +637,7 @@
- 	Line = Map->plus.Line[line];
- 
- 	if (Line == NULL)
--	    G_fatal_error(_("Attempt to delete dead feature"));
-+	    G_fatal_error("%s", _("Attempt to delete dead feature"));
- 	type = Line->type;
-     }
- 
-@@ -882,7 +882,7 @@
- 	Line = Map->plus.Line[line];
- 
- 	if (Line != NULL)
--	    G_fatal_error(_("Attempt to restore alive feature"));
-+	    G_fatal_error("%s", _("Attempt to restore alive feature"));
-     }
- 
-     if (!points) {
---- grass-6.4.3/lib/vector/Vlib/write.c.orig	2011-02-05 11:52:09.000000000 +0100
-+++ grass-6.4.3/lib/vector/Vlib/write.c	2014-06-09 17:59:48.780543237 +0200
-@@ -132,7 +132,7 @@
- 	    Map->name, Map->format, Map->level);
- 
-     if (!VECT_OPEN(Map))
--	G_fatal_error(_("Unable to write feature, vector map is not opened"));
-+	G_fatal_error("%s", _("Unable to write feature, vector map is not opened"));
- 
-     dig_line_reset_updated(&(Map->plus));
-     dig_node_reset_updated(&(Map->plus));
-@@ -145,7 +145,7 @@
- 						      cats);
- 
-     if (offset == -1)
--	G_fatal_error(_("Unable to write feature (negative offset)"));
-+	G_fatal_error("%s", _("Unable to write feature (negative offset)"));
- 
-     return offset;
- }
-@@ -178,7 +178,7 @@
-     G_debug(3, "Vect_rewrite_line(): name = %s, line = %d", Map->name, line);
- 
-     if (!VECT_OPEN(Map))
--	G_fatal_error(_("Unable to rewrite feature, vector map is not opened"));
-+	G_fatal_error("%s", _("Unable to rewrite feature, vector map is not opened"));
- 
-     dig_line_reset_updated(&(Map->plus));
-     dig_node_reset_updated(&(Map->plus));
---- grass-6.4.3/lib/vector/Vlib/line.c.orig	2012-07-14 11:52:05.000000000 +0200
-+++ grass-6.4.3/lib/vector/Vlib/line.c	2014-06-09 18:26:50.190509441 +0200
-@@ -526,7 +526,7 @@
-     G_debug(3, "  -> seg1 = %d seg2 = %d", seg1, seg2);
- 
-     if (seg1 == 0 || seg2 == 0) {
--	G_warning(_("Segment outside line, no segment created"));
-+	G_warning("%s", _("Segment outside line, no segment created"));
- 	return 0;
-     }
- 
---- grass-6.4.3/lib/vector/Vlib/snap.c.orig	2012-12-08 11:52:05.000000000 +0100
-+++ grass-6.4.3/lib/vector/Vlib/snap.c	2014-06-09 19:30:30.180429821 +0200
-@@ -145,7 +145,7 @@
-     nvertices = 0;
-     XPnts = NULL;
- 
--    G_verbose_message(_("Snap vertices Pass 1: select points"));
-+    G_verbose_message("%s", _("Snap vertices Pass 1: select points"));
-     for (line_idx = 0; line_idx < List_lines->n_values; line_idx++) {
- 	int v;
- 
-@@ -199,7 +199,7 @@
-     /* Go through all registered points and if not yet marked mark it as anchor and assign this anchor
-      * to all not yet marked points in threshold */
- 
--    G_verbose_message(_("Snap vertices Pass 2: assign anchor vertices"));
-+    G_verbose_message("%s", _("Snap vertices Pass 2: assign anchor vertices"));
- 
-     nanchors = ntosnap = 0;
-     for (point = 1; point <= npoints; point++) {
-@@ -268,7 +268,7 @@
- 
-     nsnapped = ncreated = 0;
- 
--    G_verbose_message(_("Snap vertices Pass 3: snap to assigned points"));
-+    G_verbose_message("%s", _("Snap vertices Pass 3: snap to assigned points"));
- 
-     for (line_idx = 0; line_idx < List_lines->n_values; line_idx++) {
- 	int v, spoint, anchor;
---- grass-6.4.3/lib/vector/Vlib/intersect.c.orig	2013-04-20 11:52:15.000000000 +0200
-+++ grass-6.4.3/lib/vector/Vlib/intersect.c	2014-06-09 21:34:55.590274220 +0200
-@@ -124,7 +124,7 @@
- 
-     /* TODO 3D */
-     if (with_z && first_3d) {
--	G_warning(_("3D not supported by Vect_segment_intersection()"));
-+	G_warning("%s", _("3D not supported by Vect_segment_intersection()"));
- 	first_3d = 0;
-     }
- 
-@@ -310,7 +310,7 @@
- 	}
- 
- 	/* should not be reached */
--	G_warning(_("Vect_segment_intersection() ERROR (collinear vertical segments)"));
-+	G_warning("%s", _("Vect_segment_intersection() ERROR (collinear vertical segments)"));
- 	G_warning("a");
- 	G_warning("%.15g %.15g", ax1, ay1);
- 	G_warning("%.15g %.15g", ax2, ay2);
-@@ -404,7 +404,7 @@
-     }
- 
-     /* should not be reached */
--    G_warning(_("Vect_segment_intersection() ERROR (collinear non vertical segments)"));
-+    G_warning("%s", _("Vect_segment_intersection() ERROR (collinear non vertical segments)"));
-     G_warning("a");
-     G_warning("%.15g %.15g", ax1, ay1);
-     G_warning("%.15g %.15g", ax2, ay2);
-@@ -1056,15 +1056,15 @@
- 	break;
-     case 1:
- 	if (0 > Vect_copy_xyz_to_pnts(IPnts, &x1, &y1, &z1, 1))
--	    G_warning(_("Error while adding point to array. Out of memory"));
-+	    G_warning("%s", _("Error while adding point to array. Out of memory"));
- 	break;
-     case 2:
-     case 3:
-     case 4:
- 	if (0 > Vect_copy_xyz_to_pnts(IPnts, &x1, &y1, &z1, 1))
--	    G_warning(_("Error while adding point to array. Out of memory"));
-+	    G_warning("%s", _("Error while adding point to array. Out of memory"));
- 	if (0 > Vect_copy_xyz_to_pnts(IPnts, &x2, &y2, &z2, 1))
--	    G_warning(_("Error while adding point to array. Out of memory"));
-+	    G_warning("%s", _("Error while adding point to array. Out of memory"));
- 	break;
-     }
-     /* add ALL (including end points and duplicates), clean later */
-@@ -1112,7 +1112,7 @@
- 		if (0 >
- 		    Vect_copy_xyz_to_pnts(IPnts, &APoints->x[0],
- 					  &APoints->y[0], NULL, 1))
--		    G_warning(_("Error while adding point to array. Out of memory"));
-+		    G_warning("%s", _("Error while adding point to array. Out of memory"));
- 		return 1;
- 	    }
- 	    else {
-@@ -1121,7 +1121,7 @@
- 			Vect_copy_xyz_to_pnts(IPnts, &APoints->x[0],
- 					      &APoints->y[0], &APoints->z[0],
- 					      1))
--			G_warning(_("Error while adding point to array. Out of memory"));
-+			G_warning("%s", _("Error while adding point to array. Out of memory"));
- 		    return 1;
- 		}
- 		else
-@@ -1142,7 +1142,7 @@
- 	    if (0 >
- 		Vect_copy_xyz_to_pnts(IPnts, &APoints->x[0], &APoints->y[0],
- 				      &APoints->z[0], 1))
--		G_warning(_("Error while adding point to array. Out of memory"));
-+		G_warning("%s", _("Error while adding point to array. Out of memory"));
- 	    return 1;
- 	}
- 	else {
-@@ -1159,7 +1159,7 @@
- 	    if (0 >
- 		Vect_copy_xyz_to_pnts(IPnts, &BPoints->x[0], &BPoints->y[0],
- 				      &BPoints->z[0], 1))
--		G_warning(_("Error while adding point to array. Out of memory"));
-+		G_warning("%s", _("Error while adding point to array. Out of memory"));
- 	    return 1;
- 	}
- 	else
---- grass-6.4.3/lib/vector/Vlib/map.c.orig	2010-01-16 11:52:49.000000000 +0100
-+++ grass-6.4.3/lib/vector/Vlib/map.c	2014-06-09 21:59:06.410243979 +0200
-@@ -175,7 +175,7 @@
-     G_debug(2, "Copy vector '%s' in '%s' to '%s'", in, mapset, out);
-     /* check for [A-Za-z][A-Za-z0-9_]* in name */
-     if (Vect_legal_filename(out) < 0)
--	G_fatal_error(_("Vector map name is not SQL compliant"));
-+	G_fatal_error("%s", _("Vector map name is not SQL compliant"));
- 
-     xmapset = G_find_vector2(in, mapset);
-     if (!xmapset) {
-@@ -311,7 +311,7 @@
-     G_debug(2, "Rename vector '%s' to '%s'", in, out);
-     /* check for [A-Za-z][A-Za-z0-9_]* in name */
-     if (Vect_legal_filename(out) < 0)
--	G_fatal_error(_("Vector map name is not SQL compliant"));
-+	G_fatal_error("%s", _("Vector map name is not SQL compliant"));
- 
-     /* Delete old vector if it exists */
-     if (G_find_vector2(out, G_mapset())) {
---- grass-6.4.3/lib/vector/Vlib/read_ogr.c.orig	2009-11-28 11:52:54.000000000 +0100
-+++ grass-6.4.3/lib/vector/Vlib/read_ogr.c	2014-06-10 16:04:20.162220145 +0200
-@@ -175,7 +175,7 @@
- 
- 	    Map->fInfo.ogr.feature_cache_id = (int)OGR_F_GetFID(hFeature);
- 	    if (Map->fInfo.ogr.feature_cache_id == OGRNullFID) {
--		G_warning(_("OGR feature without ID"));
-+		G_warning("%s", _("OGR feature without ID"));
- 	    }
- 
- 	    /* Cache the feature */
---- grass-6.4.3/lib/vector/Vlib/array.c.orig	2008-11-25 02:31:05.000000000 +0100
-+++ grass-6.4.3/lib/vector/Vlib/array.c	2014-06-10 16:35:35.955514373 +0200
-@@ -142,7 +142,7 @@
- 
-     /* Check type */
-     if ((type & GV_AREA) && (type & (GV_POINTS | GV_LINES))) {
--	G_warning(_("Mixed area and other type requested for vector array"));
-+	G_warning("%s", _("Mixed area and other type requested for vector array"));
- 	return 0;
-     }
- 
-@@ -152,7 +152,7 @@
- 	n = Vect_get_num_areas(Map);
- 
- 	if (n > varray->size) {	/* not enough space */
--	    G_warning(_("Not enough space in vector array"));
-+	    G_warning("%s", _("Not enough space in vector array"));
- 	    return 0;
- 	}
- 
-@@ -175,7 +175,7 @@
- 	n = Vect_get_num_lines(Map);
- 
- 	if (n > varray->size) {	/* not enough space */
--	    G_warning(_("Not enough space in vector array"));
-+	    G_warning("%s", _("Not enough space in vector array"));
- 	    return 0;
- 	}
- 
-@@ -266,7 +266,7 @@
- 
-     /* Check type */
-     if ((type & GV_AREA) && (type & (GV_POINTS | GV_LINES))) {
--	G_warning(_("Mixed area and other type requested for vector array"));
-+	G_warning("%s", _("Mixed area and other type requested for vector array"));
- 	return 0;
-     }
- 
-@@ -303,7 +303,7 @@
-         as WHERE will create a small subset of all vector features and thus on large datasets
-         it's waste of memory to allocate it for all features. */
- 	if (n > varray->size) {	/* not enough space */
--	    G_warning(_("Not enough space in vector array"));
-+	    G_warning("%s", _("Not enough space in vector array"));
- 	    return 0;
- 	}
- 
-@@ -336,7 +336,7 @@
- 	n = Vect_get_num_lines(Map);
- 
- 	if (n > varray->size) {	/* not enough space */
--	    G_warning(_("Not enough space in vector array"));
-+	    G_warning("%s", _("Not enough space in vector array"));
- 	    return 0;
- 	}
- 
---- grass-6.4.3/lib/vector/Vlib/overlay.c.orig	2008-11-25 02:31:05.000000000 +0100
-+++ grass-6.4.3/lib/vector/Vlib/overlay.c	2014-06-10 18:26:35.605375566 +0200
-@@ -120,10 +120,10 @@
- 
-     /* TODO: support all types; at present only point x point, area x point and point x area supported  */
-     if ((atype & GV_LINES) || (btype & GV_LINES))
--	G_warning(_("Overlay: line/boundary types not supported by AND operator"));
-+	G_warning("%s", _("Overlay: line/boundary types not supported by AND operator"));
- 
-     if ((atype & GV_AREA) && (btype & GV_AREA))
--	G_warning(_("Overlay: area x area types not supported by AND operator"));
-+	G_warning("%s", _("Overlay: area x area types not supported by AND operator"));
- 
-     /* TODO: more points in one node in one map */
- 
---- grass-6.4.3/lib/vector/neta/centrality.c.orig	2011-04-16 11:52:08.000000000 +0200
-+++ grass-6.4.3/lib/vector/neta/centrality.c	2014-05-18 20:57:22.929939803 +0200
-@@ -60,7 +60,7 @@
-     nnodes = dglGet_NodeCount(graph);
-     tmp = (double *)G_calloc(nnodes + 1, sizeof(double));
-     if (!tmp) {
--	G_fatal_error(_("Out of memory"));
-+	G_fatal_error("%s", _("Out of memory"));
- 	return -1;
-     }
- 
-@@ -142,7 +142,7 @@
-     delta = (dglInt32_t *) G_calloc(nnodes + 1, sizeof(dglInt32_t));
- 
-     if (!dst || !prev || !stack || !cnt || !delta) {
--	G_fatal_error(_("Out of memory"));
-+	G_fatal_error("%s", _("Out of memory"));
- 	return -1;
-     }
- 
---- grass-6.4.3/lib/vector/neta/allpairs.c.orig	2011-04-16 11:52:08.000000000 +0200
-+++ grass-6.4.3/lib/vector/neta/allpairs.c	2014-06-03 20:40:49.881146947 +0200
-@@ -47,10 +47,10 @@
- 
-     node_indices = (dglInt32_t *) G_calloc(nnodes, sizeof(dglInt32_t));
-     if (!node_indices) {
--	G_fatal_error(_("Out of memory"));
-+	G_fatal_error("%s", _("Out of memory"));
- 	return -1;
-     }
--    G_message(_("Computing all pairs shortest paths..."));
-+    G_message("%s", _("Computing all pairs shortest paths..."));
-     G_percent_reset();
-     for (i = 0; i <= nnodes; i++)
- 	for (j = 0; j <= nnodes; j++)
---- grass-6.4.3/lib/vector/neta/timetables.c.orig	2011-04-16 11:52:08.000000000 +0200
-+++ grass-6.4.3/lib/vector/neta/timetables.c	2014-06-05 21:12:19.967505858 +0200
-@@ -66,7 +66,7 @@
-     *lengths = (int *)G_calloc(count, sizeof(int));
-     *ids = (int *)G_calloc(count, sizeof(int));
-     if (!*lengths || !*ids) {
--	G_warning(_("Out of memory"));
-+	G_warning("%s", _("Out of memory"));
- 	return -1;
-     }
-     db_open_select_cursor(driver, sql, &cursor, DB_SEQUENTIAL);
-@@ -165,7 +165,7 @@
-     if (!timetable->route_stops || !timetable->route_times ||
- 	!timetable->stop_routes || !timetable->stop_times ||
- 	!timetable->walk_length) {
--	G_warning(_("Out of memory"));
-+	G_warning("%s", _("Out of memory"));
- 	return 2;
-     }
- 
-@@ -175,7 +175,7 @@
- 	timetable->route_times[i] =
- 	    (int *)G_calloc(timetable->route_length[i], sizeof(int));
- 	if (!timetable->route_stops[i] || !timetable->route_times[i]) {
--	    G_warning(_("Out of memory"));
-+	    G_warning("%s", _("Out of memory"));
- 	    return 2;
- 	}
- 
-@@ -188,7 +188,7 @@
- 	timetable->stop_times[i] =
- 	    (int *)G_calloc(timetable->stop_length[i], sizeof(int));
- 	if (!timetable->stop_routes[i] || !timetable->stop_times[i]) {
--	    G_warning(_("Out of memory"));
-+	    G_warning("%s", _("Out of memory"));
- 	    return 2;
- 	}
- 	timetable->walk_length[i] = 0;
-@@ -275,7 +275,7 @@
- 	    timetable->walk_times[i] =
- 		(int *)G_calloc(timetable->walk_length[i], sizeof(int));
- 	    if (!timetable->walk_stops[i] || !timetable->walk_times[i]) {
--		G_warning(_("Out of memory"));
-+		G_warning("%s", _("Out of memory"));
- 		return 2;
- 	    }
- 	    timetable->walk_length[i] = 0;
-@@ -410,7 +410,7 @@
- 
-     if (!result->dst || !result->prev_stop || !result->prev_route ||
- 	!result->prev_conn) {
--	G_warning(_("Out of memory"));
-+	G_warning("%s", _("Out of memory"));
- 	return -1;
-     }
- 
-@@ -422,7 +422,7 @@
- 	result->prev_conn[i] = (int *)G_calloc(timetable->stops, sizeof(int));
- 	if (!result->dst[i] || !result->prev_stop[i] || !result->prev_route[i]
- 	    || !result->prev_conn[i]) {
--	    G_warning(_("Out of memory"));
-+	    G_warning("%s", _("Out of memory"));
- 	    return -1;
- 	}
-     }
---- grass-6.4.3/lib/vector/neta/flow.c.orig	2011-04-16 11:52:08.000000000 +0200
-+++ grass-6.4.3/lib/vector/neta/flow.c	2014-06-07 22:17:06.710489822 +0200
-@@ -61,7 +61,7 @@
-     is_source = (char *)G_calloc(nnodes + 3, sizeof(char));
-     is_sink = (char *)G_calloc(nnodes + 3, sizeof(char));
-     if (!queue || !prev || !is_source || !is_sink) {
--	G_fatal_error(_("Out of memory"));
-+	G_fatal_error("%s", _("Out of memory"));
- 	return -1;
-     }
- 
-@@ -175,7 +175,7 @@
-     queue = (dglInt32_t *) G_calloc(nnodes + 3, sizeof(dglInt32_t));
-     visited = (char *)G_calloc(nnodes + 3, sizeof(char));
-     if (!queue || !visited) {
--	G_fatal_error(_("Out of memory"));
-+	G_fatal_error("%s", _("Out of memory"));
- 	return -1;
-     }
- 
-@@ -306,6 +306,6 @@
-     }
-     dglNode_T_Release(&nt);
-     if (dglFlatten(out) < 0)
--	G_fatal_error(_("GngFlatten error"));
-+	G_fatal_error("%s", _("GngFlatten error"));
-     return edge_cnt;
- }
---- grass-6.4.3/lib/vector/neta/bridge.c.orig	2013-03-23 10:52:05.000000000 +0100
-+++ grass-6.4.3/lib/vector/neta/bridge.c	2014-06-08 08:30:29.389722738 +0200
-@@ -56,7 +56,7 @@
-     stack = (dglInt32_t **) G_calloc(nnodes + 1, sizeof(dglInt32_t *));
-     current_edge = (dglInt32_t **) G_calloc(nnodes + 1, sizeof(dglInt32_t *));
-     if (!tin || !min_tin || !parent || !stack || !current) {
--	G_fatal_error(_("Out of memory"));
-+	G_fatal_error("%s", _("Out of memory"));
- 	return -1;
-     }
- 
---- grass-6.4.3/lib/vector/neta/spanningtree.c.orig	2011-04-16 11:52:08.000000000 +0200
-+++ grass-6.4.3/lib/vector/neta/spanningtree.c	2014-06-08 10:08:46.199599831 +0200
-@@ -96,12 +96,12 @@
-     nedges = dglGet_EdgeCount(graph);
-     perm = (edge_cost_pair *) G_calloc(nedges, sizeof(edge_cost_pair));
-     if (!perm || !uf_initialize(&uf, nnodes + 1)) {
--	G_fatal_error(_("Out of memory"));
-+	G_fatal_error("%s", _("Out of memory"));
- 	return -1;
-     }
-     /*for some obscure reasons, dglGetEdge always returns NULL. Therefore this complicated enumeration of the edges... */
-     index = 0;
--    G_message(_("Computing minimum spanning tree..."));
-+    G_message("%s", _("Computing minimum spanning tree..."));
-     G_percent_reset();
-     for (i = 1; i <= nnodes; i++) {
- 	G_percent(i, nnodes + nedges, 1);
---- grass-6.4.3/lib/vector/neta/path.c.orig	2011-04-16 11:52:08.000000000 +0200
-+++ grass-6.4.3/lib/vector/neta/path.c	2014-06-08 11:46:44.989477298 +0200
-@@ -131,7 +131,7 @@
-     queue = (dglInt32_t *) G_calloc(nnodes + 1, sizeof(dglInt32_t));
-     vis = (char *)G_calloc(nnodes + 1, sizeof(char));
-     if (!prev || !queue || !vis) {
--	G_fatal_error(_("Out of memory"));
-+	G_fatal_error("%s", _("Out of memory"));
- 	return -1;
-     }
-     Vect_reset_list(list);
---- grass-6.4.3/lib/vector/neta/articulation_point.c.orig	2013-03-23 10:52:05.000000000 +0100
-+++ grass-6.4.3/lib/vector/neta/articulation_point.c	2014-06-08 12:37:28.682747190 +0200
-@@ -57,7 +57,7 @@
-     current_edge = (dglInt32_t **) G_calloc(nnodes + 1, sizeof(dglInt32_t *));
-     mark = (int *)G_calloc(nnodes + 1, sizeof(int));
-     if (!tin || !min_tin || !parent || !stack || !current || !mark) {
--	G_fatal_error(_("Out of memory"));
-+	G_fatal_error("%s", _("Out of memory"));
- 	return -1;
-     }
- 
---- grass-6.4.3/lib/vector/neta/utils.c.orig	2011-04-16 11:52:08.000000000 +0200
-+++ grass-6.4.3/lib/vector/neta/utils.c	2014-06-08 15:06:40.995893931 +0200
-@@ -218,11 +218,11 @@
- 	if (layer < 1)
- 	    G_fatal_error(_("'%s' must be > 0 for '%s'"), "layer", "where");
- 	if (cat)
--	    G_warning(_("'where' and 'cats' parameters were supplied, cat will be ignored"));
-+	    G_warning("%s", _("'where' and 'cats' parameters were supplied, cat will be ignored"));
- 	*varray = Vect_new_varray(Vect_get_num_lines(In));
- 	if (Vect_set_varray_from_db
- 	    (In, layer, where, mask_type, 1, *varray) == -1) {
--	    G_warning(_("Unable to load data from database"));
-+	    G_warning("%s", _("Unable to load data from database"));
- 	    return 0;
- 	}
- 	return 1;
-@@ -233,7 +233,7 @@
- 	*varray = Vect_new_varray(Vect_get_num_lines(In));
- 	if (Vect_set_varray_from_cat_string
- 	    (In, layer, cat, mask_type, 1, *varray) == -1) {
--	    G_warning(_("Problem loading category values"));
-+	    G_warning("%s", _("Problem loading category values"));
- 	    return 0;
- 	}
- 	return 1;
---- grass-6.4.3/lib/vector/neta/components.c.orig	2011-04-16 11:52:08.000000000 +0200
-+++ grass-6.4.3/lib/vector/neta/components.c	2014-06-08 16:09:43.325815094 +0200
-@@ -43,7 +43,7 @@
-     stack = (dglInt32_t *) G_calloc(nnodes + 1, sizeof(dglInt32_t));
-     visited = (int *)G_calloc(nnodes + 1, sizeof(int));
-     if (!stack || !visited) {
--	G_fatal_error(_("Out of memory"));
-+	G_fatal_error("%s", _("Out of memory"));
- 	return -1;
-     }
- 
-@@ -110,7 +110,7 @@
-     visited = (int *)G_calloc(nnodes + 1, sizeof(int));
-     processed = (int *)G_calloc(nnodes + 1, sizeof(int));
-     if (!stack || !visited || !order || !processed) {
--	G_fatal_error(_("Out of memory"));
-+	G_fatal_error("%s", _("Out of memory"));
- 	return -1;
-     }
- 
---- grass-6.4.3/lib/sites/sites.c.orig	2014-05-18 20:58:37.036604857 +0200
-+++ grass-6.4.3/lib/sites/sites.c	2014-05-18 20:58:40.643271502 +0200
-@@ -133,7 +133,7 @@
-     G_debug(4, "cattype = %d", s->cattype);
- 
-     if (s->cattype == FCELL_TYPE || s->cattype == DCELL_TYPE)
--	G_fatal_error(_("Category must be integer"));
-+	G_fatal_error("%s", _("Category must be integer"));
- 
-     if (s->cattype == CELL_TYPE)
- 	Vect_cat_set(Cats, 1, s->ccat);
-@@ -207,9 +207,9 @@
- 		if ((head->time =
- 		     (struct TimeStamp *)G_malloc(sizeof(struct TimeStamp)))
- 		    == NULL)
--		    G_fatal_error(_("Memory error in writing timestamp"));
-+		    G_fatal_error("%s", _("Memory error in writing timestamp"));
- 		else if (G_scan_timestamp(head->time, head->stime) < 0) {
--		    G_warning(_("Illegal TimeStamp string"));
-+		    G_warning("%s", _("Illegal TimeStamp string"));
- 		    return -1;	/* added to prevent crash 5/2000 MN */
- 		}
- 	    }
-@@ -238,9 +238,9 @@
-     if (head->stime && strlen(head->stime) > 0) {
- 	if ((head->time =
- 	     (struct TimeStamp *)G_malloc(sizeof(struct TimeStamp))) == NULL)
--	    G_fatal_error(_("Memory error in allocating timestamp"));
-+	    G_fatal_error("%s", _("Memory error in allocating timestamp"));
- 	if (G_scan_timestamp(head->time, head->stime) < 0) {
--	    G_warning(datetime_error_msg());
-+	    G_warning("%s", datetime_error_msg());
- 
- 	    head->time = NULL;
- 	    head->stime = NULL;
-@@ -345,7 +345,7 @@
-     dbValue *value;
- 
-     G_message(
--	_("Dev note: Adapted sites library used for vector points. "
-+	"%s", _("Dev note: Adapted sites library used for vector points. "
- 	  "(module should be updated to GRASS 6 vector library)"));
- 
-     Map = (struct Map_info *)G_malloc(sizeof(struct Map_info));
-@@ -394,7 +394,7 @@
-     adbl = astr = 0;
-     while (1) {
- 	if (db_fetch(&cursor, DB_NEXT, &more) != DB_OK)
--	    G_fatal_error(_("Cannot fetch row"));
-+	    G_fatal_error("%s", _("Cannot fetch row"));
- 
- 	if (!more)
- 	    break;
-@@ -475,7 +475,7 @@
-     struct Map_info *Map;
- 
-     G_message(
--	_("Dev note: Adapted sites library used for vector points. "
-+	"%s", _("Dev note: Adapted sites library used for vector points. "
- 	  "(module should be updated to GRASS 6 vector library)"));
-     G_warning("Site/vector attributes ignored.");
- 
-@@ -576,7 +576,7 @@
-     Site *s;
- 
-     if (n_dim < 2 || n_s_att < 0 || n_d_att < 0)
--	G_fatal_error(_("G_oldsite_new_struct: invalid # dims or fields"));
-+	G_fatal_error("%s", _("G_oldsite_new_struct: invalid # dims or fields"));
- 
-     if ((s = (Site *) G_malloc(sizeof(Site))) == NULL)
- 	return (Site *) NULL;
-@@ -1254,7 +1254,7 @@
-     db_append_string(&stmt, fi->table);
- 
-     if (db_open_select_cursor(driver, &stmt, &cursor, DB_SEQUENTIAL) != DB_OK)
--	G_fatal_error(_("Cannot select attributes"));
-+	G_fatal_error("%s", _("Cannot select attributes"));
- 
-     nrows = db_get_num_rows(&cursor);
-     G_debug(1, "%d rows selected from vector attribute table", nrows);
---- grass-6.4.3/lib/rst/interp_float/segmen2d.c.orig	2010-09-25 11:52:07.000000000 +0200
-+++ grass-6.4.3/lib/rst/interp_float/segmen2d.c	2014-05-18 21:06:33.116594990 +0200
-@@ -108,7 +108,7 @@
- 
- 	while ((npt < MINPTS) || (npt > params->KMAX2)) {
- 	    if (i >= 70) {
--		G_warning(_("Taking too long to find points for interpolation - "
-+		G_warning("%s", _("Taking too long to find points for interpolation - "
- 			    "please change the region to area where your points are. "
- 			    "Continuing calculations..."));
- 		break;
-@@ -172,19 +172,19 @@
- 	    if (!
- 		(matrix =
- 		 G_alloc_matrix(params->KMAX2 + 1, params->KMAX2 + 1))) {
--		G_warning(_("Out of memory"));
-+		G_warning("%s", _("Out of memory"));
- 		return -1;
- 	    }
- 	}
- 	if (!indx) {
- 	    if (!(indx = G_alloc_ivector(params->KMAX2 + 1))) {
--		G_warning(_("Out of memory"));
-+		G_warning("%s", _("Out of memory"));
- 		return -1;
- 	    }
- 	}
- 	if (!b) {
- 	    if (!(b = G_alloc_vector(params->KMAX2 + 3))) {
--		G_warning(_("Out of memory"));
-+		G_warning("%s", _("Out of memory"));
- 		return -1;
- 	    }
- 	}
-@@ -194,7 +194,7 @@
- 		(point =
- 		 (struct triple *)G_malloc(sizeof(struct triple) *
- 					   data->n_points))) {
--		G_warning(_("Out of memory"));
-+		G_warning("%s", _("Out of memory"));
- 		return -1;
- 	    }
- 	}
---- grass-6.4.3/lib/rst/interp_float/point2d.c.orig	2008-11-25 02:31:19.000000000 +0100
-+++ grass-6.4.3/lib/rst/interp_float/point2d.c	2014-06-03 21:00:41.291122114 +0200
-@@ -114,7 +114,7 @@
- 		sprintf(buf, ", %f", err);
- 		db_append_string(&sql2, buf);
- 		db_append_string(&sql2, ")");
--		G_debug(3, db_get_string(&sql2));
-+		G_debug(3, "%s", db_get_string(&sql2));
- 
- 		if (db_execute_immediate(driver2, &sql2) != DB_OK) {
- 		    db_close_database(driver2);
-@@ -171,7 +171,7 @@
- 	    sprintf(buf, ", %f", skip_err);
- 	    db_append_string(&sql2, buf);
- 	    db_append_string(&sql2, ")");
--	    G_debug(3, db_get_string(&sql2));
-+	    G_debug(3, "%s", db_get_string(&sql2));
- 
- 	    if (db_execute_immediate(driver2, &sql2) != DB_OK) {
- 		db_close_database(driver2);
---- grass-6.4.3/lib/rst/interp_float/interp2d.c.orig	2010-09-25 11:52:07.000000000 +0200
-+++ grass-6.4.3/lib/rst/interp_float/interp2d.c	2014-06-05 21:12:58.724171716 +0200
-@@ -116,13 +116,13 @@
- 
-     if (!w) {
- 	if (!(w = (double *)G_malloc(sizeof(double) * (params->KMAX2 + 9)))) {
--	    G_warning(_("Out of memory"));
-+	    G_warning("%s", _("Out of memory"));
- 	    return -1;
- 	}
-     }
-     if (!w2) {
- 	if (!(w2 = (double *)G_malloc(sizeof(double) * (params->KMAX2 + 9)))) {
--	    G_warning(_("Out of memory"));
-+	    G_warning("%s", _("Out of memory"));
- 	    return -1;
- 	}
-     }
---- grass-6.4.3/lib/rst/interp_float/vinput2d.c.orig	2010-09-25 11:52:07.000000000 +0200
-+++ grass-6.4.3/lib/rst/interp_float/vinput2d.c	2014-06-07 22:17:56.967155442 +0200
-@@ -73,7 +73,7 @@
- 	G_fatal_error(_("Vector map <%s> is not 3D"), Vect_get_full_name(Map));
- 
-     if (field > 0 && zcol != NULL) {	/* open db driver */
--	G_verbose_message(_("Loading data from attribute table ..."));
-+	G_verbose_message("%s", _("Loading data from attribute table ..."));
- 	Fi = Vect_get_field(Map, field);
- 	if (Fi == NULL)
- 	    G_fatal_error(_("Database connection not defined for layer %d"),
-@@ -118,7 +118,7 @@
-     }
- 
-     /* Lines without nodes */
--    G_message(_("Reading features from vector map ..."));
-+    G_message("%s", _("Reading features from vector map ..."));
-     sm = 0;
-     line = 1;
-     while ((ltype = Vect_read_next_line(Map, Points, Cats)) != -2) {
-@@ -168,7 +168,7 @@
- 							    &sm);
- 		    }
- 		    if (sm < 0.0)
--			G_fatal_error(_("Negative value of smoothing detected: sm must be >= 0"));
-+			G_fatal_error("%s", _("Negative value of smoothing detected: sm must be >= 0"));
- 		}
- 		G_debug(5, "  z = %f sm = %f", z, sm);
- 	    }
-@@ -230,7 +230,7 @@
-     }
- 
-     /* Process all nodes */
--    G_message(_("Reading nodes from vector map ..."));
-+    G_message("%s", _("Reading nodes from vector map ..."));
-     nnodes = Vect_get_num_nodes(Map);
-     for (k1 = 1; k1 <= nnodes; k1++) {
- 	G_debug(5, "  node %d", k1);
-@@ -285,7 +285,7 @@
- 							    &sm);
- 		    }
- 		    if (sm < 0.0)
--			G_fatal_error(_("Negative value of smoothing detected: sm must be >= 0"));
-+			G_fatal_error("%s", _("Negative value of smoothing detected: sm must be >= 0"));
- 		}
- 		G_debug(5, "  z = %f sm = %f", z, sm);
- 	    }
-@@ -311,7 +311,7 @@
- 
- 	if (!once) {
- 	    once = 1;
--	    G_warning(_("Strip exists with insufficient data"));
-+	    G_warning("%s", _("Strip exists with insufficient data"));
- 	}
-     }
- 
-@@ -337,7 +337,7 @@
- 	    params->kmin = npoint;
- 	}
- 	else {
--	    G_warning(_("Zero points in the given region"));
-+	    G_warning("%s", _("Zero points in the given region"));
- 	    return -1;
- 	}
-     }
-@@ -388,13 +388,13 @@
- 
-     if (!((c1 >= 0) && (c2 >= 0) && (c3 >= 0) && (c4 >= 0))) {
- 	if (!(*OUTRANGE)) {
--	    G_warning(_("Some points outside of region (ignored)"));
-+	    G_warning("%s", _("Some points outside of region (ignored)"));
- 	}
- 	(*OUTRANGE)++;
-     }
-     else {
- 	if (!(point = quad_point_new(x, y, z, sm))) {
--	    G_warning(_("Unable to allocate memory"));
-+	    G_warning("%s", _("Unable to allocate memory"));
- 	    return -1;
- 	}
- 	a = MT_insert(point, info, info->root, 4);
---- grass-6.4.3/lib/rst/interp_float/input2d.c.orig	2008-11-25 02:31:19.000000000 +0100
-+++ grass-6.4.3/lib/rst/interp_float/input2d.c	2014-06-08 08:30:45.886389060 +0200
-@@ -66,7 +66,7 @@
- 		    BM_set(bitmask, j, irev, 1);
- 	    }
- 	}
--	G_message(_("Bitmap mask created"));
-+	G_message("%s", _("Bitmap mask created"));
-     }
-     else
- 	bitmask = NULL;
---- grass-6.4.3/lib/g3d/g3derror.c.orig	2008-11-25 02:31:10.000000000 +0100
-+++ grass-6.4.3/lib/g3d/g3derror.c	2014-05-18 21:06:58.066594464 +0200
-@@ -40,7 +40,7 @@
- void G3d_printError(const char *msg)
- {
-     fprintf(stderr, "ERROR: ");
--    fprintf(stderr, msg);
-+    fputs(msg, stderr);
-     fprintf(stderr, "\n");
- }
- 
---- grass-6.4.3/lib/g3d/g3dparam.c.orig	2008-11-25 02:31:10.000000000 +0100
-+++ grass-6.4.3/lib/g3d/g3dparam.c	2014-06-03 21:01:10.674454834 +0200
-@@ -113,7 +113,7 @@
- 	    *precision = -1;
- 	else if ((sscanf(param->precision->answer, "%d", precision) != 1) ||
- 		 (*precision < 0)) {
--	    G3d_error(_("G3d_getStandard3dParams: precision value invalid"));
-+	    G3d_error("%s", _("G3d_getStandard3dParams: precision value invalid"));
- 	    return 0;
- 	}
-     }
-@@ -146,7 +146,7 @@
-     if (strcmp(param->dimension->answer, "default") != 0) {
- 	if (sscanf(param->dimension->answer, "%dx%dx%d",
- 		   tileX, tileY, tileZ) != 3) {
--	    G3d_error(_("G3d_getStandard3dParams: tile dimension value invalid"));
-+	    G3d_error("%s", _("G3d_getStandard3dParams: tile dimension value invalid"));
- 	    return 0;
- 	}
-     }
---- grass-6.4.3/lib/g3d/g3dopen.c.orig	2008-11-25 02:31:10.000000000 +0100
-+++ grass-6.4.3/lib/g3d/g3dopen.c	2014-06-05 21:19:24.627497006 +0200
-@@ -17,13 +17,13 @@
-     G3d_initDefaults();
- 
-     if (!G3d_maskOpenOld()) {
--	G3d_error(_("G3d_openCellOldNoHeader: error in G3d_maskOpenOld"));
-+	G3d_error("%s", _("G3d_openCellOldNoHeader: error in G3d_maskOpenOld"));
- 	return (void *)NULL;
-     }
- 
-     map = G3d_malloc(sizeof(G3D_Map));
-     if (map == NULL) {
--	G3d_error(_("G3d_openCellOldNoHeader: error in G3d_malloc"));
-+	G3d_error("%s", _("G3d_openCellOldNoHeader: error in G3d_malloc"));
- 	return (void *)NULL;
-     }
- 
-@@ -42,7 +42,7 @@
- 
-     map->data_fd = G_open_old(buf, buf2, mapset);
-     if (map->data_fd < 0) {
--	G3d_error(_("G3d_openCellOldNoHeader: error in G_open_old"));
-+	G3d_error("%s", _("G3d_openCellOldNoHeader: error in G_open_old"));
- 	return (void *)NULL;
-     }
- 
-@@ -96,12 +96,12 @@
- 
-     map = G3d_openCellOldNoHeader(name, mapset);
-     if (map == NULL) {
--	G3d_error(_("G3d_openCellOld: error in G3d_openCellOldNoHeader"));
-+	G3d_error("%s", _("G3d_openCellOld: error in G3d_openCellOldNoHeader"));
- 	return (void *)NULL;
-     }
- 
-     if (lseek(map->data_fd, (long)0, SEEK_SET) == -1) {
--	G3d_error(_("G3d_openCellOld: can't rewind file"));
-+	G3d_error("%s", _("G3d_openCellOld: can't rewind file"));
- 	return (void *)NULL;
-     }
- 
-@@ -113,7 +113,7 @@
- 			&tileX, &tileY, &tileZ,
- 			&type, &compression, &useRle, &useLzw,
- 			&precision, &dataOffset, &useXdr, &hasIndex, &unit)) {
--	G3d_error(_("G3d_openCellOld: error in G3d_readHeader"));
-+	G3d_error("%s", _("G3d_openCellOld: error in G3d_readHeader"));
- 	return 0;
-     }
- 
-@@ -121,11 +121,11 @@
- 	window = G3d_windowPtr();
- 
-     if (proj != window->proj) {
--	G3d_error(_("G3d_openCellOld: projection does not match window projection"));
-+	G3d_error("%s", _("G3d_openCellOld: projection does not match window projection"));
- 	return (void *)NULL;
-     }
-     if (zone != window->zone) {
--	G3d_error(_("G3d_openCellOld: zone does not match window zone"));
-+	G3d_error("%s", _("G3d_openCellOld: zone does not match window zone"));
- 	return (void *)NULL;
-     }
- 
-@@ -137,24 +137,24 @@
- 			   &(map->indexLongNbytes), 1)) ||
- 	    (!G3d_readInts(map->data_fd, map->useXdr,
- 			   &(map->indexNbytesUsed), 1))) {
--	    G3d_error(_("G3d_openCellOld: can't read header"));
-+	    G3d_error("%s", _("G3d_openCellOld: can't read header"));
- 	    return (void *)NULL;
- 	}
- 
- 	/* if our long is to short to store offsets we can't read the file */
- 	if (map->indexNbytesUsed > sizeof(long))
--	    G3d_fatalError(_("G3d_openCellOld: index does not fit into long"));
-+	    G3d_fatalError("%s", _("G3d_openCellOld: index does not fit into long"));
- 
- 	ltmp = G3d_malloc(map->indexLongNbytes);
- 	if (ltmp == NULL) {
--	    G3d_error(_("G3d_openCellOld: error in G3d_malloc"));
-+	    G3d_error("%s", _("G3d_openCellOld: error in G3d_malloc"));
- 	    return (void *)NULL;
- 	}
- 
- 	/* convert file long to long */
- 	if (read(map->data_fd, ltmp, map->indexLongNbytes) !=
- 	    map->indexLongNbytes) {
--	    G3d_error(_("G3d_openCellOld: can't read header"));
-+	    G3d_error("%s", _("G3d_openCellOld: can't read header"));
- 	    return (void *)NULL;
- 	}
- 	G3d_longDecode(ltmp, &(map->indexOffset), 1, map->indexLongNbytes);
-@@ -173,7 +173,7 @@
- 			proj, zone,
- 			north, south, east, west, top, bottom,
- 			rows, cols, depths, ew_res, ns_res, tb_res, unit)) {
--	G3d_error(_("G3d_openCellOld: error in G3d_fillHeader"));
-+	G3d_error("%s", _("G3d_openCellOld: error in G3d_fillHeader"));
- 	return (void *)NULL;
-     }
- 
-@@ -220,7 +220,7 @@
- 
-     G3d_initDefaults();
-     if (!G3d_maskOpenOld()) {
--	G3d_error(_("G3d_openCellNew: error in G3d_maskOpenOld"));
-+	G3d_error("%s", _("G3d_openCellNew: error in G3d_maskOpenOld"));
- 	return (void *)NULL;
-     }
- 
-@@ -229,7 +229,7 @@
- 
-     map = G3d_malloc(sizeof(G3D_Map));
-     if (map == NULL) {
--	G3d_error(_("G3d_openCellNew: error in G3d_malloc"));
-+	G3d_error("%s", _("G3d_openCellNew: error in G3d_malloc"));
- 	return (void *)NULL;
-     }
- 
-@@ -242,7 +242,7 @@
-     map->tempName = G_tempfile();
-     map->data_fd = open(map->tempName, O_RDWR | O_CREAT | O_TRUNC, 0666);
-     if (map->data_fd < 0) {
--	G3d_error(_("G3d_openCellNew: could not open file"));
-+	G3d_error("%s", _("G3d_openCellNew: could not open file"));
- 	return (void *)NULL;
-     }
- 
-@@ -287,12 +287,12 @@
- 	if ((!G3d_writeInts(map->data_fd, map->useXdr,
- 			    &(map->indexLongNbytes), 1)) ||
- 	    (!G3d_writeInts(map->data_fd, map->useXdr, &dummy, 1))) {
--	    G3d_error(_("G3d_openCellNew: can't write header"));
-+	    G3d_error("%s", _("G3d_openCellNew: can't write header"));
- 	    return (void *)NULL;
- 	}
- 	if (write(map->data_fd, &ldummy, map->indexLongNbytes) !=
- 	    map->indexLongNbytes) {
--	    G3d_error(_("G3d_openCellNew: can't write header"));
-+	    G3d_error("%s", _("G3d_openCellNew: can't write header"));
- 	    return (void *)NULL;
- 	}
-     }
-@@ -315,7 +315,7 @@
- 			region->rows, region->cols, region->depths,
- 			region->ew_res, region->ns_res, region->tb_res,
- 			g3d_unit_default)) {
--	G3d_error(_("G3d_openCellNew: error in G3d_fillHeader"));
-+	G3d_error("%s", _("G3d_openCellNew: error in G3d_fillHeader"));
- 	return (void *)NULL;
-     }
- 
---- grass-6.4.3/lib/g3d/g3dwindowio.c.orig	2013-02-23 11:52:07.000000000 +0100
-+++ grass-6.4.3/lib/g3d/g3dwindowio.c	2014-06-07 22:18:19.253821644 +0200
-@@ -71,7 +71,7 @@
- 	windowName++;
- 
-     if (strchr(windowName, GRASS_DIRSEP) || strchr(windowName, HOST_DIRSEP)) {
--	sprintf(path, windowName);
-+	strcpy(path, windowName);
- 	return;
-     }
- 
---- grass-6.4.3/lib/g3d/g3drange.c.orig	2008-11-25 02:31:10.000000000 +0100
-+++ grass-6.4.3/lib/g3d/g3drange.c	2014-06-08 08:31:13.596388483 +0200
-@@ -196,8 +196,7 @@
- 
-   error:
-     G_remove(buf, buf2);	/* remove the old file with this name */
--    sprintf(buf, "can't write range file for [%s in %s]", name, G_mapset());
--    G_warning(buf);
-+    G_warning(buf, "can't write range file for [%s in %s]", name, G_mapset());
-     return -1;
- }
- 
---- grass-6.4.3/lib/gpde/N_solvers.c.orig	2008-11-25 02:31:01.000000000 +0100
-+++ grass-6.4.3/lib/gpde/N_solvers.c	2014-05-18 21:09:18.566591526 +0200
-@@ -47,17 +47,17 @@
- {
- 
-     if (les->type != N_NORMAL_LES) {
--	G_warning(_("The gauss elimination solver does not work with sparse matrices"));
-+	G_warning("%s", _("The gauss elimination solver does not work with sparse matrices"));
- 	return 0;
-     }
- 
-     if (les->quad != 1) {
--	G_fatal_error(_("The linear equation system is not quadratic"));
-+	G_fatal_error("%s", _("The linear equation system is not quadratic"));
- 	return 0;
-     }
- 
- 
--    G_message(_("Starting direct gauss elimination solver"));
-+    G_message("%s", _("Starting direct gauss elimination solver"));
- 
-     N_les_pivot_create(les);
-     gauss_elimination(les->A, les->b, les->rows);
-@@ -85,17 +85,17 @@
-     double *c, *tmpv;
- 
<Skipped 23117 lines>
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/grass.git/commitdiff/705853b0e292ef71e37e6d2d86d8134394191c2a




More information about the pld-cvs-commit mailing list