Inline four often-called new functions
authorPhil Pennock <phil+git@pennock-tech.com>
Mon, 2 Nov 2020 07:23:14 +0000 (02:23 -0500)
committerHeiko Schlittermann (HS12-RIPE) <hs@schlittermann.de>
Tue, 27 Apr 2021 22:40:27 +0000 (00:40 +0200)
The BDAT state switchers should happen so often during SMTP reception that a
compiler hint to inline seems wise.

The length filter checks happen on every start-up, which for Exim is often
enough that I think an inline these is warranted too.

(cherry picked from commit 6e3d0e3f1c8228ef19a3d1ba61f131cef3172ceb)

src/src/exim.c
src/src/smtp_in.c

index e1736d6e98ba68f7456f6ebdca948a9368d9c10b..3aa006d96c1232f1a3661f5bcc388273c06b809a 100644 (file)
@@ -762,7 +762,7 @@ exit(EXIT_FAILURE);
 }
 
 /* fail if a length is too long */
-static void
+static inline void
 exim_len_fail_toolong(int itemlen, int maxlen, const char *description)
 {
 if (itemlen <= maxlen)
@@ -773,7 +773,7 @@ exit(EXIT_FAILURE);
 }
 
 /* only pass through the string item back to the caller if it's short enough */
-static const uschar *
+static inline const uschar *
 exim_str_fail_toolong(const uschar *item, int maxlen, const char *description)
 {
 exim_len_fail_toolong(Ustrlen(item), maxlen, description);
index 04d6aa4ba2791e1e9178701d5ec9b59cce82a515..b48870d265b54615fdce8b33e0f9234c1e652c89 100644 (file)
@@ -594,8 +594,8 @@ if (n > 0)
 
 
 /* Forward declarations */
-static void bdat_push_receive_functions(void);
-static void bdat_pop_receive_functions(void);
+static inline void bdat_push_receive_functions(void);
+static inline void bdat_pop_receive_functions(void);
 
 
 /* Get a byte from the smtp input, in CHUNKING mode.  Handle ack of the
@@ -776,7 +776,7 @@ if (chunking_state != CHUNKING_LAST)
 }
 
 
-static void
+static inline void
 bdat_push_receive_functions(void)
 {
 /* push the current receive_* function on the "stack", and
@@ -797,7 +797,7 @@ receive_getc = bdat_getc;
 receive_ungetc = bdat_ungetc;
 }
 
-static void
+static inline void
 bdat_pop_receive_functions(void)
 {
 receive_getc = lwr_receive_getc;