[GRASS-SVN] r58262 - grass/branches/develbranch_6/vector/v.what.rast

svn_grass at osgeo.org svn_grass at osgeo.org
Thu Nov 21 00:35:31 PST 2013


Author: hamish
Date: 2013-11-21 00:35:30 -0800 (Thu, 21 Nov 2013)
New Revision: 58262

Modified:
   grass/branches/develbranch_6/vector/v.what.rast/main.c
Log:
fixes for print flag: vect map doesn't need to be in current mapset, and doesn't need to have a DB (merge from trunk)

Modified: grass/branches/develbranch_6/vector/v.what.rast/main.c
===================================================================
--- grass/branches/develbranch_6/vector/v.what.rast/main.c	2013-11-21 08:34:40 UTC (rev 58261)
+++ grass/branches/develbranch_6/vector/v.what.rast/main.c	2013-11-21 08:35:30 UTC (rev 58262)
@@ -140,17 +140,18 @@
     Vect_set_open_level(2);
     Vect_open_old(&Map, vect_opt->answer, mapset);
 
-    /* FIXME: if print flag is used then a database doesn't need to exist */
     Fi = Vect_get_field(&Map, field);
-    if (Fi == NULL)
-	G_fatal_error(_("Database connection not defined for layer %d"),
-		      field);
+    if (!print_flag->answer) {
+	if (Fi == NULL)
+	    G_fatal_error(_("Database connection not defined for layer %d"),
+			  field);
 
-    /* Open driver */
-    driver = db_start_driver_open_database(Fi->driver, Fi->database);
-    if (driver == NULL) {
-	G_fatal_error(_("Unable to open database <%s> by driver <%s>"),
-		      Fi->database, Fi->driver);
+	/* Open driver */
+	driver = db_start_driver_open_database(Fi->driver, Fi->database);
+	if (driver == NULL) {
+	    G_fatal_error(_("Unable to open database <%s> by driver <%s>"),
+	    		  Fi->database, Fi->driver);
+	}
     }
 
     /* Open raster */
@@ -248,8 +249,10 @@
 	point_cnt++;
     }
 
-    Vect_set_db_updated(&Map);
-    Vect_hist_command(&Map);
+    if (!print_flag->answer) {
+	Vect_set_db_updated(&Map);
+	Vect_hist_command(&Map);
+    }
     Vect_close(&Map);
 
     G_debug(1, "Read %d vector points", point_cnt);
@@ -558,7 +561,10 @@
     if (print_flag->answer) {
 	dupl_cnt = 0;
 
-	G_message("%s|value", Fi->key);
+	if(Fi)
+	    G_message("%s|value", Fi->key);
+	else
+	    G_message("cat|value");
 
 	for (point = 0; point < point_cnt; point++) {
 	    if (cache[point].count > 1) {



More information about the grass-commit mailing list