dovecot: Define unichars array type and use it for uni_utf8_to_u...
dovecot at dovecot.org
dovecot at dovecot.org
Thu Dec 27 22:56:26 EET 2007
details: http://hg.dovecot.org/dovecot/rev/dcbf6afdf931
changeset: 7042:dcbf6afdf931
user: Timo Sirainen <tss at iki.fi>
date: Thu Dec 27 22:56:25 2007 +0200
description:
Define unichars array type and use it for uni_utf8_to_ucs4() output.
diffstat:
2 files changed, 5 insertions(+), 4 deletions(-)
src/lib/unichar.c | 6 +++---
src/lib/unichar.h | 3 ++-
diffs (50 lines):
diff -r cc70ab74f4f3 -r dcbf6afdf931 src/lib/unichar.c
--- a/src/lib/unichar.c Thu Dec 27 22:51:28 2007 +0200
+++ b/src/lib/unichar.c Thu Dec 27 22:56:25 2007 +0200
@@ -1,7 +1,7 @@
/* Copyright (c) 2005-2007 Dovecot authors, see the included COPYING file */
#include "lib.h"
-#include "buffer.h"
+#include "array.h"
#include "bsearch-insert-pos.h"
#include "unichar.h"
@@ -93,7 +93,7 @@ int uni_utf8_get_char_n(const void *_inp
return ret;
}
-int uni_utf8_to_ucs4(const char *input, buffer_t *output)
+int uni_utf8_to_ucs4(const char *input, ARRAY_TYPE(unichars) *output)
{
unichar_t chr;
@@ -104,7 +104,7 @@ int uni_utf8_to_ucs4(const char *input,
}
input += uni_utf8_char_bytes(*input);
- buffer_append(output, &chr, sizeof(chr));
+ array_append(output, &chr, 1);
}
return 0;
}
diff -r cc70ab74f4f3 -r dcbf6afdf931 src/lib/unichar.h
--- a/src/lib/unichar.h Thu Dec 27 22:51:28 2007 +0200
+++ b/src/lib/unichar.h Thu Dec 27 22:56:25 2007 +0200
@@ -2,6 +2,7 @@
#define UNICHAR_H
typedef uint32_t unichar_t;
+ARRAY_DEFINE_TYPE(unichars, unichar_t);
extern const uint8_t *const uni_utf8_non1_bytes;
@@ -9,7 +10,7 @@ unsigned int uni_strlen(const unichar_t
unsigned int uni_strlen(const unichar_t *str);
/* Translates UTF-8 input to UCS-4 output. Returns 0 if ok, -1 if input was
invalid */
-int uni_utf8_to_ucs4(const char *input, buffer_t *output);
+int uni_utf8_to_ucs4(const char *input, ARRAY_TYPE(unichars) *output);
/* Translates UCS-4 input to UTF-8 output. */
void uni_ucs4_to_utf8(const unichar_t *input, size_t len, buffer_t *output);
void uni_ucs4_to_utf8_c(unichar_t chr, buffer_t *output);
More information about the dovecot-cvs
mailing list