-/* $Id: insert.c,v 1.27 2006-08-14 10:40:09 adam Exp $
+/* $Id: insert.c,v 1.29 2006-11-14 12:04:38 adam Exp $
Copyright (C) 1995-2006
Index Data ApS
}
}
}
- if (best_no < 0) /* we didn't find any tail string entry at all! */
- return -1;
+ assert(best_no >= 0); /* we didn't find any tail string entry at all! */
j = best_indxp - (short*) p;
subptr = new_page (dict, ptr, &subp);
if (split_page (dict, ptr, p))
{
yaz_log (YLOG_FATAL, "Unable to split page %d\n", ptr);
- abort ();
+ assert(0);
}
return dict_ins (dict, str-1, ptr, userlen, userinfo);
}
int dict_insert (Dict dict, const char *str, int userlen, void *userinfo)
{
+ if (!dict->rw)
+ return -1;
if (!dict->head.root)
{
void *p;
- if (dict->rw)
- dict->head.root = new_page (dict, 0, &p);
+ dict->head.root = new_page (dict, 0, &p);
if (!dict->head.root)
- return 0;
+ return -1;
}
return dict_ins (dict, (const Dict_char *) str, dict->head.root,
userlen, userinfo);