version 1.34, 1999/06/18 21:53:07
|
version 1.37, 1999/08/23 22:27:55
|
Line 30
|
Line 30
|
|
|
#include "lber-int.h" |
#include "lber-int.h" |
|
|
static ber_tag_t ber_getnint LDAP_P(( |
static ber_len_t ber_getnint LDAP_P(( |
BerElement *ber, |
BerElement *ber, |
ber_int_t *num, |
ber_int_t *num, |
ber_len_t len )); |
ber_len_t len )); |
Line 107 ber_skip_tag( BerElement *ber, ber_len_t
|
Line 107 ber_skip_tag( BerElement *ber, ber_len_t
|
* Next, read the length. The first byte contains the length of |
* Next, read the length. The first byte contains the length of |
* the length. If bit 8 is set, the length is the long form, |
* the length. If bit 8 is set, the length is the long form, |
* otherwise it's the short form. We don't allow a length that's |
* otherwise it's the short form. We don't allow a length that's |
* greater than what we can hold in an unsigned long. |
* greater than what we can hold in a ber_len_t. |
*/ |
*/ |
|
|
*len = netlen = 0; |
*len = netlen = 0; |
Line 154 ber_peek_tag(
|
Line 154 ber_peek_tag(
|
return( tag ); |
return( tag ); |
} |
} |
|
|
static ber_tag_t |
static ber_len_t |
ber_getnint( |
ber_getnint( |
BerElement *ber, |
BerElement *ber, |
ber_int_t *num, |
ber_int_t *num, |
Line 178 ber_getnint(
|
Line 178 ber_getnint(
|
return( -1 ); |
return( -1 ); |
|
|
/* read into the low-order bytes of our buffer */ |
/* read into the low-order bytes of our buffer */ |
if ( (ber_len_t) ber_read( ber, buf, len ) != len ) { |
if ( (ber_len_t) ber_read( ber, (char *) buf, len ) != len ) { |
return( -1 ); |
return( -1 ); |
} |
} |
|
|
Line 215 ber_get_int(
|
Line 215 ber_get_int(
|
if ( (tag = ber_skip_tag( ber, &len )) == LBER_DEFAULT ) |
if ( (tag = ber_skip_tag( ber, &len )) == LBER_DEFAULT ) |
return( LBER_DEFAULT ); |
return( LBER_DEFAULT ); |
|
|
if ( (unsigned long) ber_getnint( ber, num, len ) != len ) |
if ( ber_getnint( ber, num, len ) != len ) |
return( LBER_DEFAULT ); |
return( LBER_DEFAULT ); |
else |
else |
return( tag ); |
return( tag ); |
Line 242 ber_get_stringb(
|
Line 242 ber_get_stringb(
|
if ( datalen > (*len - 1) ) |
if ( datalen > (*len - 1) ) |
return( LBER_DEFAULT ); |
return( LBER_DEFAULT ); |
|
|
if ( (unsigned long) ber_read( ber, buf, datalen ) != datalen ) |
if ( (ber_len_t) ber_read( ber, buf, datalen ) != datalen ) |
return( LBER_DEFAULT ); |
return( LBER_DEFAULT ); |
|
|
buf[datalen] = '\0'; |
buf[datalen] = '\0'; |
Line 289 ber_get_stringa( BerElement *ber, char *
|
Line 289 ber_get_stringa( BerElement *ber, char *
|
if ( (*buf = (char *) LBER_MALLOC( datalen + 1 )) == NULL ) |
if ( (*buf = (char *) LBER_MALLOC( datalen + 1 )) == NULL ) |
return( LBER_DEFAULT ); |
return( LBER_DEFAULT ); |
|
|
if ( (unsigned long) ber_read( ber, *buf, datalen ) != datalen ) { |
if ( (ber_len_t) ber_read( ber, *buf, datalen ) != datalen ) { |
LBER_FREE( *buf ); |
LBER_FREE( *buf ); |
*buf = NULL; |
*buf = NULL; |
return( LBER_DEFAULT ); |
return( LBER_DEFAULT ); |
Line 393 ber_get_bitstringa(
|
Line 393 ber_get_bitstringa(
|
return( LBER_DEFAULT ); |
return( LBER_DEFAULT ); |
} |
} |
|
|
if ( (unsigned long) ber_read( ber, *buf, datalen ) != datalen ) { |
if ( (ber_len_t) ber_read( ber, *buf, datalen ) != datalen ) { |
LBER_FREE( buf ); |
LBER_FREE( buf ); |
*buf = NULL; |
*buf = NULL; |
return( LBER_DEFAULT ); |
return( LBER_DEFAULT ); |
Line 486 ber_next_element(
|
Line 486 ber_next_element(
|
|
|
/* VARARGS */ |
/* VARARGS */ |
ber_tag_t |
ber_tag_t |
ber_scanf |
ber_scanf ( BerElement *ber, |
#if HAVE_STDARG |
|
( BerElement *ber, |
|
LDAP_CONST char *fmt, |
LDAP_CONST char *fmt, |
... ) |
... ) |
#else |
|
( va_alist ) |
|
va_dcl |
|
#endif |
|
{ |
{ |
va_list ap; |
va_list ap; |
#ifndef HAVE_STDARG |
|
BerElement *ber; |
|
char *fmt; |
|
#endif |
|
LDAP_CONST char *fmt_reset; |
LDAP_CONST char *fmt_reset; |
char *last; |
char *last; |
char *s, **ss, ***sss; |
char *s, **ss, ***sss; |
Line 512 va_dcl
|
Line 502 va_dcl
|
ber_tag_t rc, tag; |
ber_tag_t rc, tag; |
ber_len_t len; |
ber_len_t len; |
|
|
#ifdef HAVE_STDARG |
|
va_start( ap, fmt ); |
va_start( ap, fmt ); |
#else |
|
va_start( ap ); |
|
ber = va_arg( ap, BerElement * ); |
|
fmt = va_arg( ap, char * ); |
|
#endif |
|
|
|
assert( ber != NULL ); |
assert( ber != NULL ); |
assert( fmt != NULL ); |
assert( fmt != NULL ); |
Line 672 va_dcl
|
Line 656 va_dcl
|
* Error. Reclaim malloced memory that was given to the caller. |
* Error. Reclaim malloced memory that was given to the caller. |
* Set allocated pointers to NULL, "data length" outvalues to 0. |
* Set allocated pointers to NULL, "data length" outvalues to 0. |
*/ |
*/ |
#ifdef HAVE_STDARG |
|
va_start( ap, fmt ); |
va_start( ap, fmt ); |
#else |
|
va_start( ap ); |
|
(void) va_arg( ap, BerElement * ); |
|
(void) va_arg( ap, char * ); |
|
#endif |
|
|
|
for ( ; fmt_reset < fmt; fmt_reset++ ) { |
for ( ; fmt_reset < fmt; fmt_reset++ ) { |
switch ( *fmt_reset ) { |
switch ( *fmt_reset ) { |