Просмотр исходного кода

r.cross: create categories for output value 0, it is a valid result

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@72281 15284696-431f-4ddb-bdfa-cd5b030d7da7
Markus Metz 7 лет назад
Родитель
Сommit
2f2acdade6
3 измененных файлов с 5 добавлено и 10 удалено
  1. 0 4
      raster/r.cross/cats.c
  2. 1 1
      raster/r.cross/cross.c
  3. 4 5
      raster/r.cross/main.c

+ 0 - 4
raster/r.cross/cats.c

@@ -30,10 +30,6 @@ int set_cat(CELL result, CELL * cat, struct Categories *pcats)
     static int len = 0;
     char *lbl;
 
-
-    if (result == 0)
-	return 1;
-
     n = 0;
     for (i = 0; i < nfiles; i++) {
 	lbl = get_label(cat[i], &labels[i]);

+ 1 - 1
raster/r.cross/cross.c

@@ -108,5 +108,5 @@ CELL cross(int fd[], int non_zero, int primary, int outfd)
     btree_free(&btree);
     for (i = 0; i < nfiles; i++)
 	G_free(cell[i]);
-    return result - 1;
+    return result;
 }

+ 4 - 5
raster/r.cross/main.c

@@ -143,16 +143,15 @@ int main(int argc, char *argv[])
     if (result <= 0)
 	exit(0);
 
-
     /* build the renumbering/reclass and the new cats file */
-    qsort(reclass, result + 1, sizeof(RECLASS), cmp);
-    table = (CELL *) G_calloc(result + 1, sizeof(CELL));
+    qsort(reclass, result, sizeof(RECLASS), cmp);
+    table = (CELL *) G_calloc(result, sizeof(CELL));
     for (i = 0; i < nfiles; i++) {
 	mapset = G_find_raster2(names[i], "");
 	Rast_read_cats(names[i], mapset, &labels[i]);
     }
 
-    for (ncats = 0; ncats <= result; ncats++) {
+    for (ncats = 0; ncats < result; ncats++) {
 	table[reclass[ncats].result] = ncats;
 	set_cat(ncats, reclass[ncats].cat, &pcats);
     }
@@ -176,7 +175,7 @@ int main(int argc, char *argv[])
 	Rast_write_colors(output, G_mapset(), &pcolr);
     }
 
-    G_message(_("%ld categories"), (long)result);
+    G_message(_("%d categories"), result);
     exit(EXIT_SUCCESS);
 }