mirror of
https://github.com/bdnugget/php-src.git
synced 2026-11-08 01:37:30 +00:00
Clean up STR_CAT macro (it is still ugly)
This commit is contained in:
1 parent
1cc3e6b5e6
commit
5bf4e7857d
1 file changed
+3
-8
@@ -169,14 +169,9 @@ typedef struct {
|
||||
#define STR_CAT(P,S,I) {\
|
||||
pval *__p = (P);\
|
||||
size_t __l = (I);\
|
||||
ulong __i = Z_STRLEN_P(__p);\
|
||||
Z_STRLEN_P(__p) += __l;\
|
||||
if (Z_STRVAL_P(__p)) {\
|
||||
Z_STRVAL_P(__p) = (char *)erealloc(Z_STRVAL_P(__p), Z_STRLEN_P(__p) + 1);\
|
||||
} else {\
|
||||
Z_STRVAL_P(__p) = emalloc(Z_STRLEN_P(__p) + 1);\
|
||||
*Z_STRVAL_P(__p) = 0;\
|
||||
}\
|
||||
ulong __i = Z_STRLEN_P(__p);\
|
||||
Z_STRLEN_P(__p) += __l;\
|
||||
Z_STRVAL_P(__p) = (char *)erealloc(Z_STRVAL_P(__p), Z_STRLEN_P(__p) + 1);\
|
||||
memcpy(Z_STRVAL_P(__p) + __i, (S), __l); \
|
||||
Z_STRVAL_P(__p)[Z_STRLEN_P(__p)] = '\0'; \
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user