コード例 #1
0
ファイル: str.c プロジェクト: LuaDist/gsl-shell
void
str_append_c (str_t to, const char *from, int sep)
{
  size_t flen = strlen (from);
  int use_sep = (sep != 0 && to->length > 0);
  size_t newlen = STR_LENGTH(to) + flen + (use_sep ? 1 : 0);
  int idx = STR_LENGTH(to);

  str_size_check (to, newlen);

  if (use_sep)
    to->heap[idx++] = sep;

  memcpy (to->heap + idx, from, flen+1);
  to->length = newlen;
}
コード例 #2
0
ファイル: list_test.c プロジェクト: lishengwen/logsvr
void str_test()
{
	my_str *strp = alloc_str(test, strlen(test));

	printf("content: %s, len: %d\n", STR_CONTENT(strp), STR_LENGTH(strp) + 1);

	free_str(strp);
}
コード例 #3
0
ファイル: str.c プロジェクト: LuaDist/gsl-shell
void
str_trunc (str_t s, int len)
{
  if (len < 0 || (size_t)len >= STR_LENGTH(s))
    return;

  s->heap[len] = 0;
  s->length = len;
}
コード例 #4
0
ファイル: str.c プロジェクト: LuaDist/gsl-shell
void
str_init_from_str (str_ptr s, const str_t sf)
{
  str_init_from_c_raw (s, CSTR(sf), STR_LENGTH(sf));
}