X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=libraries%2Flibldap%2Fdsparse.c;h=8ec7116fd9f2af43b18bb7d7d116c27cc3742ef0;hb=55dba4395f81f75ad8f247d3c0fad7119fe1ea9d;hp=34755ea991b82e33083950bc755b085651fd0369;hpb=4d2761a6a64eaa1c4d5f7949277ecfe25b42ca83;p=openldap diff --git a/libraries/libldap/dsparse.c b/libraries/libldap/dsparse.c index 34755ea991..8ec7116fd9 100644 --- a/libraries/libldap/dsparse.c +++ b/libraries/libldap/dsparse.c @@ -1,5 +1,6 @@ +/* $OpenLDAP$ */ /* - * Copyright 1998-1999 The OpenLDAP Foundation, All Rights Reserved. + * Copyright 1998-2000 The OpenLDAP Foundation, All Rights Reserved. * COPYING RESTRICTIONS APPLY, see COPYRIGHT file */ /* Portions @@ -22,7 +23,7 @@ #include "portable.h" #include -#include +#include #include #include @@ -34,13 +35,12 @@ #include "ldap-int.h" -static int next_line LDAP_P(( char **bufp, long *blenp, char **linep )); +static int next_line LDAP_P(( char **bufp, ber_len_t *blenp, char **linep )); static char *next_token LDAP_P(( char ** sp )); - int -next_line_tokens( char **bufp, long *blenp, char ***toksp ) +ldap_int_next_line_tokens( char **bufp, ber_len_t *blenp, char ***toksp ) { char *p, *line, *token, **toks; int rc, tokcnt; @@ -51,18 +51,18 @@ next_line_tokens( char **bufp, long *blenp, char ***toksp ) return( rc ); } - if (( toks = (char **)calloc( 1, sizeof( char * ))) == NULL ) { - free( line ); + if (( toks = (char **)LDAP_CALLOC( 1, sizeof( char * ))) == NULL ) { + LBER_FREE( line ); return( -1 ); } tokcnt = 0; p = line; while (( token = next_token( &p )) != NULL ) { - if (( toks = (char **)realloc( toks, ( tokcnt + 2 ) * + if (( toks = (char **)LDAP_REALLOC( toks, ( tokcnt + 2 ) * sizeof( char * ))) == NULL ) { - free( (char *)toks ); - free( line ); + LBER_FREE( (char *)toks ); + LBER_FREE( line ); return( -1 ); } toks[ tokcnt ] = token; @@ -71,15 +71,15 @@ next_line_tokens( char **bufp, long *blenp, char ***toksp ) if ( tokcnt == 1 && strcasecmp( toks[ 0 ], "END" ) == 0 ) { tokcnt = 0; - free_strarray( toks ); + LDAP_VFREE( toks ); toks = NULL; } - free( line ); + LBER_FREE( line ); if ( tokcnt == 0 ) { if ( toks != NULL ) { - free( (char *)toks ); + LBER_FREE( (char *)toks ); } } else { *toksp = toks; @@ -90,10 +90,10 @@ next_line_tokens( char **bufp, long *blenp, char ***toksp ) static int -next_line( char **bufp, long *blenp, char **linep ) +next_line( char **bufp, ber_len_t *blenp, char **linep ) { char *linestart, *line, *p; - long plen; + ber_slen_t plen; linestart = *bufp; p = *bufp; @@ -131,7 +131,7 @@ next_line( char **bufp, long *blenp, char **linep ) return( 0 ); /* end of file */ } - if (( line = malloc( p - linestart )) == NULL ) { + if (( line = LDAP_MALLOC( p - linestart )) == NULL ) { *linep = NULL; return( -1 ); /* fatal error */ } @@ -155,7 +155,7 @@ next_token( char **sp ) p = *sp; - while ( isspace( *p )) { /* skip leading white space */ + while ( isspace( (unsigned char) *p )) { /* skip leading white space */ ++p; } @@ -170,7 +170,7 @@ next_token( char **sp ) t = tokstart = p; for ( ;; ) { - if ( *p == '\0' || ( isspace( *p ) && !in_quote )) { + if ( *p == '\0' || ( isspace( (unsigned char) *p ) && !in_quote )) { if ( *p != '\0' ) { ++p; } @@ -192,19 +192,5 @@ next_token( char **sp ) return( NULL ); } - return( ldap_strdup( tokstart )); -} - - -void -free_strarray( char **sap ) -{ - int i; - - if ( sap != NULL ) { - for ( i = 0; sap[ i ] != NULL; ++i ) { - free( sap[ i ] ); - } - free( (char *)sap ); - } + return( LDAP_STRDUP( tokstart )); }