-
- Dict_ptr subptr;
-
- /* Dict_ptr subptr */
- /* Dict_char sub char */
- /* unsigned char length of information */
- /* char * information */
- char *info = (char*)p - indxp[-i];
- memcpy (&subptr, info, sizeof(Dict_ptr));
-
- if (info[sizeof(Dict_ptr)+sizeof(Dict_char)])
- {
- if (f)
- (*f)(info+sizeof(Dict_ptr)+sizeof(Dict_char), client);
- }
- if (subptr)
- {
- dict_del_subtree (dict, subptr, client, f);
- more = 1;
- break;
- }
+ dict_del_subtree (dict, subptr, client, f);
+
+ /* page may be gone. reread it .. */
+ dict_bf_readp (dict->dbf, ptr, &p);
+ indxp = (short*) ((char*) p+DICT_bsize(p)-sizeof(short));