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]

Redboot: net_io_getc_nonblock not setting return value?



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?

-- 
Grant Edwards
grante@visi.com


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