File imap-2007e-c++.patch of Package imap
diff -ruN imap-2007e-orig/src/c-client/c-client.h imap-2007e/src/c-client/c-client.h
--- imap-2007e-orig/src/c-client/c-client.h 2008-06-04 18:18:34.000000000 +0000
+++ imap-2007e/src/c-client/c-client.h 2009-12-18 18:33:08.672359365 +0000
@@ -31,11 +31,6 @@
#ifdef __cplusplus /* help out people who use C++ compilers */
extern "C" {
- /* If you use gcc, you may also have to use -fno-operator-names */
-#define private cclientPrivate /* private to c-client */
-#define and cclientAnd /* C99 doesn't realize that ISO 646 is dead */
-#define or cclientOr
-#define not cclientNot
#endif
#include "mail.h" /* primary interfaces */
@@ -48,7 +43,6 @@
#include "misc.h" /* miscellaneous utility routines */
#ifdef __cplusplus /* undo the C++ mischief */
-#undef private
}
#endif
diff -ruN imap-2007e-orig/src/c-client/mail.h imap-2007e/src/c-client/mail.h
--- imap-2007e-orig/src/c-client/mail.h 2008-12-16 23:21:34.000000000 +0000
+++ imap-2007e/src/c-client/mail.h 2009-12-18 18:36:50.946447125 +0000
@@ -826,7 +826,11 @@
unsigned int dirty : 1; /* driver internal use */
unsigned int filter : 1; /* driver internal use */
unsigned int ghost : 1; /* driver internal use */
+#ifndef __cplusplus
} private;
+#else
+ } cclientPrivate;
+#endif
/* internal date */
unsigned int day : 5; /* day of month (1-31) */
unsigned int month : 4; /* month of year (1-12) */
@@ -937,8 +941,13 @@
SEARCHPGM { /* search program */
SEARCHSET *msgno; /* message numbers */
SEARCHSET *uid; /* unique identifiers */
+#ifndef __cplusplus
SEARCHOR *or; /* or'ed in programs */
SEARCHPGMLIST *not; /* and'ed not program */
+#else
+ SEARCHOR *cclientOr; /* or'ed in programs */
+ SEARCHPGMLIST *cclientNot; /* and'ed not program */
+#endif
SEARCHHEADER *header; /* list of headers */
STRINGLIST *bcc; /* bcc recipients */
STRINGLIST *body; /* text in message body */
@@ -1123,8 +1132,12 @@
char *text; /* cache of fetched text */
} search;
STRING string; /* stringstruct return hack */
+#ifndef __cplusplus
} private;
- /* reserved for use by main program */
+#else
+ } cclientPrivate;
+#endif
+ /* RESERVed for use by main program */
void *sparep; /* spare pointer */
unsigned int spare : 1; /* first spare bit */
unsigned int spare2 : 1; /* second spare bit */