void test_str_prepend_c(void) { str dst; str_create_from_cstr(&dst, "base_string"); str_prepend_c(&dst, "prepended_string"); CU_ASSERT(str_size(&dst) == 27); CU_ASSERT_PTR_NOT_NULL(dst.data); CU_ASSERT_NSTRING_EQUAL(dst.data, "prepended_string", 16); CU_ASSERT_NSTRING_EQUAL(dst.data+16, "base_string", 11); CU_ASSERT(dst.data[dst.len] == 0); str_free(&dst); }
/* Just clean path. */ string_t *str_clean_path(string_t *str, char sep) { char deli[] = "\\/"; assert(str != NULL); assert(str->cstr != NULL); if (str->cstr[0] == '/' || str->cstr[0] == '\\') { str_remwhs_buf(str, deli, 2, &sep, 1); return str_prepend_c(str, sep); } return str_remwhs_buf(str, deli, 2, &sep, 1); }