2 * Copyright (c) 1985 The Regents of the University of California.
5 * Redistribution and use in source and binary forms are permitted
6 * provided that the above copyright notice and this paragraph are
7 * duplicated in all such forms and that any documentation,
8 * advertising materials, and other materials related to such
9 * distribution and use acknowledge that the software was developed
10 * by the University of California, Berkeley. The name of the
11 * University may not be used to endorse or promote products derived
12 * from this software without specific prior written permission.
13 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
14 * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
15 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
19 static char sccsid[] = "@(#)dbm.c 5.4 (Berkeley) 5/24/89";
24 #define NODB ((DBM *)0)
26 static DBM *cur_db = NODB;
28 static char no_db[] = "dbm: no open database\n";
36 cur_db = dbm_open(file, 2, 0);
38 cur_db = dbm_open(file, 0, 0);
52 return (dbm_forder(cur_db, key));
65 return (dbm_fetch(cur_db, key));
75 if (dbm_rdonly(cur_db))
77 return (dbm_delete(cur_db, key));
81 store(datum key, datum dat)
87 if (dbm_rdonly(cur_db))
90 return (dbm_store(cur_db, key, dat, DBM_REPLACE));
103 return (dbm_firstkey(cur_db));
111 if (cur_db == NODB) {
116 return (dbm_nextkey(cur_db, key));