aboutsummaryrefslogtreecommitdiff
path: root/lib/libiconv_modules/UTF1632
diff options
context:
space:
mode:
authorKyle Evans <kevans@FreeBSD.org>2022-02-22 07:12:27 +0000
committerKyle Evans <kevans@FreeBSD.org>2022-08-11 16:42:17 +0000
commit2300a22c971240e813e73515acfa3970e0871b20 (patch)
treee188c1c9e2128ca6bfea2b7c020d280577a0d769 /lib/libiconv_modules/UTF1632
parentc1f46b8fcb9758b52afce5971d12167628f62dfd (diff)
Diffstat (limited to 'lib/libiconv_modules/UTF1632')
-rw-r--r--lib/libiconv_modules/UTF1632/citrus_utf1632.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/libiconv_modules/UTF1632/citrus_utf1632.c b/lib/libiconv_modules/UTF1632/citrus_utf1632.c
index b9625165051c..27a810597c7f 100644
--- a/lib/libiconv_modules/UTF1632/citrus_utf1632.c
+++ b/lib/libiconv_modules/UTF1632/citrus_utf1632.c
@@ -77,6 +77,7 @@ typedef struct {
typedef struct {
int preffered_endian;
unsigned int cur_max;
+ unsigned int cur_min;
uint32_t mode;
} _UTF1632EncodingInfo;
@@ -84,6 +85,7 @@ typedef struct {
#define _ENCODING_INFO _UTF1632EncodingInfo
#define _ENCODING_STATE _UTF1632State
#define _ENCODING_MB_CUR_MAX(_ei_) ((_ei_)->cur_max)
+#define _ENCODING_MB_CUR_MIN(_ei_) ((_ei_)->cur_min)
#define _ENCODING_IS_STATE_DEPENDENT 0
#define _STATE_NEEDS_EXPLICIT_INIT(_ps_) 0
@@ -390,6 +392,7 @@ _citrus_UTF1632_encoding_module_init(_UTF1632EncodingInfo * __restrict ei,
parse_variable(ei, var, lenvar);
+ ei->cur_min = ((ei->mode&_MODE_UTF32) == 0) ? 2 : 4;
ei->cur_max = ((ei->mode&_MODE_UTF32) == 0) ? 6 : 8;
/* 6: endian + surrogate */
/* 8: endian + normal */