From 652b61543823f6acfe4f2ae7e3cc60fb353d7ffa Mon Sep 17 00:00:00 2001 From: Sascha Schumann Date: Sat, 19 Apr 2003 18:35:31 +0000 Subject: Fix PUTS/PUTS_H to only evaluate their argument once. --- main/php.h | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'main/php.h') diff --git a/main/php.h b/main/php.h index 55970a5d80..ddf99a814f 100644 --- a/main/php.h +++ b/main/php.h @@ -344,10 +344,18 @@ PHPAPI int cfg_get_string(char *varname, char **result); /* Output support */ #include "main/php_output.h" #define PHPWRITE(str, str_len) php_body_write((str), (str_len) TSRMLS_CC) -#define PUTS(str) php_body_write((str), strlen((str)) TSRMLS_CC) +#define PUTS(str) do { \ + const char *__str = (str); \ + php_body_write(__str, strlen(__str) TSRMLS_CC); \ +} while (0) + #define PUTC(c) (php_body_write(&(c), 1 TSRMLS_CC), (c)) #define PHPWRITE_H(str, str_len) php_header_write((str), (str_len) TSRMLS_CC) -#define PUTS_H(str) php_header_write((str), strlen((str)) TSRMLS_CC) +#define PUTS_H(str) do { \ + const char *__str = (str); \ + php_header_write(__str, strlen(__str) TSRMLS_CC); \ +} while (0) + #define PUTC_H(c) (php_header_write(&(c), 1 TSRMLS_CC), (c)) #ifdef ZTS -- cgit v1.2.1