]> git.sur5r.net Git - openldap/commitdiff
Support slapi_entry_first_attr()/slapi_entry_next_attr() API
authorLuke Howard <lukeh@openldap.org>
Fri, 24 Jan 2003 09:23:06 +0000 (09:23 +0000)
committerLuke Howard <lukeh@openldap.org>
Fri, 24 Jan 2003 09:23:06 +0000 (09:23 +0000)
servers/slapd/slapi/slapi_utils.c
servers/slapd/slapi/slapi_utils.h

index 0922ae0138a9e7a9aada668f130f41d07d930cce..73e34e29bec1fd90e97bac1b9555a8408bfc92e4 100644 (file)
@@ -462,6 +462,42 @@ slapi_entry_attr_merge_sv( Slapi_Entry *e, const char *type, Slapi_Value **vals
 #endif
 }
 
+int
+slapi_entry_first_attr( const Slapi_Entry *e, Slapi_Attr **attr )
+{
+#ifdef LDAP_SLAPI
+       if ( e == NULL ) {
+               return -1;
+       }
+
+       *attr = e->e_attrs;
+
+       return ( *attr != NULL ) ? 0 : -1;
+#else
+       return -1;
+#endif
+}
+
+int
+slapi_entry_next_attr( const Slapi_Entry *e, Slapi_Attr *prevattr, Slapi_Attr **attr )
+{
+#ifdef LDAP_SLAPI
+       if ( e == NULL ) {
+               return -1;
+       }
+
+       if ( prevattr == NULL ) {
+               return -1;
+       }
+
+       *attr = prevattr->a_next;
+
+       return ( *attr != NULL ) ? 0 : -1;
+#else
+       return -1;
+#endif
+}
+
 int
 slapi_entry_attr_replace_sv( Slapi_Entry *e, const char *type, Slapi_Value **vals )
 {
index 2e31d542536665945c0ccf6568ebd00dc15b36d1..c8d4de45f1b6800c23a7aceec0161ce96a819109 100644 (file)
@@ -55,6 +55,8 @@ int slapi_entry_attr_get_uint( const Slapi_Entry *e, const char *type );
 int slapi_entry_attr_get_ulong( const Slapi_Entry *e, const char *type );
 int slapi_entry_attr_hasvalue( Slapi_Entry *e, const char *type, const char *value );
 int slapi_entry_attr_merge_sv( Slapi_Entry *e, const char *type, Slapi_Value **vals );
+int slapi_entry_first_attr( const Slapi_Entry *e, Slapi_Attr **attr );
+int slapi_entry_next_attr( const Slapi_Entry *e, Slapi_Attr *prevattr, Slapi_Attr **attr );
 char *slapi_entry_get_dn( Slapi_Entry *e );
 int slapi_x_entry_get_id( Slapi_Entry *e );
 void slapi_entry_set_dn( Slapi_Entry *e, char *dn );