From b3ffcf888ca5c72b403e696d556e5af35a95534f Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Thu, 31 Mar 2011 10:32:52 +1100 Subject: lib/util/charset smb_panic() on incorrect use of strlen_m_ext This may save a developer some time in the future. Andrew Bartlett Autobuild-User: Andrew Bartlett Autobuild-Date: Thu Mar 31 02:40:31 CEST 2011 on sn-devel-104 --- lib/util/charset/util_str.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'lib/util/charset') diff --git a/lib/util/charset/util_str.c b/lib/util/charset/util_str.c index 9aaf651589..f36c91eef3 100644 --- a/lib/util/charset/util_str.c +++ b/lib/util/charset/util_str.c @@ -145,6 +145,24 @@ _PUBLIC_ size_t strlen_m_ext_handle(struct smb_iconv_handle *ic, { size_t count = 0; +#ifdef DEVELOPER + switch (dst_charset) { + case CH_DOS: + case CH_UNIX: + case CH_DISPLAY: + smb_panic("cannot call strlen_m_ext() with a variable dest charset (must be UTF16* or UTF8)"); + default: + break; + } + + switch (src_charset) { + case CH_UTF16LE: + case CH_UTF16BE: + smb_panic("cannot call strlen_m_ext() with a UTF16 src charset (must be DOS, UNIX, DISPLAY or UTF8)"); + default: + break; + } +#endif if (!s) { return 0; } -- cgit