Character encoding and string conversion updates
authorEric Biggers <ebiggers3@gmail.com>
Sat, 25 Jun 2016 00:41:23 +0000 (19:41 -0500)
committerEric Biggers <ebiggers3@gmail.com>
Sat, 2 Jul 2016 14:28:11 +0000 (09:28 -0500)
commit4e32f48feb64932954953a87f064170500f93221
tree35024d1e0cea2ea0fd3cb1b0c28f62191025df41
parent9f56f9f091155065173712c3f254945fd8224511
Character encoding and string conversion updates

- Allow unpaired surrogates when translating between "UTF-8" and
  "UTF-16LE".  This allows Windows-style filenames to be processed
  losslessly on UNIX-like systems, even if they are not valid UTF-16LE.

- Implement UTF-8 and UTF-16LE codecs ourselves and drop the iconv
  requirement.  This was necessary to allow surrogate codepoints, but it
  also provides better performance and actually results in *fewer* lines
  of code and a slightly smaller binary.

- Drop support for multibyte encodings other than UTF-8 on UNIX-like
  systems.  It is probably not worth the effort to support such
  encodings.  Interestingly, the support was entirely broken before
  v1.9.1, yet no one ever complained...
23 files changed:
.gitignore
Makefile.am
configure.ac
doc/man1/wimlib-imagex-capture.1
doc/man1/wimlib-imagex.1
include/wimlib.h
include/wimlib/encoding.h
include/wimlib/ntfs_3g.h
include/wimlib_tchar.h
m4/iconv.m4 [deleted file]
programs/imagex.c
src/dentry.c
src/encoding.c
src/error.c
src/iterate_dir.c
src/mount_image.c
src/ntfs-3g_apply.c
src/registry.c
src/reparse.c
src/wim.c
src/xml.c
tools/windeps/Makefile
tools/windeps/sha256sums