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