]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-sql/operational.c
Cleanup ISO C compatibility for recent commits
[openldap] / servers / slapd / back-sql / operational.c
index eee3aea706e9896ebfc8b099afb235847727a6c7..2cbc23c67257098789ac0778356b3a0f4b36da11 100644 (file)
@@ -1,7 +1,7 @@
 /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 1999-2010 The OpenLDAP Foundation.
+ * Copyright 1999-2011 The OpenLDAP Foundation.
  * Portions Copyright 1999 Dmitry Kovalev.
  * Portions Copyright 2002 Pierangelo Masarati.
  * All rights reserved.
@@ -123,7 +123,7 @@ backsql_operational(
        Debug( LDAP_DEBUG_TRACE, "==>backsql_operational(): entry \"%s\"\n",
                        rs->sr_entry->e_nname.bv_val, 0, 0 );
 
-       for ( ap = &rs->sr_operational_attrs; *ap; ap = &(*ap)->a_next ) {
+       for ( ap = &rs->sr_entry->e_attrs; *ap; ap = &(*ap)->a_next ) {
                if ( (*ap)->a_desc == slap_schema.si_ad_hasSubordinates ) {
                        get_conn--;
                        got[ BACKSQL_OP_HASSUBORDINATES ] = 1;
@@ -138,6 +138,27 @@ backsql_operational(
                }
        }
 
+       for ( ap = &rs->sr_operational_attrs; *ap; ap = &(*ap)->a_next ) {
+               if ( !got[ BACKSQL_OP_HASSUBORDINATES ] &&
+                       (*ap)->a_desc == slap_schema.si_ad_hasSubordinates )
+               {
+                       get_conn--;
+                       got[ BACKSQL_OP_HASSUBORDINATES ] = 1;
+
+               } else if ( !got[ BACKSQL_OP_ENTRYUUID ] && 
+                       (*ap)->a_desc == slap_schema.si_ad_entryUUID )
+               {
+                       get_conn--;
+                       got[ BACKSQL_OP_ENTRYUUID ] = 1;
+
+               } else if ( !got[ BACKSQL_OP_ENTRYCSN ] &&
+                       (*ap)->a_desc == slap_schema.si_ad_entryCSN )
+               {
+                       get_conn--;
+                       got[ BACKSQL_OP_ENTRYCSN ] = 1;
+               }
+       }
+
        if ( !get_conn ) {
                return 0;
        }