mirror of
https://github.com/samba-team/samba.git
synced 2024-12-25 23:21:54 +03:00
lib/util/charset Add wrapper to allow testing of strlen_m_ext()
This allows test routines to force in particular character sets, and not rely on the smb.conf. Andrew Bartlett
This commit is contained in:
parent
46db53b159
commit
d4f3a380e4
@ -111,6 +111,14 @@ struct smb_iconv_handle;
|
||||
#define strupper(s) strupper_m(s)
|
||||
|
||||
char *strchr_m(const char *s, char c);
|
||||
/**
|
||||
* Calculate the number of units (8 or 16-bit, depending on the
|
||||
* destination charset), that would be needed to convert the input
|
||||
* string which is expected to be in in src_charset encoding to the
|
||||
* destination charset (which should be a unicode charset).
|
||||
*/
|
||||
size_t strlen_m_ext_handle(struct smb_iconv_handle *ic,
|
||||
const char *s, charset_t src_charset, charset_t dst_charset);
|
||||
size_t strlen_m_ext(const char *s, charset_t src_charset, charset_t dst_charset);
|
||||
size_t strlen_m_ext_term(const char *s, charset_t src_charset,
|
||||
charset_t dst_charset);
|
||||
|
@ -140,10 +140,10 @@ _PUBLIC_ bool strcsequal(const char *s1,const char *s2)
|
||||
* string which is expected to be in in src_charset encoding to the
|
||||
* destination charset (which should be a unicode charset).
|
||||
*/
|
||||
_PUBLIC_ size_t strlen_m_ext(const char *s, charset_t src_charset, charset_t dst_charset)
|
||||
_PUBLIC_ size_t strlen_m_ext_handle(struct smb_iconv_handle *ic,
|
||||
const char *s, charset_t src_charset, charset_t dst_charset)
|
||||
{
|
||||
size_t count = 0;
|
||||
struct smb_iconv_handle *ic = get_iconv_handle();
|
||||
|
||||
if (!s) {
|
||||
return 0;
|
||||
@ -203,6 +203,18 @@ _PUBLIC_ size_t strlen_m_ext(const char *s, charset_t src_charset, charset_t dst
|
||||
return count;
|
||||
}
|
||||
|
||||
/**
|
||||
* Calculate the number of units (8 or 16-bit, depending on the
|
||||
* destination charset), that would be needed to convert the input
|
||||
* string which is expected to be in in src_charset encoding to the
|
||||
* destination charset (which should be a unicode charset).
|
||||
*/
|
||||
_PUBLIC_ size_t strlen_m_ext(const char *s, charset_t src_charset, charset_t dst_charset)
|
||||
{
|
||||
struct smb_iconv_handle *ic = get_iconv_handle();
|
||||
return strlen_m_ext_handle(ic, s, src_charset, dst_charset);
|
||||
}
|
||||
|
||||
_PUBLIC_ size_t strlen_m_ext_term(const char *s, const charset_t src_charset,
|
||||
const charset_t dst_charset)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user