}
}
- return NULL;
+ return s;
}
/* unescape filter value */
if ( fval[v] == '\0' ) {
/* escape at end of string */
return -1;
-
}
if (( v1 = hex2value( fval[v] )) >= 0 ) {
Debug( LDAP_DEBUG_TRACE, "put_filter: AND\n",
0, 0, 0 );
- if ( (str = put_complex_filter( ber, str,
- LDAP_FILTER_AND, 0 )) == NULL )
- return( -1 );
+ str = put_complex_filter( ber, str,
+ LDAP_FILTER_AND, 0 );
+ if( str == NULL ) return( -1 );
parens--;
break;
Debug( LDAP_DEBUG_TRACE, "put_filter: OR\n",
0, 0, 0 );
- if ( (str = put_complex_filter( ber, str,
- LDAP_FILTER_OR, 0 )) == NULL )
- return( -1 );
+ str = put_complex_filter( ber, str,
+ LDAP_FILTER_OR, 0 );
+ if( str == NULL ) return( -1 );
parens--;
break;
Debug( LDAP_DEBUG_TRACE, "put_filter: NOT\n",
0, 0, 0 );
- if ( (str = put_complex_filter( ber, str,
- LDAP_FILTER_NOT, 1 )) == NULL )
- return( -1 );
+ str = put_complex_filter( ber, str,
+ LDAP_FILTER_NOT, 0 );
+ if( str == NULL ) return( -1 );
parens--;
break;
ber_slen_t len = ldap_pvt_filter_value_unescape( value );
if( len >= 0 ) {
- rc = ber_printf( ber, "totbN}",
+ rc = ber_printf( ber, /*"{"*/ "totbN}",
LDAP_FILTER_EXT_VALUE, value, len,
LDAP_FILTER_EXT_DNATTRS, dn != NULL);
} else {
{
char *nextstar = ldap_pvt_find_wildcard( value );
if ( nextstar == NULL ) {
- rc = -1;
goto done;
} else if ( *nextstar == '\0' ) {
ftype = LDAP_FILTER_EQUALITY;
}
}
- if( rc != -1 ) rc = 0;
-
done:
+ if( rc != -1 ) rc = 0;
LDAP_FREE( str );
return rc;
}
}
if ( ber_printf( ber, /*"{{"*/ "N}N}" ) == -1 )
- return( -1 );
+ return -1;
return 0;
-}
\ No newline at end of file
+}
int usage()
{
fprintf( stderr, "usage:\n"
- "\tftest [-d n] filter" );
+ "\tftest [-d n] filter\n" );
return EXIT_FAILURE;
}
}
rc = ldap_int_put_filter( ber, filter );
- if( rc ) {
- perror( "ber_flatten" );
+ if( rc < 0 ) {
+ fprintf( stderr, "Filter error!\n");
return EXIT_FAILURE;
}
return EXIT_FAILURE;
}
+ printf( "BER encoding (len=%ld):\n", (long) bv->bv_len );
ber_bprint( bv->bv_val, bv->bv_len );
ber_free( ber, 0 );