Fossil

All files named "src/utf8.c"
Login

All files named "src/utf8.c"

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

History for src/utf8.c

2021-08-31
07:01
On Windows, make sure temporary path names containing non-ASCII characters are accessible, for example if the default temporary path "C:\Users\«Username»\AppData\Local\Temp" contains a user name with extended characters, of if the %TEMP% environment variable points to a directory name with extended characters. ... (file: [5345d748] check-in: [10233982] user: florian branch: win32-temppath-mojibake, size: 13718)
2020-03-06
17:08
Improve truncation of UTF-8 encoded title using a function by @florian.balmer per https://fossil-scm.org/forum/forumpost/6d90d5d99c ... (file: [1def37c6] check-in: [d076853d] user: ashepilko branch: trunk, size: 13690)
2020-03-03
19:13
Properly truncate a UTF-8 encoded title using a function by @florian.balmer per http://fossil-scm.org/forum/forumpost/52b141aa91 ... (file: [c5a76e5e] check-in: [35ad8eca] user: ashepilko branch: trunk, size: 12375)
2017-11-30
10:15
Eliminate fossil_utf8_to_console() for non-windows platforms: it isn't used then. Thanks to "bytevolcano" for the suggestion. ... (file: [d4d73906] check-in: [434adc35] user: jan.nijtmans branch: trunk, size: 11301)
2016-11-05
04:30
Fix extra empty lines in diff output from non-interactive process on Windows; similar to [f2fc37c0]. ... (file: [9f458b96] check-in: [476fe9e9] user: ashepilko branch: trunk, size: 11341)
2016-10-04
23:29
Coding style and consistency improvements. ... (file: [bdabea0d] check-in: [824bfe84] user: mistachkin branch: trunk, size: 11301)
2015-12-04
14:57
off-by-24 error in handling of long directory names (>MAX_PATH-12) on Windows ... (file: [5c85c7e8] check-in: [2900c25d] user: jan.nijtmans branch: trunk, size: 11303)
2015-12-02
20:23
Experimental changes to deal with the reserved 12 characters (e.g. 'FILENAME.EXT') always needed for long directory names on Windows. ... (file: [a2e581cd] check-in: [6ebef28f] user: mistachkin branch: pending-review, size: 11303)
2015-07-11
22:28
Coding style changes to fossil_utf8_to_console(). ... (file: [49a0cfaf] check-in: [484a39a7] user: mistachkin branch: trunk, size: 11246)
2015-04-16
08:53
Remove unnecessary variable determination in src/descendants.c, and some unnecessary end-of-line spacing. ... (file: [d9b19f5a] check-in: [10f5fc69] user: jan.nijtmans branch: trunk, size: 11200)
2014-11-26
14:53
Fix related to previous one: prevent to convert from UTF-8 to Unicode before writing to the (non-redirected) windows console. Strange effects could happen. ... (file: [cb3a7d21] check-in: [156ef9ec] user: jan.nijtmans branch: trunk, size: 11201)
2014-11-12
14:37
Fix [5a0a33f31a]: Chinese commit message File in code UTF-8 when using commit -M under WINDOWS Garbled. When the file is already detected to be valid UTF-8, don't try to do any conversion. ... (file: [29dbb74e] check-in: [5960016a] user: jan.nijtmans branch: trunk, size: 10937)
2014-08-05
10:52
Some code formatting. No change in functionality. ... (file: [eab5cc00] check-in: [b9b3ce3b] user: jan.nijtmans branch: trunk, size: 10908)
2014-02-26
10:42
Add support for extended UNC paths as well, and add Windows/Cygwin-specific test-cases for it. ... (file: [76559aef] check-in: [ebb42b53] user: jan.nijtmans branch: extended-path-prefix, size: 10910)
2014-02-14
10:25
Merge in updates from trunk. Some implementation simplifications and more comments (mainly in the SQLite part). ... (file: [37553a93] check-in: [9cc1c9d6] user: jan.nijtmans branch: win32-longpath, size: 10579)
2014-02-12
15:21
un-duplicate 'in the' ... (file: [fee86fcc] check-in: [261c1322] user: jan.nijtmans branch: trunk, size: 9974)
11:20
Allow repository to reside on an extended windows path, prefixed with "//?/". There were two problems. 1) The '?' doesn't survive fossil's command line globbing, therefore use a temporary file to hold the repository name when running "fossil ui" or "fossil server" on Windows. 2) In fossil_utf8_to_filename(), '?' was translated to another Unicode character, which shouldn't happen in the extended path prefix. testcase: "fossil test-move-repository //\?/C:/fossil/fossil.fossil" (the backslash is absorbed by cmd.exe, using quotes doesn't work) ... (file: [8232de68] check-in: [8ab08d32] user: jan.nijtmans branch: trunk, size: 9981)
2014-01-23
21:47
merge trunk ... (file: [4ff34723] check-in: [abb24004] user: jan.nijtmans branch: win32-longpath, size: 10283)
2014-01-14
12:44
Add the ability to display content and diffs for UTF16 text files in the web interface. ... (file: [5865883a] check-in: [5a66b6e7] user: drh branch: trunk, size: 9233)
2013-12-18
08:11
Merge trunk. Valid extended paths must have >6 chars, e.g. "\\?\C:\" (+1 for closing '\0'), this way make sure that wUnicode always points to allocated memory. ... (file: [09de06b4] check-in: [1db9134d] user: jan.nijtmans branch: win32-longpath, size: 10253)
2013-12-17
14:49
Eliminate use of "goto". Fix UNC -> Extended UNC translation when path>260 chars. ... (file: [02f395d2] check-in: [83087c8d] user: jan.nijtmans branch: win32-longpath, size: 10253)
10:20
Break the 260 character path barrier on Win32. Add test-case "win32-longpath" for proving that it works. ... (file: [a30acb54] check-in: [4b49bb9c] user: jan.nijtmans branch: win32-longpath, size: 10320)
10:14
Move special path handling from SQLite to fossil. ... (file: [20c9b82e] check-in: [1dd5a509] user: jan.nijtmans branch: win32-longpath, size: 10312)
09:32
If "fossil new" or "fossil open"'s argument has an extended path prefix like "\\?\C:\", don't process the '?' and ':' in it as special path characters, only do '/' -> '\' translation. This makes extended paths usable in fossil everywhere (hopefully), for now <260. ... (file: [50289a4e] check-in: [04f4e699] user: jan.nijtmans branch: win32-longpath, size: 9777)
2013-12-16
13:37
Fix bug in utf8.c (don't translate first ':' in extended path). Add test-case (win32-longpath.test). Some formatting (don't use tabs). ... (file: [5717d9b5] check-in: [7d5c1bbd] user: jan.nijtmans branch: win32-longpath, size: 9772)
2013-12-12
09:37
Make "win32-longpath" the default VFS on win32, eliminating all path limitations (up to ~32767 chars). TODO: eliminate use of the the function _wstati64(), that appears to be the only Win32 function left which cannot handle such long paths. Everything else needed is done. ... (file: [6d72afb0] check-in: [1b9893bd] user: jan.nijtmans branch: win32-longpath, size: 9654)
2013-10-04
02:50
Consolidate all the Cygwin-specific preprocessor directives into one file and include it where necessary. ... (file: [f72d86a0] check-in: [816e893d] user: mistachkin branch: trunk, size: 9203)
2013-03-29
15:05
Win32: Fossil now understands Cygwin paths containing one or more of the characters "*:<>?|. Those are normally forbidden in win32. This means that the win32 fossil.exe is better usable in a Cygwin environment. See http://cygwin.com/cygwin-ug-net/using-specialnames.html#pathnames-specialchars. ... (file: [93f94771] check-in: [fc413110] user: jan.nijtmans branch: trunk, size: 9520)
2013-03-27
09:45
Allow looks_like_utf8/16 to specify when the loop should stop, in stead of leaving it unspecified. Minor comment/doc fixes. ... (file: [00da049d] check-in: [79f7eb2f] user: jan.nijtmans branch: trunk, size: 8116)
2013-03-22
09:36
Allow win32 forbidden characters to be used in filenames, using the Cygwin workaround: http://cygwin.com/cygwin-ug-net/using-specialnames.html#pathnames-specialchars. The files test/00*.x should NOT be merged to trunk, otherwise trunk cannot be checked out with older win32 fossil versions any more! ... (file: [8aea2e0d] check-in: [c68afe0f] user: jan.nijtmans branch: win32-please-evaluate, size: 9524)
2013-03-04
16:12
Merge in various complications needed to support CYGWIN. ... (file: [cbb5e1b5] check-in: [d95cbba2] user: drh branch: trunk, size: 8117)
14:25
merge trunk ... (file: [9b9764de] check-in: [aa603826] user: jan.nijtmans branch: ticket-d17d6e5b17, size: 9521)
13:19
Improve fossil_utf8_to_filename() for cygwin: no longer hardcode "/cygdrive/" prefix. Fix Cygwin's handling of absolute win32 paths in a few more places. Teach Cygwin how to handle UTF-16. ... (file: [0c9f41fd] check-in: [18d8d2a6] user: jan.nijtmans branch: build-breaker, size: 8114)
2013-03-01
13:19
Teach fossil_utf8_to_filename() how to handle win32 paths on Cygwin. Use this function where-ever possible. ... (file: [0e50931f] check-in: [caf2eb25] user: jan.nijtmans branch: trunk, size: 7337)
2013-02-26
09:27
Cygwin has same filesystem as Windows, so should be case-insensitive and do '/' <-> '\' conversion the same as win32. fossil_utf8_to_filename should do '/' -> '\' conversion on win32, as not all win32 API functions handle '/' correctly. ... (file: [afb0926b] check-in: [d4b3e1d8] user: jan.nijtmans branch: trunk, size: 6748)
2013-02-25
10:46
Merge trunk. Restore fossil_utf8_to_filename signature by doing character conversions in utf-8 instead of unicode. ... (file: [df9fca43] check-in: [ae1b1f4b] user: jan.nijtmans branch: ticket-d17d6e5b17, size: 8233)
09:33
Split WriteConsoleW call into multiple chunks, when necessary. See https://connect.microsoft.com/VisualStudio/feedback/details/635230 Thanks to jeffrimko for noticing this. ... (file: [88d258cb] check-in: [8031947e] user: jan.nijtmans branch: trunk, size: 6385)
01:02
Added fix for issue seen with merge; would fail due to file_copy() issue where files of renamed directories would not have the new directory created beforehand. Also added fix for issue seen after large merge; 'changes' command would fail due to WriteConsoleW() returning with error ERROR_NOT_ENOUGH_MEMORY; fix seems hacky but works. ... (file: [b62b3954] check-in: [3f31dc65] user: jeffrimko branch: jeffrimko-fix-merge-changes, size: 6330)
2013-02-23
21:35
merge trunk ... (file: [c6c3b690] check-in: [f1bb151e] user: jan.nijtmans branch: ticket-d17d6e5b17, size: 7792)
2013-02-21
11:29
Rename fossil_utf8_to_unicode to fossil_utf8_to_filename on UNIX, everywhere where filenames are involved. This enables fossil_utf8_to_unicode/fossil_unicode_to_utf8 to be re-implemented on UNIX to do what the name suggests. ... (file: [1499bed1] check-in: [7eb5e231] user: jan.nijtmans branch: trunk, size: 6168)
2013-02-18
10:03
New function fossil_utf8_to_filename, such that fossil_unicode_to_utf8/fossil_utf8_to_unicode/fossil_unicode_free are not used on UNIX/MAC any more: On UNIX those 3 functions were only no-ops, but this allows to re-implement then for real unicode <-> utf-8 conversions. There is an "#ifdef _WIN32" around those 3 functions and 2 more (fossil_mbcs_to_utf8/fossil_mbcs_free) in order to prove that they are not used any more on UNIX/MAC. ... (file: [06ad85af] check-in: [cc3976fd] user: jan.nijtmans branch: fossil_utf8_to_filename, size: 6184)
2013-01-24
12:00
Handle translation between '/' and '\\' on Windows and Cygwin ... (file: [7587d1b5] check-in: [ba87fb1f] user: jan.nijtmans branch: ticket-d17d6e5b17, size: 7684)
10:53
merge trunk ... (file: [7fd24d95] check-in: [ba3e82f1] user: jan.nijtmans branch: ticket-d17d6e5b17, size: 7281)
2012-12-11
16:29
Missed one spot where WITHOUT_ICONV is required on the previous check-in. ... (file: [502be836] check-in: [fbe87e0c] user: drh branch: trunk, size: 5544)
16:23
Add a compile-time option (WITHOUT_ICONV) that omits the use of iconv.h so that Fossil can be compiled on a 10-year-old PPC Macbook. ... (file: [53fb069a] check-in: [722791a6] user: drh branch: trunk, size: 5517)
2012-11-30
13:05
Changes to allow *[]? in check-in comments were added by check-in [647bb7b79f3c2a], which is sufficient to address ticket [46bf4baedcea6c]. The additional logic in this branch that tries to do special encodings for double-quote characters on windows is complication we can do without.

Was: fix merge problem, which cause an OSX broken build ... (file: [fdf048a6] check-in: [7885b601] user: jan.nijtmans branch: ticket-d17d6e5b17, size: 7200)

2012-11-29
21:21
merge trunk. Seems to work now. Still to be tested more. ... (file: [70655593] check-in: [49bdd78b] user: jan.nijtmans branch: ticket-d17d6e5b17, size: 7193)
18:31
Fix harmless compiler warnings on windows. ... (file: [1b34709b] check-in: [9eb2df37] user: drh branch: trunk, size: 5463)
15:13
merge trunk. Broken on win32! ... (file: [2771c9f3] check-in: [258cedd6] user: jan.nijtmans branch: ticket-d17d6e5b17, size: 7202)
13:12
Translate decomposed-UTF8 filenames on MacOS into precomposed-UTF8. Fix for ticket [e399bc1edfe45b] ... (file: [4f03bea6] check-in: [1002e723] user: drh branch: ticket-e399bc, size: 5470)
08:57
unbreak win32 ... (file: [967da60e] check-in: [0ff5b5ed] user: jan.nijtmans branch: ticket-e399bc, size: 5348)
03:14
Untested changes designed to fix broken filename encodings on MacOS. Move all character-set converting routines into a new file called utf8.c. Add the fossil_filename_to_utf8() routine, which converts Unicode to utf8 on windows and decomposed utf8 into precomposed utf8 on Mac. Ticket [e399bc1edfe45b] ... (file: [4734fb4c] check-in: [c24e568f] user: drh branch: ticket-e399bc, size: 5305)