diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2009-03-01 06:33:40 +0100 |
---|---|---|
committer | Jelmer Vernooij <jelmer@samba.org> | 2009-03-01 06:33:40 +0100 |
commit | 9ffb6d2d9e78ed192b8215194b6328d03d1ddad3 (patch) | |
tree | fc76fb3e1d8d9e381559244440c6738574f6c21d /lib/util/charset/charcnv.c | |
parent | 79fc0ddaf44af1e31d7e6f2c6f576fd3c05e087d (diff) | |
download | samba-9ffb6d2d9e78ed192b8215194b6328d03d1ddad3.tar.gz samba-9ffb6d2d9e78ed192b8215194b6328d03d1ddad3.tar.bz2 samba-9ffb6d2d9e78ed192b8215194b6328d03d1ddad3.zip |
Add allow_badcharcnv argument to all conversion function, for
consistency with Samba 3.
Diffstat (limited to 'lib/util/charset/charcnv.c')
-rw-r--r-- | lib/util/charset/charcnv.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/util/charset/charcnv.c b/lib/util/charset/charcnv.c index 1f3b1ac846..18be2bcac2 100644 --- a/lib/util/charset/charcnv.c +++ b/lib/util/charset/charcnv.c @@ -240,7 +240,7 @@ convert: _PUBLIC_ ssize_t convert_string_convenience(struct smb_iconv_convenience *ic, charset_t from, charset_t to, void const *src, size_t srclen, - void *dest, size_t destlen) + void *dest, size_t destlen, bool allow_badcharcnv) { size_t i_len, o_len; size_t retval; @@ -248,6 +248,10 @@ _PUBLIC_ ssize_t convert_string_convenience(struct smb_iconv_convenience *ic, char* outbuf = (char*)dest; smb_iconv_t descriptor; + if (allow_badcharcnv) { + return -1; + } + if (srclen == (size_t)-1) srclen = strlen(inbuf)+1; @@ -305,10 +309,13 @@ _PUBLIC_ ssize_t convert_string_talloc_convenience(TALLOC_CTX *ctx, struct smb_iconv_convenience *ic, charset_t from, charset_t to, void const *src, size_t srclen, - void **dest) + void **dest, bool allow_badcharcnv) { smb_iconv_t descriptor; + if (allow_badcharcnv) + return (size_t)-1; + *dest = NULL; if (src == NULL || srclen == (size_t)-1 || srclen == 0) |