Пример #1
0
Файл: x86.c Проект: bjhua/dragon
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);
}
Пример #2
0
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);
}