static String_t convert (String_t s) { CharBuffer_t buffer = CharBuffer_new (); while (*s){ char c = *s; switch (c){ case '\n': CharBuffer_append (buffer, '\\'); CharBuffer_append (buffer, 'n'); break; case '\t': CharBuffer_append (buffer, '\\'); CharBuffer_append (buffer, 't'); break; case '\\': CharBuffer_append (buffer, '\\'); CharBuffer_append (buffer, '\\'); break; case '\"': CharBuffer_append (buffer, '\\'); CharBuffer_append (buffer, '\"'); break; default: CharBuffer_append (buffer, c); break; } s++; } return CharBuffer_toStringBeforeClear (buffer); }
END_TEST START_TEST(test_CharBuffer_append) { charBuffer_t *cb; const char *b; cb = CharBuffer_create(); CharBuffer_append(cb, "abc"); b = CharBuffer_getBuffer(cb); ck_assert(b != NULL); ck_assert_str_eq(b, "abc"); CharBuffer_append(cb, "def"); b = CharBuffer_getBuffer(cb); ck_assert(b != NULL); ck_assert_str_eq(b, "abcdef"); CharBuffer_free(cb); }