]> git.sur5r.net Git - openldap/commitdiff
ITS#8292 Fix ldif-filter, drop workaround for bug
authorHallvard Furuseth <h.b.furuseth@usit.uio.no>
Tue, 27 Oct 2015 11:29:22 +0000 (12:29 +0100)
committerHallvard Furuseth <h.b.furuseth@usit.uio.no>
Tue, 27 Oct 2015 11:29:22 +0000 (12:29 +0100)
tests/progs/ldif-filter.c
tests/scripts/test063-delta-multimaster

index cf9d2573942415752c17ee7a5850110f0d572408..9425979d5fadb43884a4a307027e556a7996c8fb 100644 (file)
@@ -59,15 +59,21 @@ get_flags( const char *backend, const char *spec )
 {
        size_t len = strlen( backend );
        unsigned flags = DUMMY_FLAG;
-       const char *tmp;
+       const char *end, *tmp;
 
-       while ( '=' != *(spec += strncmp( spec, backend, len ) ? 0 : len) ) {
-               if ( (spec = strchr( spec, ',' )) == NULL ) {
+       for ( ;; spec = end + ( *end != '\0' )) {
+               if ( !*spec )
                        return 0;
+               end = spec + strcspn( spec, "," );
+               if ( !(tmp = memchr( spec, '=', end-spec )))
+                       break;
+               if ( tmp-spec == len && !memcmp( spec, backend, len )) {
+                       spec = tmp+1;
+                       break;
                }
-               ++spec;
        }
-       while ( *++spec && *spec != ',' ) {
+
+       for ( ; spec < end; spec++ ) {
                if ( (tmp = strchr( spec_options, *spec )) == NULL ) {
                        usage();
                }
index 3b7e14716f12a6aa39193664c94cbf6fb144b4ce..a8d72570429259143c483fed820130836cfa56cc 100755 (executable)
@@ -520,7 +520,7 @@ if test $RC != 0 ; then
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
        exit $RC
 fi
-$LDIFFILTER -s $BACKEND=a < $TESTDIR/server$n.out > $TESTDIR/server$n.flt
+$LDIFFILTER -s a < $TESTDIR/server$n.out > $TESTDIR/server$n.flt
 n=`expr $n + 1`
 done