This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: Redboot: net_io_getc_nonblock not setting return value?
- To: Grant Edwards <grante at visi dot com>
- Subject: Re: [ECOS] Redboot: net_io_getc_nonblock not setting return value?
- From: Jonathan Larmour <jlarmour at redhat dot com>
- Date: Fri, 09 Feb 2001 17:52:23 +0000
- Cc: ecos-discuss at sources dot redhat dot com
- Organization: Red Hat UK Ltd.
- References: <20010209113640.A4438@visi.com>
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