From 19897d528de779d4d3804fd7d10c235e8b50a53e Mon Sep 17 00:00:00 2001 From: Philip Hazel Date: Wed, 29 Aug 2007 14:02:22 +0000 Subject: [PATCH] POSIX allows open() to be a macro; guard against it. --- doc/doc-txt/ChangeLog | 4 +++- src/src/dbstuff.h | 6 +++--- src/src/search.c | 4 ++-- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog index 6a3999827..087c67205 100644 --- a/doc/doc-txt/ChangeLog +++ b/doc/doc-txt/ChangeLog @@ -1,4 +1,4 @@ -$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.528 2007/08/29 13:58:57 ph10 Exp $ +$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.529 2007/08/29 14:02:22 ph10 Exp $ Change log file for Exim from version 4.21 ------------------------------------------- @@ -99,6 +99,8 @@ PH/21 Added message_body_newlines option. PH/22 Guard against possible overflow in moan_check_errorcopy(). +PH/23 POSIX allows open() to be a macro; guard against that. + Exim version 4.67 ----------------- diff --git a/src/src/dbstuff.h b/src/src/dbstuff.h index 3298d7838..2cbd8ca63 100644 --- a/src/src/dbstuff.h +++ b/src/src/dbstuff.h @@ -1,4 +1,4 @@ -/* $Cambridge: exim/src/src/dbstuff.h,v 1.6 2007/01/08 10:50:17 ph10 Exp $ */ +/* $Cambridge: exim/src/src/dbstuff.h,v 1.7 2007/08/29 14:02:22 ph10 Exp $ */ /************************************************* * Exim - an Internet mail transport agent * @@ -135,7 +135,7 @@ API changed for DB 4.1. */ #define EXIM_DBOPEN(name, flags, mode, dbpp) \ if (db_create(dbpp, NULL, 0) != 0 || \ ((*dbpp)->set_errcall(*dbpp, dbfn_bdb_error_callback), \ - (*dbpp)->open(*dbpp, NULL, CS name, NULL, \ + ((*dbpp)->open)(*dbpp, NULL, CS name, NULL, \ ((flags) == O_RDONLY)? DB_UNKNOWN : DB_HASH, \ ((flags) == O_RDONLY)? DB_RDONLY : DB_CREATE, \ mode)) != 0) *(dbpp) = NULL @@ -143,7 +143,7 @@ API changed for DB 4.1. */ #define EXIM_DBOPEN(name, flags, mode, dbpp) \ if (db_create(dbpp, NULL, 0) != 0 || \ ((*dbpp)->set_errcall(*dbpp, dbfn_bdb_error_callback), \ - (*dbpp)->open(*dbpp, CS name, NULL, \ + ((*dbpp)->open)(*dbpp, CS name, NULL, \ ((flags) == O_RDONLY)? DB_UNKNOWN : DB_HASH, \ ((flags) == O_RDONLY)? DB_RDONLY : DB_CREATE, \ mode)) != 0) *(dbpp) = NULL diff --git a/src/src/search.c b/src/src/search.c index c8a1cb995..86363a210 100644 --- a/src/src/search.c +++ b/src/src/search.c @@ -1,4 +1,4 @@ -/* $Cambridge: exim/src/src/search.c,v 1.5 2007/01/08 10:50:18 ph10 Exp $ */ +/* $Cambridge: exim/src/src/search.c,v 1.6 2007/08/29 14:02:22 ph10 Exp $ */ /************************************************* * Exim - an Internet mail transport agent * @@ -397,7 +397,7 @@ if (lk->type == lookup_absfile && open_filecount >= lookup_open_max) /* If opening is successful, call the file-checking function if there is one, and if all is still well, enter the open database into the tree. */ -handle = lk->open(filename, &search_error_message); +handle = (lk->open)(filename, &search_error_message); if (handle == NULL) { store_pool = old_pool; -- 2.25.1