I did a quick inspection - looks good to me.
? imagery/i.gensig/OBJ.x86_64-unknown-linux-gnu
Index: imagery/i.gensig/check.c
RCS file: /grassrepository/grass6/imagery/i.gensig/check.c,v
retrieving revision 2.0
diff -u -r2.0 check.c
--- imagery/i.gensig/check.c 9 Nov 2004 12:55:04 -0000 2.0
+++ imagery/i.gensig/check.c 21 Jul 2005 21:18:31 -0000
@@ -1,6 +1,9 @@
#include "imagery.h"
+#include "glocale.h"
#include "signature.h"
#include "local_proto.h"
+
+
int
check_signatures (struct Signature *S)
{
@@ -18,14 +21,14 @@
if (!can_invert(temp.sig[0].var, S->nbands))
{
S->sig[i].status = -1;
- fprintf (stderr, "Signature %d not invertible\n", i+1);
+ G_message(_("Signature [%d] not invertible,"), i+1);
continue;
}
copy_covariances (temp.sig[0].var, S->sig[i].var, S->nbands);
if (!eigen(temp.sig[0].var, lambda, S->nbands))
{
S->sig[i].status = -1;
- fprintf (stderr, "Signature %d can't get eigen values\n", i+1);
+ G_message(_("Signature [%d] can't get eigen values."), i+1);
continue;
}
for (j = 0; j < S->nbands; j++)
@@ -33,7 +36,7 @@
if (lambda[j] <= 0.0)
{
S->sig[i].status = -1;
- fprintf (stderr, "Signature %d not positive definite\n", i+1);
+ G_message(_("Signature [%d] not positive definite."), i+1);
break;
}
}
Index: imagery/i.gensig/covariance.c
RCS file: /grassrepository/grass6/imagery/i.gensig/covariance.c,v
retrieving revision 2.1
diff -u -r2.1 covariance.c
--- imagery/i.gensig/covariance.c 13 Jul 2005 15:22:44 -0000 2.1
+++ imagery/i.gensig/covariance.c 21 Jul 2005 21:18:31 -0000
@@ -1,9 +1,11 @@
#include <stdlib.h>
#include "imagery.h"
+#include "glocale.h"
#include "signature.h"
#include "files.h"
#include "local_proto.h"
+
/* must be called after compute_means() */
int compute_covariances (struct files *files, struct Signature *S)
{
@@ -21,7 +23,8 @@
ncols = G_window_cols();
class = (CELL *) G_calloc (ncols, sizeof(CELL));
- fprintf (stderr, "Calculating class covariance matri%s ...", S->nsigs==1?"x":"ces");
+ G_message(_("Calculating class covariance matri%s ..."),
+ S->nsigs==1 ? "x" : "ces");
for (row = 0; row < nrows; row++)
{
Index: imagery/i.gensig/get_train.c
RCS file: /grassrepository/grass6/imagery/i.gensig/get_train.c,v
retrieving revision 2.1
diff -u -r2.1 get_train.c
--- imagery/i.gensig/get_train.c 13 Jul 2005 15:22:44 -0000 2.1
+++ imagery/i.gensig/get_train.c 21 Jul 2005 21:18:31 -0000
@@ -1,8 +1,10 @@
#include <stdlib.h>
#include "imagery.h"
+#include "glocale.h"
#include "signature.h"
#include "files.h"
+
int get_training_classes (struct files *files, struct Signature *S)
{
int fd;
@@ -23,11 +25,12 @@
/* determine the categories in the map */
I_init_signatures (S, files->nbands);
G_init_cell_stats (&cell_stats);
- fprintf (stderr, "Finding training classes ...");
+ G_message(_("Finding training classes ..."));
for (row = 0; row < nrows; row++)
{
G_percent (row, nrows, 2);
- if (G_get_c_raster_row(fd, cell, row) < 0) exit(1);
+ if (G_get_c_raster_row(fd, cell, row) < 0)
+ G_fatal_error(_("Unable to read raster row."));
G_update_cell_stats (cell, ncols, &cell_stats);
}
G_percent (row, nrows, 2);
@@ -49,15 +52,11 @@
n++;
}
else
- fprintf (stderr,
- "WARNING: Training class [%d] only has one cell - this class will be ignored\n", cat);
+ G_warning(_("Training class [%d] only has one cell - this class will be ignored"), cat);
}
if (n==0)
- {
- fprintf (stderr, "ERROR: training map has no classes\n");
- exit(1);
- }
+ G_fatal_error(_("Training map has no classes."));
list = (CELL *) G_calloc (n, sizeof(CELL));
n = 0;
@@ -70,7 +69,7 @@
files->ncats = n;
files->training_cats = list;
- fprintf (stderr, "%d class%s\n", files->ncats, files->ncats==1?"":"es" );
+ G_message(_("%d class%s"), files->ncats, files->ncats==1 ? "" : "es");
return 0;
}
Index: imagery/i.gensig/main.c
RCS file: /grassrepository/grass6/imagery/i.gensig/main.c,v
retrieving revision 2.1
diff -u -r2.1 main.c
--- imagery/i.gensig/main.c 13 Jul 2005 15:22:44 -0000 2.1
+++ imagery/i.gensig/main.c 21 Jul 2005 21:18:31 -0000
@@ -1,23 +1,25 @@
#include <stdlib.h>
#include "imagery.h"
+#include "glocale.h"
#include "signature.h"
#include "parms.h"
#include "files.h"
#include "local_proto.h"
+
int main (int argc, char *argv)
{
struct parms parms; /* command line parms */
struct files files; /* file descriptors, io, buffers */
struct Signature S;
- struct GModule *module;
+ struct GModule *module;
G_gisinit (argv[0]);
module = G_define_module();
module->description =
- "Generates statistics for i.maxlik "
- "from raster map layer.";
+ _("Generates statistics for i.maxlik "
+ "from raster map layer.");
parse (argc,argv, &parms);
openfiles (&parms, &files);
@@ -28,5 +30,6 @@
compute_covariances (&files, &S);
check_signatures (&S);
write_sigfile (&parms, &S);
+
exit(0);
}
Index: imagery/i.gensig/means.c
RCS file: /grassrepository/grass6/imagery/i.gensig/means.c,v
retrieving revision 2.1
diff -u -r2.1 means.c
--- imagery/i.gensig/means.c 13 Jul 2005 15:22:44 -0000 2.1
+++ imagery/i.gensig/means.c 21 Jul 2005 21:18:31 -0000
@@ -1,9 +1,11 @@
#include <stdlib.h>
#include "imagery.h"
+#include "glocale.h"
#include "signature.h"
#include "files.h"
#include "local_proto.h"
+
int compute_means (struct files *files, struct Signature *S)
{
int n, n_nulls;
@@ -19,7 +21,7 @@
ncols = G_window_cols();
class = (CELL *) G_calloc (ncols, sizeof(CELL));
- fprintf (stderr, "Calculating class mean%s ...", S->nsigs==1?"":"s");
+ G_message(_("Calculating class mean%s ..."), S->nsigs==1 ? "" : "s");
for (row = 0; row < nrows; row++)
{
Index: imagery/i.gensig/opencell.c
RCS file: /grassrepository/grass6/imagery/i.gensig/opencell.c,v
retrieving revision 2.1
diff -u -r2.1 opencell.c
--- imagery/i.gensig/opencell.c 13 Jul 2005 15:22:44 -0000 2.1
+++ imagery/i.gensig/opencell.c 21 Jul 2005 21:18:31 -0000
@@ -1,5 +1,7 @@
#include <stdlib.h>
#include "gis.h"
+#include "glocale.h"
+
CELL *
open_cell (char *name, char *mapset, int *fd)
@@ -9,6 +11,5 @@
if (*fd >= 0)
return G_allocate_cell_buf();
- fprintf (stderr, "ERROR: unable to open raster map [%s]\n", name);
- exit(1);
+ G_fatal_error(_("Unable to open raster map [%s]."), name);
}
Index: imagery/i.gensig/openfiles.c
RCS file: /grassrepository/grass6/imagery/i.gensig/openfiles.c,v
retrieving revision 2.1
diff -u -r2.1 openfiles.c
--- imagery/i.gensig/openfiles.c 13 Jul 2005 15:22:44 -0000 2.1
+++ imagery/i.gensig/openfiles.c 21 Jul 2005 21:18:31 -0000
@@ -1,7 +1,10 @@
#include <stdlib.h>
#include "imagery.h"
+#include "glocale.h"
#include "parms.h"
#include "files.h"
+
+
int
openfiles (struct parms *parms, struct files *files)
{
@@ -11,18 +14,12 @@
if (!I_get_subgroup_ref (parms->group, parms->subgroup, &Ref))
- {
- fprintf (stderr,
- "ERROR: unable to read REF file for subgroup [%s] in group [%s]\n",
- parms->subgroup, parms->group);
- exit(1);
- }
+ G_fatal_error(_("Unable to read REF file for subgroup [%s] in group [%s]."),
+ parms->subgroup, parms->group);
+
if (Ref.nfiles <= 0)
- {
- fprintf (stderr, "ERROR: subgroup [%s] in group [%s] contains no files\n",
- parms->subgroup, parms->group);
- exit(1);
- }
+ G_fatal_error(_("Subgroup [%s] in group [%s] contains no files."),
+ parms->subgroup, parms->group);
/* allocate file descriptors, and array of io buffers */
files->nbands = Ref.nfiles;
Index: imagery/i.gensig/parse.c
RCS file: /grassrepository/grass6/imagery/i.gensig/parse.c,v
retrieving revision 2.1
diff -u -r2.1 parse.c
--- imagery/i.gensig/parse.c 13 Jul 2005 15:22:44 -0000 2.1
+++ imagery/i.gensig/parse.c 21 Jul 2005 21:18:31 -0000
@@ -1,7 +1,10 @@
#include <stdlib.h>
#include "gis.h"
+#include "glocale.h"
#include "imagery.h"
#include "parms.h"
+
+
int
parse (int argc, char *argv, struct parms *parms)
{
@@ -9,27 +12,27 @@
trainingmap = G_define_option();
trainingmap->key = "trainingmap";
- trainingmap->description = "ground truth training map";
+ trainingmap->description = _("ground truth training map");
trainingmap->required = YES;
trainingmap->type = TYPE_STRING;
trainingmap->gisprompt = "old,cell,raster";
group = G_define_option();
group->key = "group";
- group->description = "imagery group";
+ group->description = _("imagery group");
group->required = YES;
group->type = TYPE_STRING;
group->gisprompt = "old,group,group";
subgroup = G_define_option();
subgroup->key = "subgroup";
- subgroup->description = "subgroup containing image files";
+ subgroup->description = _("subgroup containing image files");
subgroup->required = YES;
subgroup->type = TYPE_STRING;
sigfile = G_define_option();
sigfile->key = "signaturefile";
- sigfile->description = "resultant signature file";
+ sigfile->description = _("resultant signature file");
sigfile->required = YES;
sigfile->type = TYPE_STRING;
@@ -42,20 +45,13 @@
/* check all the inputs */
if(G_find_cell(parms->training_map, "") == NULL)
- {
- fprintf (stderr, "ERROR: training map [%s] not found\n", parms->training_map);
- exit(1);
- }
+ G_fatal_error(_("Training map [%s] not found."), parms->training_map);
+
if (!I_find_group(parms->group))
- {
- fprintf (stderr, "ERROR: group [%s] not found\n", parms->group);
- exit(1);
- }
+ G_fatal_error(_("Group [%s] not found."), parms->group);
+
if (!I_find_subgroup(parms->group, parms->subgroup))
- {
- fprintf (stderr, "ERROR: subgroup [%s] not found\n", parms->subgroup);
- exit(1);
- }
+ G_fatal_error(_("Subgroup [%s] not found."), parms->subgroup);
return 0;
}
Index: imagery/i.gensig/print_sig.c
RCS file: /grassrepository/grass6/imagery/i.gensig/print_sig.c,v
retrieving revision 2.0
diff -u -r2.0 print_sig.c
--- imagery/i.gensig/print_sig.c 9 Nov 2004 12:56:10 -0000 2.0
+++ imagery/i.gensig/print_sig.c 21 Jul 2005 21:18:31 -0000
@@ -1,28 +1,28 @@
#include "imagery.h"
+#include "glocale.h"
#include "signature.h"
+
int
print_one_sig (struct Signature *S, int k)
{
struct One_Sig *s;
int i,n;
- FILE *fd;
-
- fd = stdout;
s = &S->sig[k];
- fprintf (fd, "#%s\n", s->desc);
- fprintf (fd, "%d\n", s->npoints);
+ G_message(_("#%s"), s->desc);
+ G_message("%d", s->npoints);
+
for (i=0; i < S->nbands; i++)
- fprintf(fd, "%lf ", s->mean[i]);
- fprintf (fd, "\n");
+ G_message("%lf\n", s->mean[i]);
+
for (i=0; i < S->nbands; i++)
{
for (n=0; n < S->nbands; n++)
- fprintf (fd, "%lf ", s->var[i][n]);
- fprintf (fd, "\n");
+ G_message("%lf\n", s->var[i][n]);
}
+
if (s->have_color)
- fprintf (fd, "%f %f %f\n", s->r, s->g, s->b);
+ G_message("%f %f %f", s->r, s->g, s->b);
}
Index: imagery/i.gensig/write_sig.c
RCS file: /grassrepository/grass6/imagery/i.gensig/write_sig.c,v
retrieving revision 2.1
diff -u -r2.1 write_sig.c
--- imagery/i.gensig/write_sig.c 13 Jul 2005 15:22:44 -0000 2.1
+++ imagery/i.gensig/write_sig.c 21 Jul 2005 21:18:31 -0000
@@ -1,24 +1,23 @@
#include <stdlib.h>
#include "imagery.h"
+#include "glocale.h"
#include "signature.h"
#include "parms.h"
+
int write_sigfile (struct parms *parms, struct Signature *S)
{
FILE *fd;
fd = I_fopen_signature_file_new (parms->group, parms->subgroup, parms->sigfile);
if (fd == NULL)
- {
- fprintf (stderr, "ERROR: unable to create signature file [%s] ", parms->sigfile);
- fprintf (stderr, "for subgroup [%s] in group [%s]\n",
- parms->subgroup, parms->group);
- exit(1);
- }
- fprintf (stderr, "Writing signature file [%s] ...", parms->sigfile);
- fflush (stderr);
+ G_fatal_error(_("Unable to create signature file [%s] for "
+ "subgroup [%s] in group [%s]."),
+ parms->sigfile, parms->subgroup, parms->group);
+
+ G_message(_("Writing signature file [%s] ..."), parms->sigfile);
I_write_signatures (fd, S);
- fprintf (stderr, "\n");
+ G_message(_("Done."));
return 0;
}