bool DBPrivHasKey(DBPriv *db, const void *key, int key_size) { if (!Lock(db)) { return false; } int ret = dpvsiz(db->depot, key, key_size) != -1; Unlock(db); return ret; }
int DBPrivGetValueSize(DBPriv *db, const void *key, int key_size) { if (!Lock(db)) { return false; } int ret = dpvsiz(db->depot, key, key_size); Unlock(db); return ret; }
/* Check whether a record exists or not. */ int gdbm_exists(GDBM_FILE dbf, datum key){ assert(dbf); if(!key.dptr || key.dsize < 0){ gdbm_errno = GDBM_ILLEGAL_DATA; return FALSE; } if(dbf->depot){ if(dpvsiz(dbf->depot, key.dptr, key.dsize) == -1){ gdbm_errno = gdbm_geterrno(dpecode); return FALSE; } } else { if(crvsiz(dbf->curia, key.dptr, key.dsize) == -1){ gdbm_errno = gdbm_geterrno(dpecode); return FALSE; } } return TRUE; }