Commit d4e5e633 authored by Kurt Zeilenga's avatar Kurt Zeilenga
Browse files

Fix matched values bug

parent d3dfc597
......@@ -727,7 +727,7 @@ send_search_entry(
: an_find( attrs, &AllOper );
/* create an array of arrays of flags. Each flag corresponds
* to particular value of attribute an equals 1 if value matches
* to particular value of attribute and equals 1 if value matches
* to ValuesReturnFilter or 0 if not
*/
for ( a = e->e_attrs, i=0; a != NULL; a = a->a_next ) i++;
......@@ -736,16 +736,19 @@ send_search_entry(
for ( a = e->e_attrs, i=0; a != NULL; a = a->a_next, i++ ) {
for ( j = 0; a->a_vals[j].bv_val != NULL; j++ );
a_flags = ch_calloc ( j, sizeof(char) );
/* If no ValuesReturnFilter control return everything */
if ( op->vrFilter == NULL ){
memset(a_flags, 1, j);
if( j ) {
a_flags = ch_calloc ( j, sizeof(char) );
/* If no ValuesReturnFilter control return everything */
if ( op->vrFilter == NULL ) {
memset(a_flags, 1, j);
}
} else {
a_flags = NULL;
}
e_flags[i] = a_flags;
}
if ( op->vrFilter != NULL ){
if ( op->vrFilter != NULL ) {
rc = filter_matched_values(be, conn, op, e->e_attrs, &e_flags) ;
if ( rc == -1 ) {
......@@ -932,8 +935,7 @@ send_search_entry(
e_flags[i] = a_flags;
}
if ( op->vrFilter != NULL ){
if ( op->vrFilter != NULL ) {
rc = filter_matched_values(be, conn, op, aa, &e_flags) ;
if ( rc == -1 ) {
......@@ -1329,7 +1331,6 @@ str2result(
s, 0, 0 );
#endif
return( -1 );
}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment