summaryrefslogtreecommitdiff
path: root/ext/standard/php_smart_str.h
diff options
context:
space:
mode:
authorAndrea Faulds <ajf@ajf.me>2014-09-16 13:45:06 +0100
committerAndrea Faulds <ajf@ajf.me>2014-09-16 13:45:06 +0100
commitdb72160e5ac2b267b9ffa23ad84e62e609382a44 (patch)
tree6e50c2826f98308d500cc826934a503751d4d566 /ext/standard/php_smart_str.h
parentbe88d0e5d4ab5fdf775f3e38cf054aa0451f0d36 (diff)
parentf469dc7429f2257aac6f46228302408608fbd62f (diff)
downloadphp-git-db72160e5ac2b267b9ffa23ad84e62e609382a44.tar.gz
Merge branch 'master' into integer_semantics
Conflicts: Zend/zend_operators.h
Diffstat (limited to 'ext/standard/php_smart_str.h')
-rw-r--r--ext/standard/php_smart_str.h26
1 files changed, 14 insertions, 12 deletions
diff --git a/ext/standard/php_smart_str.h b/ext/standard/php_smart_str.h
index 71bcf0b223..8b79e3edbc 100644
--- a/ext/standard/php_smart_str.h
+++ b/ext/standard/php_smart_str.h
@@ -62,7 +62,7 @@
(d)->a = newlen < SMART_STR_START_SIZE \
? SMART_STR_START_SIZE \
: newlen + SMART_STR_PREALLOC; \
- (d)->s = STR_ALLOC((d)->a, (what)); \
+ (d)->s = zend_string_alloc((d)->a, (what)); \
(d)->s->len = 0; \
} else { \
newlen = (d)->s->len + (n); \
@@ -108,7 +108,7 @@
#define smart_str_free_ex(buf, what) do { \
smart_str *__s = (smart_str *) (buf); \
if (__s->s) { \
- STR_RELEASE(__s->s); \
+ zend_string_release(__s->s); \
__s->s = NULL; \
} \
__s->a = 0; \
@@ -130,15 +130,15 @@
* #define f(..) ({char *r;..;__r;})
*/
-static inline char *smart_str_print_long(char *buf, long num) {
+static inline char *smart_str_print_long(char *buf, zend_long num) {
char *r;
- _zend_print_signed_to_buf(buf, num, long, r);
+ _zend_print_signed_to_buf(buf, num, zend_long, r);
return r;
}
-static inline char *smart_str_print_unsigned(char *buf, long num) {
+static inline char *smart_str_print_unsigned(char *buf, zend_long num) {
char *r;
- _zend_print_unsigned_to_buf(buf, num, unsigned long, r);
+ _zend_print_unsigned_to_buf(buf, num, zend_ulong, r);
return r;
}
@@ -150,17 +150,19 @@ static inline char *smart_str_print_unsigned(char *buf, long num) {
} while (0)
#define smart_str_append_unsigned_ex(dest, num, type) \
- smart_str_append_generic_ex((dest), (num), (type), unsigned long, _unsigned)
+ smart_str_append_generic_ex((dest), (num), (type), zend_ulong, _unsigned)
#define smart_str_append_long_ex(dest, num, type) \
- smart_str_append_generic_ex((dest), (num), (type), unsigned long, _signed)
+ smart_str_append_generic_ex((dest), (num), (type), zend_ulong, _signed)
#define smart_str_append_off_t_ex(dest, num, type) \
- smart_str_append_generic_ex((dest), (num), (type), off_t, _signed)
+ smart_str_append_generic_ex((dest), (num), (type), zend_off_t, _signed)
-#define smart_str_append_ex(dest, src, what) \
- smart_str_appendl_ex((dest), ((smart_str *)(src))->s->val, \
- ((smart_str *)(src))->s->len, (what));
+#define smart_str_append_ex(dest, src, what) do { \
+ if ((src)->s && (src)->s->len) { \
+ smart_str_appendl_ex((dest), (src)->s->val, (src)->s->len, (what)); \
+ } \
+} while(0)
#define smart_str_setl(dest, src, nlen) do { \
smart_str_free((dest)); \