This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Redboot: net_io_getc_nonblock not setting return value?


Grant Edwards wrote:
> 
> I'm getting a compiler warning about net_io_getc_nonblock not
> returning a value.  The routine looks like this:
> 
>    160  static cyg_bool
>    161  net_io_getc_nonblock(void* __ch_data, cyg_uint8* ch)
>    162  {
>    163      if (_net_io_getc_nonblock(__ch_data, ch)) {
>    164          if (*ch == TELNET_IAC) {
>    165              cyg_uint8 esc;
>    166              // Telnet escape - need to read/handle more
>    167              while (!_net_io_getc_nonblock(__ch_data, &esc)) ;
>    168              if (esc == TELNET_IP) {
>    169                  // Special case for ^C == Interrupt Process
>    170                  *ch = 0x03;
>    171                  // Just in case the other end needs synchronizing
>    172                  net_io_putc(__ch_data, TELNET_IAC);
>    173                  net_io_putc(__ch_data, TELNET_WONT);
>    174                  net_io_putc(__ch_data, TELNET_TM);
>    175                  net_io_flush();
>    176                  return true;
>    177              }
>    178              if (esc == TELNET_DO) {
>    179                  // Telnet DO option
>    180                  while (!_net_io_getc_nonblock(__ch_data, &esc)) ;
>    181                  // Respond with WONT option
>    182                  net_io_putc(__ch_data, TELNET_IAC);
>    183                  net_io_putc(__ch_data, TELNET_WONT);
>    184                  net_io_putc(__ch_data, esc);
>    185                  return false;  // Ignore this whole thing!
>    186              }
>    187          }
>    188      } else {
>    189          return false;
>    190      }
>    191  }
> 
> Should there be a "return true;" either between lines 187/188
> or just before the final brace at line 191?

It should probably just have a default return false at the end. i.e. just

>    187          }
>    188      }
>    189      return false;
>    191  }

I'll change it.

Jifl
-- 
Red Hat, Rustat House, Clifton Road, Cambridge, UK. Tel: +44 (1223) 271062
Maybe this world is another planet's Hell -Aldous Huxley || Opinions==mine


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]