Fix PUTS/PUTS_H to only evaluate their argument once.

This commit is contained in:
Sascha Schumann 2003-04-19 18:35:31 +00:00
parent dc27fbd90f
commit 652b615438

View File

@ -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