From: Kurt Zeilenga Date: Thu, 22 May 2003 03:35:36 +0000 (+0000) Subject: Fix dtest ber_get_next() usage X-Git-Tag: OPENLDAP_REL_ENG_2_2_0ALPHA~90 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=bfa6808c487154dcf481873868372e4c86d1443e;p=openldap Fix dtest ber_get_next() usage --- diff --git a/libraries/liblber/dtest.c b/libraries/liblber/dtest.c index 32ea47713d..e7a4a3f7d6 100644 --- a/libraries/liblber/dtest.c +++ b/libraries/liblber/dtest.c @@ -76,16 +76,18 @@ main( int argc, char **argv ) for (;;) { tag = ber_get_next( sb, &len, ber); - if( tag == LBER_ERROR ) { - if( errno == EWOULDBLOCK ) continue; - if( errno == EAGAIN ) continue; - perror( "ber_get_next" ); - return( EXIT_FAILURE ); - } + if( tag != LBER_ERROR ) break; + + if( errno == EWOULDBLOCK ) continue; + if( errno == EAGAIN ) continue; + + perror( "ber_get_next" ); + return( EXIT_FAILURE ); + } printf("decode: message tag 0x%lx and length %ld\n", - (unsigned long) tag, (long) len ); + (unsigned long) tag, (long) len ); for( s = argv[1]; *s; s++ ) { char buf[128]; diff --git a/libraries/liblber/io.c b/libraries/liblber/io.c index 2aab7d0040..4815bbcd1a 100644 --- a/libraries/liblber/io.c +++ b/libraries/liblber/io.c @@ -500,10 +500,7 @@ ber_get_next( */ if (ber->ber_rwptr == NULL) { -#if 0 - /* XXYYZ - dtest does like this assert. */ assert( ber->ber_buf == NULL ); -#endif ber->ber_rwptr = (char *) &ber->ber_len-1; ber->ber_ptr = ber->ber_rwptr; ber->ber_tag = 0;