[GRASS-dev] [GRASS GIS] #2919: Use SFD above this threshold - infinity doesn't work in r.stream.extract
    GRASS GIS 
    trac at osgeo.org
       
    Sun Oct 29 08:53:13 PDT 2017
    
    
  
#2919: Use SFD above this threshold - infinity doesn't work in r.stream.extract
----------------------+---------------------------------
  Reporter:  PitStop  |      Owner:  grass-dev@…
      Type:  defect   |     Status:  new
  Priority:  normal   |  Milestone:  7.2.3
 Component:  Raster   |    Version:  svn-releasebranch72
Resolution:           |   Keywords:  r.stream.extract
       CPU:  x86-64   |   Platform:  MSWindows 8
----------------------+---------------------------------
Comment (by mmetz):
 Replying to [comment:11 marisn]:
 > Replying to [comment:10 hellik]:
 > > > Seems that "infinity" is not understood by the parser?
 > > >
 > > >
 https://trac.osgeo.org/grass/browser/grass/branches/releasebranch_7_0/raster/r.stream.extract/main.c#L195
 > >
 > > yes, it seems to be a parser issue. but why it works then in linux?
 > My guess - input.d8cut->answer contains extra chars (CR/LF issue?)
 there can't be CR/LF, answers are terminated by '\0'
 > and thus changing line to read:
 > {{{
 > if (strncmp(input.d8cut->answer, "infinity", 8) == 0) {
 > }}}
 > would solve the issue.
 The d8cut option is not required, therefore I removed the problematic
 default answer "infinity" and changed
 {{{
 -    if (strcmp(input.d8cut->answer, "infinity") == 0) {
 +    if (!input.d8cut->answer) {
 }}}
 in trunk and relbr72 with r71607,8.
 > Still, if it is so, then it is worth to digg deeper to see why it is
 failing as strcmp is used in many modules.
 I guess that the MS Windows version of sscanf does not recognize infinity
 as a floating point number, while the Linux version does.
--
Ticket URL: <https://trac.osgeo.org/grass/ticket/2919#comment:12>
GRASS GIS <https://grass.osgeo.org>
    
    
More information about the grass-dev
mailing list