diff options
Diffstat (limited to 'sys/base/string/append.c')
-rw-r--r-- | sys/base/string/append.c | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/sys/base/string/append.c b/sys/base/string/append.c deleted file mode 100644 index d4d0396..0000000 --- a/sys/base/string/append.c +++ /dev/null @@ -1,53 +0,0 @@ -#include "internal.h" - -// append will append the given null terminated c string to the string data -// structure. this variant can append a substring of length len of the given -// string to our buffer. the result is reallocated if not enough room is present -// in the buffer. -int -str·appendlen(string *s, vlong n, const byte* b) -{ - /* - bl = strlen(b); - if (n > bl) panicf("attempted to make a substring longer than string"); - */ - - str·grow(s, n); - if(*s == nil) - return 0; - - Hdr* h = (Hdr*)(*s - sizeof(Hdr)); - - memcpy(*s + str·len(*s), b, n); - h->len += n; - (*s)[h->len] = '\0'; - - return n; -} - -// append will append the given null terminated c string to the string data -// structure. this variant will append the entire string. -int -str·append(string *s, const byte* b) -{ - return str·appendlen(s, strlen(b), b); -} - -// appendbyte will append the given byte to our string. -// NOTE: as the byte is on the stack, it is not null-terminated. -// can not pass to the above functions. -int -str·appendbyte(string *s, const byte b) -{ - str·grow(s, 1); - if(*s == nil) - return 0; - - Hdr* h = (Hdr*)(*s - sizeof(Hdr)); - - *(*s + str·len(*s)) = b; - h->len++; - (*s)[h->len] = '\0'; // NOTE: I don't think an explicit zero is required..? - - return 1; -} |