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 */