rev 378 - trunk/modules/dbm
SVN User <[email protected]> Sat, 17 Apr 2004 20:25:34 -0400
| Newsgroups | gmane.comp.lang.prothon.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: mark
Date: 2004-04-17 20:25:31 -0400 (Sat, 17 Apr 2004)
New Revision: 378
Modified:
trunk/modules/dbm/DBM.c
Log:
added OPEN_CHK macro to DBM.c
Modified: trunk/modules/dbm/DBM.c
===================================================================
--- trunk/modules/dbm/DBM.c 2004-04-17 23:50:32 UTC (rev 377)
+++ trunk/modules/dbm/DBM.c 2004-04-18 00:25:31 UTC (rev 378)
@@ -59,6 +59,14 @@
typedef apr_dbm_t* apr_dbm_p;
+#define OPEN_CHK(msg) \
+ if (!db) { \
+ char buf[512]; \
+ apr_snprintf(buf, sizeof(buf), "attempted %s on closed DBM database", (msg)); \
+ raise_exception(ist, DBM_Exc_OBJ, buf); \
+ return NULL; \
+ }
+
#define IF_APR_DBM_ERR(db, msg1) \
if (aprerr != APR_SUCCESS){ \
char *msg2, buf[256], errbuf[256]; \
@@ -152,8 +160,7 @@
apr_dbm_p db = self->data.ptr;
apr_datum_t key, value;
- if (!db) { raise_exception(ist, DBM_Exc_OBJ, "fetching from closed dbm database"); return NULL; }
-
+ OPEN_CHK("fetch(key)");
STRBIN_PARAM(1, key);
aprerr = apr_dbm_fetch (db, key, &value);
@@ -167,8 +174,7 @@
apr_dbm_p db = self->data.ptr;
apr_datum_t key, value;
- if (!db) { raise_exception(ist, DBM_Exc_OBJ, "storing to closed dbm database"); return NULL; }
-
+ OPEN_CHK("store(key, value)");
STRBIN_PARAM(1, key);
STRBIN_PARAM(2, value);
@@ -183,8 +189,7 @@
apr_dbm_p db = self->data.ptr;
apr_datum_t key;
- if (!db) { raise_exception(ist, DBM_Exc_OBJ, "deleting key from closed dbm database"); return NULL; }
-
+ OPEN_CHK("delete(key)");
STRBIN_PARAM(1, key);
aprerr = apr_dbm_delete(db, key);
@@ -197,8 +202,7 @@
apr_dbm_p db = self->data.ptr;
apr_datum_t key;
- if (!db) { raise_exception(ist, DBM_Exc_OBJ, "exists?(key) on closed dbm database"); return NULL; }
-
+ OPEN_CHK("exists?(key)");
STRBIN_PARAM(1, key);
if (apr_dbm_exists(db, key)) return OBJ(PR_TRUE);
@@ -210,7 +214,7 @@
apr_dbm_p db = self->data.ptr;
apr_datum_t key;
- if (!db) { raise_exception(ist, DBM_Exc_OBJ, "firstKey() on closed dbm database"); return NULL; }
+ OPEN_CHK("firstKey()");
aprerr = apr_dbm_firstkey(db, &key);
IF_APR_DBM_ERR(db, "firstKey()");
@@ -223,8 +227,7 @@
apr_dbm_p db = self->data.ptr;
apr_datum_t key;
- if (!db) { raise_exception(ist, DBM_Exc_OBJ, "nextKey(key) on closed dbm database"); return NULL; }
-
+ OPEN_CHK("nextKey(key)");
STRBIN_PARAM(1, key);
aprerr = apr_dbm_nextkey(db, &key);
@@ -236,8 +239,9 @@
apr_dbm_p db = self->data.ptr;
apr_datum_t data;
- if (!db) { raise_exception(ist, DBM_Exc_OBJ, "nextKey(key) on closed dbm database"); return NULL; }
+ OPEN_CHK("freeDatum(data)");
STRBIN_PARAM(1, data);
+
apr_dbm_freedatum(db, data);
return parms[1];
}
@@ -272,9 +276,8 @@
MAIN_MODULE_INIT(DBM) {
MODULE_SUB_INIT(DBM);
+ MODULE_ADD_SYM(DB, getUsedNames);
MODULE_ADD_SYM(DB, __init__);
- MODULE_ADD_SYM(DB, close);
- MODULE_ADD_SYM(DB, closed_QUES);
MODULE_ADD_SYM(DB, fetch);
MODULE_ADD_SYM(DB, store);
MODULE_ADD_SYM(DB, delete);
@@ -282,7 +285,6 @@
MODULE_ADD_SYM(DB, firstKey);
MODULE_ADD_SYM(DB, nextKey);
MODULE_ADD_SYM(DB, freeDatum);
- MODULE_ADD_SYM(DB, getUsedNames);
+ MODULE_ADD_SYM(DB, close);
+ MODULE_ADD_SYM(DB, closed_QUES);
}
-
-