diff options
author | Sascha Schumann <sas@php.net> | 2003-04-19 18:35:31 +0000 |
---|---|---|
committer | Sascha Schumann <sas@php.net> | 2003-04-19 18:35:31 +0000 |
commit | 652b61543823f6acfe4f2ae7e3cc60fb353d7ffa (patch) | |
tree | 2536a56bd39bf3ecb4d8947a8350c6363a74fb82 /main/php.h | |
parent | dc27fbd90f5bc67c968bcf71b6c0481e6d59ba9d (diff) | |
download | php-git-652b61543823f6acfe4f2ae7e3cc60fb353d7ffa.tar.gz |
Fix PUTS/PUTS_H to only evaluate their argument once.
Diffstat (limited to 'main/php.h')
-rw-r--r-- | main/php.h | 12 |
1 files changed, 10 insertions, 2 deletions
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 |