소스 검색

v.select: use Vect_copy_map_dblinks()

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@48950 15284696-431f-4ddb-bdfa-cd5b030d7da7
Martin Landa 13 년 전
부모
커밋
dbdbd2fb30
1개의 변경된 파일6개의 추가작업 그리고 9개의 파일을 삭제
  1. 6 9
      vector/v.select/main.c

+ 6 - 9
vector/v.select/main.c

@@ -28,7 +28,7 @@ int main(int argc, char *argv[])
 {
     int iopt;
     int operator;
-    int nskipped, is_ogr;
+    int nskipped, native;
     int itype[2], ifield[2];
 
     int *ALines; /* List of lines: 0 do not output, 1 - write to output */
@@ -124,7 +124,7 @@ int main(int argc, char *argv[])
     finishGEOS();
 #endif
 
-    is_ogr = Vect_maptype(&Out) == GV_FORMAT_OGR_DIRECT;
+    native = Vect_maptype(&Out) == GV_FORMAT_NATIVE;
 
     nfields = Vect_cidx_get_num_fields(&(In[0]));
     cats = (int **)G_malloc(nfields * sizeof(int *));
@@ -132,20 +132,17 @@ int main(int argc, char *argv[])
     fields = (int *)G_malloc(nfields * sizeof(int));
 
     /* Write lines */
-    if (!flag.table->answer && is_ogr) {
+    if (!flag.table->answer && !native) {
 	/* Copy attributes for OGR output */
-	if (!IFi)
-	    G_fatal_error(_("Database connection not defined for layer <%s>"),
-			  parm.field[0]->answer);
-	Vect_map_add_dblink(&Out, IFi->number, IFi->name, IFi->table, IFi->key,
-			    IFi->database, IFi->driver);
+	Vect_copy_map_dblinks(&(In[0]), &Out, TRUE);
     }
+    
     write_lines(&(In[0]), IFi, ALines,
 		&Out, flag.table->answer ? 1 : 0, flag.reverse->answer ? 1 : 0,
 		nfields, fields, ncats, cats);
 
     /* Copy tables */
-    if (!flag.table->answer && !is_ogr) {
+    if (!flag.table->answer && native) {
 	copy_tabs(&(In[0]), &Out,
 		  nfields, fields, ncats, cats);
     }