[GRASS-SVN] r34421 - grass/trunk/raster/r.in.poly

svn_grass at osgeo.org svn_grass at osgeo.org
Fri Nov 21 06:21:53 EST 2008


Author: hamish
Date: 2008-11-21 06:21:52 -0500 (Fri, 21 Nov 2008)
New Revision: 34421

Modified:
   grass/trunk/raster/r.in.poly/main.c
   grass/trunk/raster/r.in.poly/poly2rast.c
Log:
input=- reads from stdin (merge from devbr6)

Modified: grass/trunk/raster/r.in.poly/main.c
===================================================================
--- grass/trunk/raster/r.in.poly/main.c	2008-11-21 11:20:24 UTC (rev 34420)
+++ grass/trunk/raster/r.in.poly/main.c	2008-11-21 11:21:52 UTC (rev 34421)
@@ -32,7 +32,8 @@
 
 
     input = G_define_standard_option(G_OPT_F_INPUT);
-
+    input->description = _("Name of input file; or \"-\" to read from stdin");
+ 
     output = G_define_standard_option(G_OPT_R_OUTPUT);
 
     title = G_define_option();

Modified: grass/trunk/raster/r.in.poly/poly2rast.c
===================================================================
--- grass/trunk/raster/r.in.poly/poly2rast.c	2008-11-21 11:20:24 UTC (rev 34420)
+++ grass/trunk/raster/r.in.poly/poly2rast.c	2008-11-21 11:21:52 UTC (rev 34421)
@@ -1,4 +1,5 @@
 #include <stdlib.h>
+#include <string.h>
 #include <grass/gis.h>
 #include <grass/glocale.h>
 #include "format.h"
@@ -18,10 +19,16 @@
     int pass, npasses;
     struct History history;
 
-    ifd = fopen(input_file, "r");
+
+   /* open input file */
+    if (strcmp("-", input_file) == 0)
+	ifd = stdin;
+    else
+	ifd = fopen(input_file, "r");
+
     if (ifd == NULL) {
 	perror(input_file);
-	exit(1);
+	exit(EXIT_FAILURE);
     }
 
     rfd = G_open_cell_new(raster_map);
@@ -31,10 +38,13 @@
     if (title == NULL)
 	title = "";
     G_strip(title);
+
     G_init_cats((CELL) 0, title, &labels);
+
     format = getformat(ifd);
     npasses = begin_rasterization(nrows, format);
     pass = 0;
+
     do {
 	pass++;
 	if (npasses > 1)
@@ -61,6 +71,7 @@
 	}
 
 	G_message(_("Writing raster map..."));
+
 	stat = output_raster(rfd);
     } while (stat == 0);
     /* stat: 0 means repeat



More information about the grass-commit mailing list