|
|
|
@ -98,52 +98,3 @@ int io_read( void *buff, int len ) |
|
|
|
|
#endif |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#if 0 |
|
|
|
|
int io_read_response( char *buff, int len )
|
|
|
|
|
{ |
|
|
|
|
int read_len = 0; |
|
|
|
|
struct timeval tv; |
|
|
|
|
fd_set fds; |
|
|
|
|
int ret; |
|
|
|
|
|
|
|
|
|
while( read_len < len ) { |
|
|
|
|
|
|
|
|
|
tv.tv_sec = 1; |
|
|
|
|
tv.tv_usec = 0; |
|
|
|
|
|
|
|
|
|
FD_ZERO( &fds ); |
|
|
|
|
FD_SET( io_fd, &fds ); |
|
|
|
|
|
|
|
|
|
if( (ret = select( io_fd + 1, &fds, NULL, NULL, &tv )) < 0 ) { |
|
|
|
|
if( errno == EINTR ) { |
|
|
|
|
continue; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if( ret == 0 ) { |
|
|
|
|
buff[read_len] = '\0'; |
|
|
|
|
printf( "timeout '%s'\n", buff); |
|
|
|
|
return -read_len; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if( (ret = read( io_fd, buff + read_len, len - read_len )) < 0 ) { |
|
|
|
|
return -1; |
|
|
|
|
} |
|
|
|
|
read_len += ret; |
|
|
|
|
|
|
|
|
|
if( (read_len > 0) &&
|
|
|
|
|
buff[ read_len - 1 ] == '>' ) { |
|
|
|
|
if( (read_len > 2) && |
|
|
|
|
buff[ read_len - 2 ] == '\r' && |
|
|
|
|
buff[ read_len - 3 ] == '\n' ) { |
|
|
|
|
return buff[read_len - 3] = '\0' ; |
|
|
|
|
return read_len-3 ; |
|
|
|
|
} else { |
|
|
|
|
return buff[read_len - 1] = '\0' ; |
|
|
|
|
return read_len-1 ; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return read_len; |
|
|
|
|
} |
|
|
|
|
#endif |
|
|
|
|