]> git.sur5r.net Git - openldap/commitdiff
ITS#4111 fix mask_to_verbs return value
authorHoward Chu <hyc@openldap.org>
Fri, 28 Oct 2005 01:57:40 +0000 (01:57 +0000)
committerHoward Chu <hyc@openldap.org>
Fri, 28 Oct 2005 01:57:40 +0000 (01:57 +0000)
servers/slapd/config.c

index 8d5544183def6690f1005d663978c4607d4d98b2..b462046dd73086fa2366323905237f34e75170f7 100644 (file)
@@ -853,18 +853,20 @@ verbs_to_mask(int argc, char *argv[], slap_verbmasks *v, slap_mask_t *m) {
  */
 int
 mask_to_verbs(slap_verbmasks *v, slap_mask_t m, BerVarray *bva) {
-       int i;
-
-       if (!m) return 1;
-       for (i=0; !BER_BVISNULL(&v[i].word); i++) {
-               if (!v[i].mask) continue;
-               if (( m & v[i].mask ) == v[i].mask ) {
-                       value_add_one( bva, &v[i].word );
-                       m ^= v[i].mask;
-                       if ( !m ) break;
+       int i, rc = 1;
+
+       if (m) {
+               for (i=0; !BER_BVISNULL(&v[i].word); i++) {
+                       if (!v[i].mask) continue;
+                       if (( m & v[i].mask ) == v[i].mask ) {
+                               value_add_one( bva, &v[i].word );
+                               rc = 0;
+                               m ^= v[i].mask;
+                               if ( !m ) break;
+                       }
                }
        }
-       return 0;
+       return rc;
 }
 
 int