- dict_scan_r(dict, subptr, pos+1, str, before, after,
- client, userfunc);
+ if (subptr)
+ dict_scan_r(dict, subptr, pos+1, str, before, after,
+ client, userfunc);
+ if (info[sizeof(Dict_ptr)+sizeof(Dict_char)])
+ {
+ if (*before)
+ {
+ str[pos+1] = DICT_EOS;
+ if ((*userfunc)((char*) str,
+ info+sizeof(Dict_ptr)+
+ sizeof(Dict_char),
+ - *before, client))
+ {
+ *before = 0;
+ }
+ else
+ --(*before);
+ }
+ }