Esempio n. 1
0
char *dup_zucs_string_to_utf8_string(z_ucs *src)
{
  char *dst;
  z_ucs *src_ptr;
  size_t len = 0;

  src_ptr = src;
  while (*src_ptr != 0)
  {
    len += get_utf8_code_length(*src_ptr);
    src_ptr++;
  }

  if ((dst = malloc(len + 1)) == NULL)
    return NULL;

  src_ptr = src;
  if ((zucs_string_to_utf8_string(dst, &src_ptr, len + 1)) != (int)(len + 1))
  {
    free(dst);
    return NULL;
  }

  return dst;
}
Esempio n. 2
0
int i18n_test_stream_output(z_ucs *output)
{
  int len;
  char buf[STREAM_BUFSIZE];

  while (*output != 0)
  {
    len = zucs_string_to_utf8_string(buf, &output, STREAM_BUFSIZE);
    fwrite(buf, 1, len-1, stdout);
  }

  return 0;
}
Esempio n. 3
0
void _trace_log_z_ucs(z_ucs *output)
{
  char utf_8_output[80 * UTF_8_MB_LEN + 1];

  if (stream_t != NULL)
  {
    while (*output != 0)
    {
      zucs_string_to_utf8_string(utf_8_output, &output, 80 * UTF_8_MB_LEN + 1);
      fsi->writestring(utf_8_output, stream_t);
      fsi->flushfile(stream_t);
    }
  }
}