+ if (DICT_nodir(p) == 0 && ptr != dict->head.root)
+ {
+ DICT_backptr(p) = dict->head.freelist;
+ dict->head.freelist = ptr;
+ dict_bf_touch(dict->dbf, ptr);
+ r = 2;
+ }
+ if (subptr && sub_flag)
+ dict_del_subtree(dict, subptr, client, f);
+
+ return r;