- { (*(dbpp)) = (EXIM_DB *) malloc(sizeof(EXIM_DB));\
- if (*(dbpp) != NULL) { \
- (*(dbpp))->lkey.dptr = NULL;\
- (*(dbpp))->gdbm = gdbm_open(CS name, 0, (((flags) & O_CREAT))?GDBM_WRCREAT:(((flags) & (O_RDWR|O_WRONLY))?GDBM_WRITER:GDBM_READER), mode, 0);\
- if ((*(dbpp))->gdbm == NULL) {\
- free(*(dbpp));\
- *(dbpp) = NULL;\
+ { EXIM_DB * dbp = malloc(sizeof(EXIM_DB));\
+ if (dbp) { \
+ dbp->lkey.dptr = NULL;\
+ dbp->gdbm = gdbm_open(CS name, 0, (((flags) & O_CREAT))?GDBM_WRCREAT:(((flags) & (O_RDWR|O_WRONLY))?GDBM_WRITER:GDBM_READER), (mode), 0);\
+ if (!dbp->gdbm) {\
+ free(dbp);\
+ dbp = NULL;\