Lines Matching refs:str
55 void CuStringInit(CuString* str)
57 str->length = 0;
58 str->size = STRING_MAX;
59 str->buffer = (char*) malloc(sizeof(char) * str->size);
60 str->buffer[0] = '\0';
65 CuString* str = (CuString*) malloc(sizeof(CuString));
66 str->length = 0;
67 str->size = STRING_MAX;
68 str->buffer = (char*) malloc(sizeof(char) * str->size);
69 str->buffer[0] = '\0';
70 return str;
73 void CuStringDelete(CuString *str)
75 if (!str) return;
76 free(str->buffer);
77 free(str);
80 void CuStringResize(CuString* str, int newSize)
82 str->buffer = (char*) realloc(str->buffer, sizeof(char) * newSize);
83 str->size = newSize;
86 void CuStringAppend(CuString* str, const char* text)
95 if (str->length + length + 1 >= str->size)
96 CuStringResize(str, str->length + length + 1 + STRING_INC);
97 str->length += length;
98 strcat(str->buffer, text);
101 void CuStringAppendChar(CuString* str, char ch)
106 CuStringAppend(str, text);
109 __attribute__ ((format (printf, 2, 3))) void CuStringAppendFormat(CuString* str, const char* format, ...)
116 CuStringAppend(str, buf);
119 void CuStringInsert(CuString* str, const char* text, int pos)
122 if (pos > str->length)
123 pos = str->length;
124 if (str->length + length + 1 >= str->size)
125 CuStringResize(str, str->length + length + 1 + STRING_INC);
126 memmove(str->buffer + pos + length, str->buffer + pos, (str->length - pos) + 1);
127 str->length += length;
128 memcpy(str->buffer + pos, text, length);