summaryrefslogtreecommitdiff
path: root/ext/standard/php_smart_str.h
diff options
context:
space:
mode:
authorSascha Schumann <sas@php.net>2000-10-26 18:01:51 +0000
committerSascha Schumann <sas@php.net>2000-10-26 18:01:51 +0000
commit8ef0d01baf9433ce48895f6cec66620ce4a0e067 (patch)
tree0ec006e759e896777d964f50ee20128b019956d1 /ext/standard/php_smart_str.h
parent5b7ff6f72ae9a8b11c8d57245939806cabcd95e4 (diff)
downloadphp-git-8ef0d01baf9433ce48895f6cec66620ce4a0e067.tar.gz
Make the API more leaner (sp?) and get rid of *copy*.
Diffstat (limited to 'ext/standard/php_smart_str.h')
-rw-r--r--ext/standard/php_smart_str.h34
1 files changed, 10 insertions, 24 deletions
diff --git a/ext/standard/php_smart_str.h b/ext/standard/php_smart_str.h
index 6199051dad..107acc8c86 100644
--- a/ext/standard/php_smart_str.h
+++ b/ext/standard/php_smart_str.h
@@ -24,6 +24,7 @@
#define smart_str_0(x) ((x)->c[(x)->len] = '\0')
#define smart_str_alloc(d,n) {\
+ /* if (!d->c) d->len = d->a = 0; */ \
if (n >= d->a) {\
d->c = erealloc(d->c, n + 129); \
d->a = n + 128; \
@@ -32,19 +33,6 @@
#define smart_str_appends(dest, src) smart_str_appendl(dest, src, sizeof(src)-1)
-static inline void smart_str_append(smart_str *dest, smart_str *src)
-{
- size_t newlen;
-
- if (!dest->c)
- dest->len = dest->a = 0;
-
- newlen = dest->len + src->len;
- smart_str_alloc(dest, newlen);
- memcpy(dest->c + dest->len, src->c, src->len);
- dest->len = newlen;
-}
-
static inline void smart_str_appendc(smart_str *dest, char c)
{
++dest->len;
@@ -61,21 +49,19 @@ static inline void smart_str_free(smart_str *s)
s->a = s->len = 0;
}
-static inline void smart_str_copyl(smart_str *dest, const char *src, size_t len)
-{
- smart_str_alloc(dest, len);
- memcpy(dest->c, src, len);
- dest->len = len;
-}
-
static inline void smart_str_appendl(smart_str *dest, const char *src, size_t len)
{
- smart_str s;
+ size_t newlen;
- s.c = (char *) src;
- s.len = len;
+ newlen = dest->len + len;
+ smart_str_alloc(dest, newlen);
+ memcpy(dest->c + dest->len, src, len);
+ dest->len = newlen;
+}
- smart_str_append(dest, &s);
+static inline void smart_str_append(smart_str *dest, smart_str *src)
+{
+ smart_str_appendl(dest, src->c, src->len);
}
static inline void smart_str_setl(smart_str *dest, const char *src, size_t len)