示例#1
0
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);
}
示例#2
0
/* 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);
}