diff --git a/libraries/liblber/io.c b/libraries/liblber/io.c index 7154d3480caaa22fcd5906fdd25b6147efaab4a4..a31d23daf52e79766b44a6cd80c05066e14eda48 100644 --- a/libraries/liblber/io.c +++ b/libraries/liblber/io.c @@ -475,7 +475,7 @@ get_tag( Sockbuf *sb ) /* * A rewrite of ber_get_next that can safely be called multiple times - * for the same packet. It will simply continue were it stopped until + * for the same packet. It will simply continue where it stopped until * a full packet is read. */ @@ -575,27 +575,17 @@ get_lenbyte: to_go = (char *) &ber->ber_len + sizeof( ber->ber_len ) - ber->ber_rwptr; assert( to_go > 0 ); - res = ber_pvt_sb_read( sb, netlen, to_go ); + res = BerRead( sb, netlen, to_go ); if (res <= 0) { return LBER_DEFAULT; } ber->ber_rwptr += res; - if (res==to_go) { - /* convert length. */ - ber->ber_len = 0; - for( to_go = 0; to_go < res ; to_go++ ) { - ber->ber_len <<= 8; - ber->ber_len |= netlen[to_go]; - } - goto fill_buffer; - } else { -#if defined( EWOULDBLOCK ) - errno = EWOULDBLOCK; -#elif defined( EAGAIN ) - errno = EAGAIN; -#endif - return LBER_DEFAULT; + /* convert length. */ + ber->ber_len = 0; + for( to_go = 0; to_go < res ; to_go++ ) { + ber->ber_len <<= 8; + ber->ber_len |= netlen[to_go]; } }