[GRASS-dev] [GRASS GIS] #173: v.in.ogr: truncate cnames to first word

GRASS GIS trac at osgeo.org
Mon May 19 06:16:14 EDT 2008


#173: v.in.ogr: truncate cnames to first word
----------------------+-----------------------------------------------------
 Reporter:  hamish    |       Owner:  grass-dev at lists.osgeo.org
     Type:  defect    |      Status:  new                      
 Priority:  minor     |   Milestone:  6.4.0                    
Component:  default   |     Version:  unspecified              
 Keywords:  v.in.ogr  |  
----------------------+-----------------------------------------------------
 If you (ahem) don't read the instructions properly and with v.in.ogr's
 cnames= option provide column types with the new names it gets added into
 the vector's dbln file as an extra word, corrupting it. (it writes "cat
 integer" as the key column, but then after reads DB filename as the third
 word in the dbln file, which is "integer" not $GISDBASE/...)

 then you can't do much (even remove the vector) without fixing the dbln
 file.


 to protect against that...

 v.in.ogr line 270:
 {{{
     ncnames = 0;
     if ( cnames_opt->answers ) {
         i = 0;
         while ( cnames_opt->answers[i++] ) {
             ncnames++;
         }
     }
 }}}


 in that loop add some sort of
   strchrnul(cnames_opt->answers[i-1], ' ') = '\0';

 to cut away all but the first word?
 how to write that correctly?


 Hamish

-- 
Ticket URL: <http://trac.osgeo.org/grass/ticket/173>
GRASS GIS <http://grass.osgeo.org>


More information about the grass-dev mailing list