41 while (size < newSize)
44 if (size > string->
size)
53 Assert (length <= string->length);
54 string->length = length;
55 string->buffer[
string->length] =
'\0';
105 vString *
const string,
const char *
const s,
const size_t length)
107 if (string->
length + length + 1 > string->
size)
111 string->length += length;
116 vString *
const string,
const vString *
const s,
const size_t length)
120 len = len < length ? len: length;
125 vString *
const string,
const char *
const s,
const size_t length)
127 size_t len = strlen (s);
129 len = len < length ? len : length;
134 vString *
const string,
const char *
const s,
const size_t length)
148 size_t len = strlen (s);
157 const size_t final =
string->length - 1;
162 if (string->
buffer [
final] ==
'\n')
164 string->buffer [
final] =
'\0';
175 while (n < string->length && isspace ((
int) string->
buffer [n]))
188 while (string->
length > 0 &&
192 string->buffer [
string->length] =
'\0';
203 string->buffer [
string->length] =
'\0';
220 vString *
const string,
const vString *
const s,
const size_t length)
227 vString *
const string,
const char *
const s,
const size_t length)
235 const size_t length = src->
length;
236 const char *s = src->
buffer;
243 for (i = 0 ; i < length ; ++i)
254 string->length = strlen (string->
buffer);
274 buffer =
string->buffer;
275 string->buffer =
NULL;
296 Assert (v >= 0 && v <= 0xF);
299 return 'A' + (v - 0xA);
311 if ((c > 0x00 && c <= 0x1F) || c == 0x7F || c ==
'\\')
383 bool autoRelease =
false;
398 if (string->
buffer[i] == fromC)
399 string->buffer[i] = toC;
#define DebugStatement(x)
void eFree(void *const ptr)
#define xRealloc(p, n, Type)
#define DEFAULT_TRASH_BOX(PTR, PROC)
void vStringNCatS(vString *const string, const char *const s, const size_t length)
void vStringNCopy(vString *const string, const vString *const s, const size_t length)
void vStringStripTrailing(vString *const string)
void vStringTranslate(vString *const string, char fromC, char toC)
void vStringCopyS(vString *const string, const char *const s)
char * vStringStrdup(const vString *const string)
static const size_t vStringInitialSize
vString * vStringNewOrClear(vString *const string)
void vStringNCatSUnsafe(vString *const string, const char *const s, const size_t length)
vString * vStringNew(void)
void vStringStripNewline(vString *const string)
vString * vStringNewCopy(const vString *const string)
void vStringDelete(vString *const string)
void vStringStripLeading(vString *const string)
vString * vStringNewOrClearWithAutoRelease(vString *const string)
vString * vStringNewOwn(char *s)
void vStringCatSWithEscaping(vString *b, const char *s)
void vStringNCopyS(vString *const string, const char *const s, const size_t length)
void vStringSetLength(vString *const string)
void vStringNCat(vString *const string, const vString *const s, const size_t length)
void vStringCatS(vString *const string, const char *const s)
void vStringChop(vString *const string)
static char valueToXDigit(int v)
static void stringCat(vString *const string, const char *const s, const size_t length)
vString * vStringNewInit(const char *const s)
void vStringResize(vString *const string, const size_t newSize)
char * vStringDeleteUnwrap(vString *const string)
void vStringCopyToLower(vString *const dest, const vString *const src)
void vStringTruncate(vString *const string, const size_t length)
void vStringCat(vString *const string, const vString *const s)
vString * vStringNewNInit(const char *const s, const size_t length)
void vStringCatSWithEscapingAsPattern(vString *output, const char *input)
void vStringCopy(vString *const string, const vString *const s)
#define vStringClear(string)
#define vStringLength(vs)
static void vStringPut(vString *const string, const int c)