Lines Matching refs:key
177 sdbm_fetch(register DBM *db, datum key)
179 if (db == NULL || bad(key))
182 if (getpage(db, exhash(key)))
183 return getpair(db->pagbuf, key);
189 sdbm_exists(register DBM *db, datum key)
191 if (db == NULL || bad(key))
194 if (getpage(db, exhash(key)))
195 return exipair(db->pagbuf, key);
201 sdbm_delete(register DBM *db, datum key)
203 if (db == NULL || bad(key))
208 if (getpage(db, exhash(key))) {
209 if (!delpair(db->pagbuf, key))
225 sdbm_store(register DBM *db, datum key, datum val, int flags)
230 if (db == NULL || bad(key))
235 need = key.dsize + val.dsize;
242 if (getpage(db, (hash = exhash(key)))) {
244 * if we need to replace, delete the key/data pair
248 (void) delpair(db->pagbuf, key);
250 else if (duppair(db->pagbuf, key))
260 * we have enough room or split is successful. insert the key,
263 (void) putpair(db->pagbuf, key, val);
307 * select the page for incoming pair: if key is to go to the new page,
365 * we still cannot fit the key. say goodnight.
509 * getnext - get the next key in the page, and if done with
515 datum key;
519 key = getnkey(db->pagbuf, db->keyptr);
520 if (key.dptr != NULL)
521 return key;