version 1.84.2.6, 2003/03/03 17:10:04
|
version 1.84.2.7, 2003/03/12 20:46:02
|
Line 1
|
Line 1
|
/* decode.c - ber input decoding routines */ |
/* decode.c - ber input decoding routines */ |
/* $OpenLDAP: pkg/ldap/libraries/liblber/decode.c,v 1.84.2.5 2003/03/03 16:57:05 kurt Exp $ */ |
/* $OpenLDAP: pkg/ldap/libraries/liblber/decode.c,v 1.84.2.6 2003/03/03 17:10:04 kurt Exp $ */ |
/* |
/* |
* Copyright 1998-2003 The OpenLDAP Foundation, All Rights Reserved. |
* Copyright 1998-2003 The OpenLDAP Foundation, All Rights Reserved. |
* COPYING RESTRICTIONS APPLY, see COPYRIGHT file |
* COPYING RESTRICTIONS APPLY, see COPYRIGHT file |
Line 315 ber_get_stringbvl( bgbvr *b, ber_len_t *
|
Line 315 ber_get_stringbvl( bgbvr *b, ber_len_t *
|
char *last, *orig; |
char *last, *orig; |
struct berval bv, *bvp = NULL; |
struct berval bv, *bvp = NULL; |
|
|
|
/* For rewinding, just like ber_peek_tag() */ |
orig = b->ber->ber_ptr; |
orig = b->ber->ber_ptr; |
|
tag = b->ber->ber_tag; |
|
|
tag = ber_first_element( b->ber, &len, &last ); |
if ( ber_first_element( b->ber, &len, &last ) != LBER_DEFAULT ) { |
if ( tag != LBER_DEFAULT ) { |
|
for ( ; b->ber->ber_ptr < last; i++ ) |
for ( ; b->ber->ber_ptr < last; i++ ) |
{ |
{ |
tag = ber_skip_tag( b->ber, &len ); |
if (ber_skip_tag( b->ber, &len ) == LBER_DEFAULT) break; |
if (tag == LBER_DEFAULT) break; |
|
b->ber->ber_ptr += len; |
b->ber->ber_ptr += len; |
} |
} |
} |
} |
Line 366 ber_get_stringbvl( bgbvr *b, ber_len_t *
|
Line 366 ber_get_stringbvl( bgbvr *b, ber_len_t *
|
break; |
break; |
} |
} |
b->ber->ber_ptr = orig; |
b->ber->ber_ptr = orig; |
|
b->ber->ber_tag = tag; |
ber_skip_tag( b->ber, &len ); |
ber_skip_tag( b->ber, &len ); |
|
|
for (n=0; n<i; n++) |
for (n=0; n<i; n++) |