+#ifdef NEW_LOGGING
+ LDAP_LOG( CACHE, DETAIL1,
+ "cache_update_entry: (%s):%ld already in dn cache\n",
+ e->e_dn, e->e_id, 0 );
+#else
+ Debug( LDAP_DEBUG_TRACE,
+ "====> cache_update_entry( %ld ): \"%s\": already in dn cache\n",
+ e->e_id, e->e_dn, 0 );
+#endif
+
+ /* free cache mutex */
+ ldap_pvt_thread_mutex_unlock( &cache->c_mutex );
+ return( 1 );
+ }
+
+ /* id tree */
+ if ( avl_insert( &cache->c_idtree, (caddr_t) e,
+ entry_id_cmp, avl_dup_error ) != 0 )
+ {
+#ifdef NEW_LOGGING
+ LDAP_LOG( CACHE, DETAIL1,
+ "cache_update_entry: (%s)%ld already in id cache\n",
+ e->e_dn, e->e_id, 0 );
+#else
+ Debug( LDAP_DEBUG_ANY,
+ "====> cache_update_entry( %ld ): \"%s\": already in id cache\n",
+ e->e_id, e->e_dn, 0 );
+#endif
+
+ /* delete from dn tree inserted above */
+ if ( avl_delete( &cache->c_dntree, (caddr_t) e,
+ entry_dn_cmp ) == NULL )
+ {
+#ifdef NEW_LOGGING
+ LDAP_LOG( CACHE, INFO,
+ "cache_update_entry: can't delete (%s)%ld from dn cache.\n",
+ e->e_dn, e->e_id, 0 );
+#else
+ Debug( LDAP_DEBUG_ANY, "====> can't delete from dn cache\n",
+ 0, 0, 0 );
+#endif
+ }
+
+ /* free cache mutex */
+ ldap_pvt_thread_mutex_unlock( &cache->c_mutex );
+ return( -1 );
+ }