File pointer_to_literals.patch of Package postfix

diff -Nur postfix-2.11.0/src/cleanup/cleanup_message.c postfix-2.11.0-patched/src/cleanup/cleanup_message.c
--- postfix-2.11.0/src/cleanup/cleanup_message.c	2013-11-12 18:53:03.000000000 +0100
+++ postfix-2.11.0-patched/src/cleanup/cleanup_message.c	2014-02-12 15:17:28.172612478 +0100
@@ -290,7 +290,7 @@
     while (*optional_text && ISSPACE(*optional_text))
 	optional_text++;
 
-#define STREQUAL(x,y,l) (strncasecmp((x), (y), (l)) == 0 && (y)[l] == 0)
+inline int STREQUAL(const char *x, const char *y, size_t l) { return (strncasecmp((x), (y), (l)) == 0 && (y)[l] == 0); }
 #define CLEANUP_ACT_DROP 0
 
     /*
diff -Nur postfix-2.11.0/src/local/local_expand.c postfix-2.11.0-patched/src/local/local_expand.c
--- postfix-2.11.0/src/local/local_expand.c	2013-04-05 23:27:48.000000000 +0200
+++ postfix-2.11.0-patched/src/local/local_expand.c	2014-02-12 15:22:23.684849057 +0100
@@ -115,7 +115,7 @@
     LOCAL_EXP *local = (LOCAL_EXP *) ptr;
     static char rcpt_delim[2];
 
-#define STREQ(x,y) (*(x) == *(y) && strcmp((x), (y)) == 0)
+inline int STREQ(const char *x, const char *y) { return (*(x) == *(y) && strcmp((x), (y)) == 0); }
 
     if (STREQ(name, "user")) {
 	return (local->state->msg_attr.user);
diff -Nur postfix-2.11.0/src/smtpd/smtpd_check.c postfix-2.11.0-patched/src/smtpd/smtpd_check.c
--- postfix-2.11.0/src/smtpd/smtpd_check.c	2013-11-12 19:00:11.000000000 +0100
+++ postfix-2.11.0-patched/src/smtpd/smtpd_check.c	2014-02-12 15:17:28.174612493 +0100
@@ -363,6 +363,10 @@
 #define CONST_STR(x)	((const char *) vstring_str(x))
 #define UPDATE_STRING(ptr,val) { if (ptr) myfree(ptr); ptr = mystrdup(val); }
 
+inline int STREQ(const char *x, const char *y) { return (*(x) == *(y) && strcmp((x), (y)) == 0); }
+inline int STREQUAL(const char *x, const char *y, size_t l) { return (strncasecmp((x), (y), (l)) == 0 && (y)[l] == 0); }
+inline int STREQN(const char *x, const char *y, size_t n) { return (*(x) == *(y) && strncmp((x), (y), (n)) == 0); }
+
  /*
   * If some decision can't be made due to a temporary error, then change
   * other decisions into deferrals.
@@ -2073,8 +2077,6 @@
     if (msg_verbose)
 	msg_info("%s: %s %s %s", myname, table, value, datum);
 
-#define STREQUAL(x,y,l) (strncasecmp((x), (y), (l)) == 0 && (y)[l] == 0)
-
     /*
      * DUNNO means skip this table. Silently ignore optional text.
      */
@@ -3087,8 +3089,6 @@
     SMTPD_RBL_EXPAND_CONTEXT *rbl_exp = (SMTPD_RBL_EXPAND_CONTEXT *) context;
     SMTPD_STATE *state = rbl_exp->state;
 
-#define STREQ(x,y) (*(x) == *(y) && strcmp((x), (y)) == 0)
-
     if (state->expand_buf == 0)
 	state->expand_buf = vstring_alloc(10);
 
diff -Nur postfix-2.11.0/src/util/dict_open.c postfix-2.11.0-patched/src/util/dict_open.c
--- postfix-2.11.0/src/util/dict_open.c	2014-02-12 15:19:33.689563158 +0100
+++ postfix-2.11.0-patched/src/util/dict_open.c	2014-02-12 15:17:28.174612493 +0100
@@ -554,7 +554,7 @@
 }
 
 #ifndef NO_DYNAMIC_MAPS
-#define	STREQ(x,y) (x == y || (x[0] == y[0] && strcmp(x,y) == 0))
+inline int STREQ(const char *x, const char *y) { return ( x == y || (*(x) == *(y) && strcmp((x), (y)) == 0)); }
 
 void dict_open_dlinfo(const char *path)
 {
openSUSE Build Service is sponsored by