unistr *unistr_new(void);
void unistr_free(unistr *str);
-unistr *unistr_dup(const unistr *str);
void unistr_append_char(unistr *str, unistr_char uc);
void unistr_append_usascii(unistr *str, const char *binary, size_t bin_len);
void unistr_append_utf8(unistr *str, const char *binary, size_t bin_len);
}
-unistr *unistr_dup(const unistr *str)
-{
- unistr *ret;
- unsigned int i;
-
- ret = unistr_new();
- for (i=0; i<str->len; i++) {
- unistr_append_char(ret, str->chars[i]);
- }
-
- return ret;
-}
-
-
void unistr_append_char(unistr *str, unistr_char uc)
{
if (str->len >= str->alloc_len) {
}
-void unistr_dump(const unistr *str)
-{
- unsigned int i;
-
- printf("unistr_dump(%p)\n", (void *)str);
- printf(" ->len = %lu\n", (unsigned long)str->len);
- printf(" ->alloc_len = %lu\n", (unsigned long)str->alloc_len);
- printf(" ->chars [ ");
- for (i=0; i<str->len; i++) {
- if ((str->chars[i] <= 0x7F) && (str->chars[i] != '\n')) {
- printf("'%c' ", str->chars[i]);
- } else {
- printf("0x%02X ", str->chars[i]);
- }
- }
- printf("]\n");
-}
-
-
char *unistr_to_utf8(const unistr *str)
{
unsigned int i;