[GRASS-dev] Re: [GRASS GIS] #66: v.out.svg: Standardise the `type' option interpretation

GRASS GIS trac at osgeo.org
Thu Apr 9 10:18:26 EDT 2009


#66: v.out.svg: Standardise the `type' option interpretation
--------------------------+-------------------------------------------------
  Reporter:  1gray        |       Owner:  grass-dev at lists.osgeo.org
      Type:  enhancement  |      Status:  new                      
  Priority:  minor        |   Milestone:  7.0.0                    
 Component:  default      |     Version:  unspecified              
Resolution:               |    Keywords:                           
  Platform:  Unspecified  |         Cpu:  Unspecified              
--------------------------+-------------------------------------------------
Comment (by 1gray):

 Replying to [comment:2 glynn]:
 > Replying to [comment:1 neteler]:
 >> Patch redone for current 6.5/7 (and uploaded uncompressed for easier
 review). Compiling, I get this warning:
 >> {{{
 >> main.c:122: warning: assignment from incompatible pointer type
 >> }}}

 > The ->answers field is {{{char **}}} which isn't compatible with
 {{{const char **}}}.

 > You can implicitly cast {{{char *}}} to {{{const char *}}}, but not with
 additional levels of indirection. In theory, a {{{const char *}}} could be
 wider than a {{{char *}}}, so you can cast these types, but not pointers
 to them.

 Is this actually permitted by some standard (either C89 or C99)?

 > {{{char * const *}}} should work.

 Do I understand it correctly that it means variable pointer to constant
 pointer to variable character data?

 I think that the part of code in question, once extracted into a separate
 function, could occasionally be useful when processing constant data.  And
 I'm quite surprised that two functions would be necessary to achieve that
 instead of just one.

-- 
Ticket URL: <https://trac.osgeo.org/grass/ticket/66#comment:3>
GRASS GIS <http://grass.osgeo.org>


More information about the grass-dev mailing list