void cdtest_String_fromBuffer (void* data) { const char* test = "lol wut"; CDString* string = CD_CreateStringFromBuffer(test, 3); tt_int_op(CD_StringLength(string), ==, 3); end: { CD_DestroyString(string); } }
SVString SV_BufferRemoveString (CDBuffer* self) { char* data = NULL; SVShort length = 0; CDString* result; evbuffer_remove(self->raw, &length, SVShortSize); length = ntohs(length); data = CD_malloc(length + 1); evbuffer_remove(self->raw, data, length); data[length] = '\0'; result = CD_CreateStringFromBuffer(data, length + 1); result->external = false; return result; }
static void cdadmin_SendUsage (CDPlayer* player, const char* usage) { const char* current = usage; size_t offset = 1; while (*current != '\0') { offset++; current++; if (*current == '\n' || *current == '\0') { if (*current == '\n') { offset--; } cdadmin_SendResponse(player, CD_CreateStringFromBuffer(usage, offset)); offset = 0; usage = current + 1; } } }