summaryrefslogtreecommitdiff
path: root/source3/lib/charcnv.c
AgeCommit message (Collapse)AuthorFilesLines
2003-09-10Fix mb bug in fast path code. strlen_w() returns number of *characters*Jeremy Allison1-3/+3
not number of bytes. Reproduce this by trying to rename the file named : sibréseau -> sibréseaU from Windows 2000 explorer. Jeremy. (This used to be commit 035f59599514491609078ac0fe5804278c43a9b3)
2003-09-08Fix valgrind-found read of uninit variable (ensure length is right).Jeremy Allison1-3/+3
Jeremy. (This used to be commit 6fc0e529f70253244628017a372257e8dc053294)
2003-09-05More cachegrind tuning, plus fix an error message.Jeremy Allison1-11/+32
Jeremy. (This used to be commit 8cb9ec5d533085d40fc6bfe4ca9647d80bf41ac7)
2003-09-05More tuning from cachegrind. Change most trim_string() calls to trim_char(0,Jeremy Allison1-4/+2
as that's what they do. Fix string_replace() to fast-path ascii. Jeremy. (This used to be commit f35e9a8b909d3c74be47083ccc4a4e91a14938db)
2003-09-04More hand-tuning of the fastpath. Don't do strlen() when we're doingJeremy Allison1-12/+27
to walk to the end anyway. Jeremy. (This used to be commit 467cafdb1f7ddfb4278824f385b732975246a4f5)
2003-09-04Remove convert_string_internal completely from fast path when processingJeremy Allison1-10/+18
NBENCH calls. Requires fixed buffer size for strdup_upper(). Jeremy. (This used to be commit e98fbfaf384bd2d3ebb002b0b981366377fb5ac0)
2003-09-04Used cachegrind to track down some bottlenecks.Jeremy Allison1-11/+94
Removed calls to clobber_region when not compiling with developer as they were hiding speed problems. Added fast path to convert_string() when dealing with ascii -> ascii, ucs2-le to ascii and ascii to ucs2-le with values <= 0x7F. This gives a speedup of 22% on my nbench tests. Next I will do this on convert_string_allocate. Jeremy. (This used to be commit ef140d15ea0d76a3e7cdcadbfd3e917c210a9411)
2003-08-23Half-way though the big conversion of all nmbd access to wire elements beingJeremy Allison1-0/+10
converted to pull/push_ascii. This will not work right at the moment for non English codepages, but compiles - I will finish the work over the weekend. Then nmbd should be completely codepage correct. Jeremy. (This used to be commit 236d6adadf32397b28028ea82ae2ec027366f7c8)
2003-08-21Shut conversion errors up when initialising tables.Jeremy Allison1-12/+24
Jeremy. (This used to be commit 94d0f888c9abd52e26ef5fc597ade5426a521227)
2003-08-20Attempt to fix the charcnv issues causing nmbd to crash. If we get a failedJeremy Allison1-34/+92
conversion simply copy as is. Also fixed the horrid malloc-twice-copy code in the convert alloc path. Jeremy. (This used to be commit cfde7477fd12caef943a9422b52174438092a135)
2003-07-27Use push_ucs2_allocate(), rather than convert_string_allocate() directly.Andrew Bartlett1-8/+4
Remove strdup_upper/strdup_lower from their old file, now that they have been moved to charcnv.c Note that string_replace assumes that s is a pstring. (doco change only) Andrew Bartlett (This used to be commit 6c9056029bb3dfadb244f301598e12e69493fff9)
2003-07-27Some small fixes to our charset conversion code:Andrew Bartlett1-50/+70
- Treat the NMB names in the 'session request' packet as 'ASCII'. This means that we do not get invalid multibyte from the wire, even if we truncate in the conversion. (Otherwise we panic when we try to strupper_m it). - Remove acnv_uxu2(), as it was duplicated by push_ucs2_allocate() - Remove acnv_dosu2(), as it is not used. - In push_ucs2(), with the STR_UPPER flag, do the case conversion *after* the UCS2 conversion, when it we know that the length can't change. Also faster, as we don't need to do another 2 UCS2 conversions. Andrew Bartlett (This used to be commit 912035af1178424583d0bf887a391a0cac2acd87)
2003-07-25More printf portability fixes. Got caught out by some gcc'isms lastTim Potter1-2/+2
time. )-: (This used to be commit 59dae1da66a5eb7e128263bd578f167d8746e9f0)
2003-07-24More printf fixes - size_t is long on some architectures.Tim Potter1-1/+1
(This used to be commit ba4d334b822248d8ab929c9568533431603d967e)
2003-07-03Removed strupper/strlower macros that automatically map to ↵Jeremy Allison1-3/+3
strupper_m/strlower_m. I really want people to think about when they're using multibyte strings. Jeremy. (This used to be commit ff222716a08af65d26ad842ce4c2841cc6540959)
2003-06-30- added LOCALE patch from vorlon@debian.org (Steve Langasek) (bug #122)Andrew Tridgell1-0/+24
- changed --enable-developer debug to use -gstabs as it makes the samba binaries about 10x smaller and is still quite functional for samba debugging (This used to be commit 53bfcd478a193d4def8da872e92d7ed8f46aa4b9)
2003-06-16reverted locale patch put in by jht (originally from vorlon).Andrew Tridgell1-37/+0
There are lots of things wrong with this patch, including: 1) it overrides a user chosen configuration option 2) it adds lots of complexity inside a loop when a tiny piece of code outside the loop would do the same thing 3) it does no error checking, and is sure to crash on some systems If you want this functionality then try something like this at the end of charset_name(): #ifdef HAVE_NL_LANGINFO if (strcasecmp(ret, "LOCALE") == 0) { const char *ln = nl_langinfo(CODESET); if (ln) { DEBUG(5,("Substituting charset '%s' for LOCALE\n", ln)); return ln; } } #endif then users can set 'display charset = LOCALE' to get the locale based charset. You could even make that the default for systems that have nl_langinfo(). (This used to be commit 382b9b806b1ecd227b1ea247e3825d6848090462)
2003-06-15Patch from vorlon@debian.org, see bugzilal #122John Terpstra1-0/+37
Samba should preferentially use the locale information from the native system, and only fall back on 'display charset' if this is unavailable or unsupported. (This used to be commit 1e445fb4220cdf4700dd9d1850a42746a1065c5a)
2003-06-06Fix for valgrind - when doing a srvstr_push we must zero fillJeremy Allison1-0/+13
any extra bytes, not clobber region them - otherwise valgrind thinks they are invalid on send() or write(). Jeremy. (This used to be commit 8aa5f7a65c71fb89ed05e71a2465e61385e80c2b)
2003-06-06- the 8.3 name in BOTH_DIRECTORY_INFO is supposed to be always unicodeAndrew Tridgell1-1/+1
(to match win2003 behaviour) - added the STR_TERMINATE_ASCII flag from samba4 so we can get the string termination right for the case where it is supposed to be non-terminated for UCS2 and terminated when ASCII (This used to be commit 791a4cc7cf84eca77116bca00aeb5f95560f6705)
2003-05-08fixed bug #75; add check for non-zero destlenGerald Carter1-1/+1
(This used to be commit 83bb84f13121267992e78f2d005257932c711f23)
2003-05-08Another attempt at undoing my bogus patch 1.55.2.19Tim Potter1-0/+2
(This used to be commit 05a684b3be1525aad3589ded9e59c3f012b5ef20)
2003-05-07Whoops - that wasn't a whitespace syncup after all.Tim Potter1-0/+2
(This used to be commit 42d0414ed244b92b665cb231f6756f60391861dd)
2003-04-28Whitespace syncup.Tim Potter1-4/+0
(This used to be commit 7fd7af121ee8ba4f9540394f64fe3c78e2e96cd2)
2003-04-23Patch by Metze to ensure that we always at least initialize our output stringAndrew Bartlett1-0/+4
for rpc_pull_string. If we had a NULL or zero-length string, we would use uninitialised data in the result string. Andrew Bartlett (This used to be commit df10aee451b431a8a056a949a98393da256185da)
2003-04-22Merge (HEAD->3.0) mbp's fixes to our charcnv code - don't use a staic buffer,Andrew Bartlett1-12/+33
which can restrict things like unix_strupper() to 512 byte strings. Andrew Bartlett (This used to be commit 341d6affa474262654f83c075f186d985cbcb9a0)
2003-04-14Merge across tridge's Realloc fix.Jeremy Allison1-3/+3
Jeremy. (This used to be commit df214d18817467fbe3023a412bceec325f73b518)
2003-04-04Export lazy_initialize_conv so that it can be called fromMartin Pool1-1/+5
check_dos_char. init_iconv: Call init_doschar_table when reinitializing conversions. (This used to be commit d0b2c5d7ba5531fc695a23bba87a1551cc39e2ee)
2003-04-04lazy_initialize_conv: Remove redundant call to init_valid_table,Martin Pool1-4/+6
because init_iconv calls it for us. init_iconv: Add documentation about how this is reintialized when configuration is reloaded. (This used to be commit 0ee80a9018601fbba1c9558545de61cb16e94fac)
2003-03-20Patch from Samuel Thibault to convert messages from dos to unix charsetJelmer Vernooij1-1/+1
when sending(and vice versa when receiving). (This used to be commit 5310447ec6e0df1c000e3ee14572f5b7fee31f28)
2003-03-18Merge in the developer string options from HEAD. We need to ensure 3.0Jeremy Allison1-103/+12
is as stable as possible in the string department and some pain now will help later :-). Jeremy. (This used to be commit 86e3eddac698d90f4666b8492b4603a4efbbd67b)
2003-02-24Merge documentation from HEADMartin Pool1-6/+13
(This used to be commit 3761f8ebe339fbbeffee9d7b69f9483ebfd9ae6b)
2003-02-24Merge doxygen, signed/unsigned, const and other small fixes from HEAD to 3.0.Andrew Bartlett1-83/+92
Andrew Bartlett (This used to be commit 9ef0d40c3f8aef52ab321dc065264c42065bc876)
2003-02-24Add comment about Samba character sets, from explanation by abartlet.Martin Pool1-0/+13
(This used to be commit 822f6c2f38b9b30dca2358e99ad6a379f5890c89)
2003-02-12Merge from HEAD - pull_ucs2_talloc() should pull to a char**, not a void**Jeremy Allison1-2/+2
Jeremy. (This used to be commit 81437e2ad034e9b83ae954c17a7a261504c55101)
2003-02-01Merge of signed/unsigned fixes from HEAD.Andrew Bartlett1-2/+2
(This used to be commit e9f56a157bd472914eebf64fde586104d8274717)
2003-01-03Merge from HEAD - make Samba compile with -Wwrite-strings without additionalAndrew Bartlett1-6/+6
warnings. (Adds a lot of const). Andrew Bartlett (This used to be commit 3a7458f9472432ef12c43008414925fd1ce8ea0c)
2002-11-11Fix all returns to be size_t (they are all unsigned). Fixup strlen beingJeremy Allison1-213/+244
done on ucs2 strings. Jeremy. (This used to be commit 9a6c6946193289eac5b91fe6fd236c0742ec6f8c)
2002-10-01syncing up with HEAD. Seems to be a lot of differences creeping inGerald Carter1-2/+2
(i ignored the new SAMBA stuff, but the rest of this looks like it should have been merged already). (This used to be commit 3de09e5cf1f667e410ee8b9516a956860ce7290f)
2002-09-25sync'ing up for 3.0alpha20 releaseGerald Carter1-4/+6
(This used to be commit 65e7b5273bb58802bf0c389b77f7fcae0a1f6139)
2002-08-17sync 3.0 branch with headJelmer Vernooij1-9/+10
(This used to be commit 3928578b52cfc949be5e0ef444fce1558d75f290)
2002-07-15updated the 3.0 branch from the head branch - ready for alpha18Andrew Tridgell1-6/+30
(This used to be commit 03ac082dcb375b6f3ca3d810a6a6367542bc23ce)
2002-03-25add {push,pull}_ucs2{allocate,talloc}() functions.Andrew Bartlett1-0/+58
Andrew Bartlett (This used to be commit ce7990b4a4f251536dd26be5a62c12711df57787)
2002-03-23Patch from Hasch@t-online.de (Juergen Hasch) to add allocate and tallocAndrew Bartlett1-1/+86
push/pull utf8 functions. To be used for international ADS support. Andrew Bartlett (This used to be commit 9ab144810efeb0b086257143b01ca47ee5718861)
2002-03-01Fix up the pull_utf8_fstring/pstring functions, and add their push eqivilants.Andrew Bartlett1-4/+14
patch by Hasch@t-online.de (Juergen Hasch) Andrew Bartlett (This used to be commit ba2570f518e07c95b952fb824a2d0b040b912bcc)
2002-03-01This should kill off the 'cannot convert' error messages on non-iconv hosts.Andrew Bartlett1-1/+1
(This used to be commit 2a30960276ae65b60d01caf9464808d75a812e40)
2002-02-19Patch from Hasch@t-online.de (Juergen Hasch) to add UTF-8 as an explictAndrew Bartlett1-1/+67
character set for conversion. To be used in Winbind and the 'net ads' commands. Andrew Bartlett (This used to be commit fa9d3060ff7510e176d7608b49075379500f55c4)
2002-02-04better debug messages!Simo Sorce1-0/+1
(This used to be commit e3bb6867454307ae592115e205d32ddd53988678)
2002-01-30Removed version number from file header.Tim Potter1-2/+1
Changed "SMB/Netbios" to "SMB/CIFS" in file header. (This used to be commit 6a58c9bd06d0d7502a24bf5ce5a2faf0a146edfa)
2002-01-22We have to do some initialization before the string conversionMartin Pool1-13/+15
routines can work. The code was copied into both convert_string and convert_string_allocate -- I split it into a little static function, and removed an apparently duplicate call to init_valid_table(). (This used to be commit 7f7d22880d40c7344bc402203dd150255fc694cf)