summaryrefslogtreecommitdiff
path: root/lib/util/charset
AgeCommit message (Collapse)AuthorFilesLines
2011-04-29lib/util/charset Move strstr_m() to the top levelAndrew Bartlett2-0/+84
2011-04-28lib/util/charset Merge talloc-based pull and push charset functionsAndrew Bartlett3-95/+151
These were copied from source3/lib/charcnv.c Andrew Bartlett
2011-04-28lib/util/charset Add copyright headersAndrew Bartlett1-1/+2
Autobuild-User: Andrew Bartlett <abartlet@samba.org> Autobuild-Date: Thu Apr 28 04:13:44 CEST 2011 on sn-devel-104
2011-04-28lib/util/charset Make fast path from UTF16 to '8 bit' charsets clearerAndrew Tridgell1-14/+28
This breaks the fast path into handling for -1 and handling for specified lenghts, avoding branch operations on each character. Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org> Signed-off-by: Andrew Tridgell <tridge@samba.org>
2011-04-28lib/util/charset Add tests for srclen=-1 behaviour.Andrew Bartlett1-0/+443
This confirms that we do include a null terminator in all non-failed conversions. Andrew Bartlett Signed-off-by: Andrew Tridgell <tridge@samba.org>
2011-04-28lib/util/charset use convert_string.c in commonAndrew Bartlett4-204/+5
This brings another layer of the charcnv library in common. Andrew Bartlett Signed-off-by: Andrew Tridgell <tridge@samba.org>
2011-04-28lib/util/charset Fix string termination conditions for UTF16 stringsAndrew Bartlett1-4/+4
This punts partial UTF16 strings to iconv() to deal with, as it's not a fast path any longer if it's got an odd length. Andrew Bartlett Signed-off-by: Andrew Tridgell <tridge@samba.org>
2011-04-27dynconfig: Have only one dynconfig.o in the common code.Andrew Bartlett1-1/+1
2011-04-20lib/util/charset Always set *converted_size even on failureAndrew Bartlett1-4/+2
The caller may wish to inspect the partially converted string. Andrew Bartlett Autobuild-User: Andrew Bartlett <abartlet@samba.org> Autobuild-Date: Wed Apr 20 05:17:48 CEST 2011 on sn-devel-104
2011-04-20lib/util/charset create _handle functions for convert_string() et alAndrew Bartlett1-29/+86
This is now API compatible with the existing code in lib/util/charset lazy_initialize_conv() is no longer called as init_iconv() is called when the smb.conf is processed, and get_conv_handle() will auto-init with defaults if required. load_case_tables_library() is no longer requried as all binaries and libraries already load these in their entry points, as otherwise all the other string functions would fail. Andrew Bartlett
2011-04-14lib/util Move alpha_strcpy() from s3 into common codeAndrew Bartlett1-46/+0
Autobuild-User: Andrew Bartlett <abartlet@samba.org> Autobuild-Date: Thu Apr 14 09:21:59 CEST 2011 on sn-devel-104
2011-04-13lib: Move next_token next to next_token_tallocVolker Lendecke1-47/+0
Signed-off-by: Jeremy Allison <jra@samba.org>
2011-04-13s3-charcnv: Move convert_string() et al to lib/util/charsetAndrew Bartlett1-0/+467
This is the first step to this being the common convert_string implementation. Andrew Bartlett Signed-off-by: Andrew Tridgell <tridge@samba.org>
2011-04-13lib/util/charset Add many more charset testsAndrew Bartlett1-15/+444
This confirms that the behaviour of the convert_string() API (with the process-wide iconv handle). Andrew Bartlett Signed-off-by: Andrew Tridgell <tridge@samba.org>
2011-04-13lib/util/charset Add convert_string_error()Andrew Bartlett2-0/+25
This adds an interface that matches the source3/ convert string code. Andrew Bartlett Signed-off-by: Andrew Tridgell <tridge@samba.org>
2011-04-13lib/util/charset Make ASCII conversion validate it's inputAndrew Bartlett1-4/+69
We should not just strip the high bits off unicode strings being converted to ASCII, we need to actually fail the conversion. Andrew Bartlett Signed-off-by: Andrew Tridgell <tridge@samba.org>
2011-04-13lib/util/charset Rename convert_string test to allow a 'non_handle' testAndrew Bartlett1-3/+2
A future commit will test (with a subset of tests) the varient of this function without _handle. Andrew Bartlett Signed-off-by: Andrew Tridgell <tridge@samba.org>
2011-04-13lib/util/charset Add more tests for convert_string_error_handle()Andrew Bartlett1-0/+101
This helps define the semantics of this function very clearly, particularly for partial and invalid inputs. Andrew Bartlett Signed-off-by: Andrew Tridgell <tridge@samba.org>
2011-04-13lib/util/charset Preserve 'pull' errors even when converting via UTF16Andrew Bartlett1-3/+8
When we do not have a direct iconv handle between any two charsets, we must go iva UTF16. However, we should still return the same buffer and error code as if we were able to go direct - including the partial conversion and the error code. This is important for locating the invalid multibyte character in the stream, for example. Andrew Bartlett Signed-off-by: Andrew Tridgell <tridge@samba.org>
2011-04-13lib/util/charset Add tests for convert_string_error_handleAndrew Bartlett1-1/+68
These confirm that the errno is set correctly and that we stop on a partial multibyte character Andrew Bartlett Signed-off-by: Andrew Tridgell <tridge@samba.org>
2011-04-13lib/util/charset Add expected values for upper/lower case testsAndrew Bartlett1-0/+16
Signed-off-by: Andrew Tridgell <tridge@samba.org>
2011-04-13lib/util/charset Fix and add public interface for convert_string_error_handleAndrew Bartlett2-7/+14
It makes much more sense for this to match the source3/ interface and return a bool. Andrew Bartlett Signed-off-by: Andrew Tridgell <tridge@samba.org>
2011-04-13lib/util/charset Move source3/lib/util_unistr.c to the common code.Andrew Bartlett3-1/+345
This file (largely) contains functions to deal with UTF16 strings. Andrew Bartlett Signed-off-by: Andrew Tridgell <tridge@samba.org>
2011-03-31lib/util/charset Add tests for strcasecmp_m(), talloc_strupper() et alAndrew Bartlett4-15/+241
This adds tests for: strncasecmp_m strcasecmp_m strupper_talloc_n strlower_talloc strhaslower strhasupper The tests can certainly be improved with pre-calculated upper and lower case text, but this at least puts them though their paces. Andrew Bartlett Autobuild-User: Andrew Bartlett <abartlet@samba.org> Autobuild-Date: Thu Mar 31 14:24:22 CEST 2011 on sn-devel-104
2011-03-31charconv: Use talloc_tos() in the S3 buildVolker Lendecke1-1/+9
In S3 we put a talloc_pool on top of the stack so that an allocation from talloc_tos() normally is just a pointer increment. Autobuild-User: Volker Lendecke <vlendec@samba.org> Autobuild-Date: Thu Mar 31 09:14:01 CEST 2011 on sn-devel-104
2011-03-31Arg. I hate the "if (xxx) return foo" all on one line style of code.Jeremy Allison1-2/+8
Fix the talloc leaks I introduced by not spotting these returns. Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Thu Mar 31 05:19:34 CEST 2011 on sn-devel-104
2011-03-31Don't burn 2k of stack on every iconv, use the heap when it's a slow call.Jeremy Allison1-16/+25
Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Thu Mar 31 04:09:09 CEST 2011 on sn-devel-104
2011-03-31lib/util/charset smb_panic() on incorrect use of strlen_m_extAndrew Bartlett1-0/+18
This may save a developer some time in the future. Andrew Bartlett Autobuild-User: Andrew Bartlett <abartlet@samba.org> Autobuild-Date: Thu Mar 31 02:40:31 CEST 2011 on sn-devel-104
2011-03-31lib/util/charset Add tests for strlen_m_ext() and convert_string_talloc()Andrew Bartlett1-2/+87
This convers a few more cases for convert_string_talloc() and introduces tests for strlen_m_ext() across complex multibyte strings. Andrew Bartlett
2011-03-31lib/util/charset Add wrapper to allow testing of strlen_m_ext()Andrew Bartlett2-2/+22
This allows test routines to force in particular character sets, and not rely on the smb.conf. Andrew Bartlett
2011-03-31lib/util/charset correct calculation of UTF8 character sizesAndrew Bartlett1-1/+1
Characters between 0x800 0x0FFFF are 3 bytes long. Andrew Bartlett
2011-03-30Fix convert_string() to take a *converted_size arg. and return a bool.Jeremy Allison3-34/+45
Makes these interfaces much harder to misuse and easier to ensure error checking. Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Wed Mar 30 23:59:37 CEST 2011 on sn-devel-104
2011-03-30lib/util/charset Add tests for convert_string_talloc_handle()Andrew Bartlett3-0/+431
Andrew Bartlett Autobuild-User: Andrew Bartlett <abartlet@samba.org> Autobuild-Date: Wed Mar 30 13:02:47 CEST 2011 on sn-devel-104
2011-03-30lib/util/charset Remove pointless static bool initialisedAndrew Bartlett1-5/+0
2011-03-25charcnv: ensure convert_string_error doesn't conflict with s3 functionAndrew Tridgell1-5/+5
use _handle for handle based functions Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org> Autobuild-User: Andrew Tridgell <tridge@samba.org> Autobuild-Date: Fri Mar 25 05:22:24 CET 2011 on sn-devel-104
2011-03-25lib/util/charset rename iconv_convenience to iconv_handleAndrew Bartlett6-79/+79
This better reflects what this structure is Andrew Bartlett
2011-03-25charcnv: added convert_string_error()Andrew Tridgell1-33/+57
this will allow us to remove conv_silent Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-03-25unistr: moved some UCS2 macros into util_unistrAndrew Tridgell1-9/+0
we need to move towards eliminating smb_ucs2_t. This moves a couple of the related macros into the only file they are used in Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-03-25libcli: created smb_constants.hAndrew Tridgell1-0/+1
this starts the (long!) process of moving some of the SMB constants into common files. This just moves the FLAGS2_ defines, which are needed for common string routines (for FLAGS2_UNICODE_STRINGS)
2011-03-24charcnv: removed the allow_badcharcnv and allow_bad_conv options to ↵Andrew Tridgell4-44/+36
convert_string*() we shouldn't accept bad multi-byte strings, it just hides problems Autobuild-User: Andrew Tridgell <tridge@samba.org> Autobuild-Date: Thu Mar 24 01:47:26 CET 2011 on sn-devel-104
2011-03-24charset: remove another allow_badcharcnv check Andrew Tridgell1-3/+0
better to fail only if there is a bad character
2011-03-23lib/util: Merge basic string length and comparison functionsAndrew Bartlett5-343/+427
These functions now use the codepoints for more accurate string handling and now form common code. Andrew Bartlett Autobuild-User: Andrew Bartlett <abartlet@samba.org> Autobuild-Date: Wed Mar 23 08:21:54 CET 2011 on sn-devel-104
2011-03-23charcnv: remove the automatic fail on allow_badcharcnv trueAndrew Tridgell1-5/+0
we should just fail the call if the string really is bad
2011-03-19lib/: Fix prototypes for functions.Jelmer Vernooij1-2/+2
2011-02-23lib/util/charset: ICONV_WRAPPER needs talloc.Günther Deschner1-1/+1
Guenther Autobuild-User: Günther Deschner <gd@samba.org> Autobuild-Date: Wed Feb 23 12:46:33 CET 2011 on sn-devel-104
2011-02-21Fix missing dependency on libreplace.Jelmer Vernooij1-1/+1
Autobuild-User: Jelmer Vernooij <jelmer@samba.org> Autobuild-Date: Mon Feb 21 01:17:33 CET 2011 on sn-devel-104
2011-02-18lib/util/charset Add back setlocale(), but only when called from binariesAndrew Bartlett2-3/+24
When called from a library, we don't want to call this, as we may overwrite some of our calling program's context. Andrew Bartlett Autobuild-User: Andrew Bartlett <abartlet@samba.org> Autobuild-Date: Fri Feb 18 09:29:35 CET 2011 on sn-devel-104
2011-02-18lib/util/charcnv Move iconv handle setup in commonAndrew Bartlett5-320/+366
We now use the struct smb_iconv_convenience at the core of all our iconv code, and use global_iconv_convenience for the callers that don't specify one. Andrew Bartlett
2011-02-18lib/util/charset Use top level iconv.c in source3Andrew Bartlett3-12/+90
The two files were very similar already, the only change required was to adopt the s3 module registration fucntion name. (NTSTATUS wasn't used as the charset code does not otherwise use that type). Andrew Bartlett Signed-off-by: Andrew Tridgell <tridge@samba.org>
2011-02-18charset Remove use of {isupper,islower,toupper,tolower}_w functionsAndrew Bartlett1-0/+2
These now call the common _m functions that consider UTF16 code points. This removes the code which will make up a 'lame' table in memory, as this can just as correctly be handled by running the algorithm at runtime (which is to call toupper() and tolower() on characters < 128). When used, a top level waf build will always locate the correct table - in the build tree or outside - due to relinking the installed binary. Andrew Bartlett