Fossil

File History
Login

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

History of src/utf8.c

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 Added