| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
All the conversions already always go through the MBS form so
simply always convert to MBS before trying to convert to any other encoding
in the `archive_mstring_get_*` functions.
* Do this by calling `archive_mstring_get_mbs` to avoid duplicating code
* Add `struct archive*` parameter to `archive_mstring_get_mbs_l`
* Add test for set/get/update utf8 functions on entry
* Add test for encoding conversion.
Fix #931
|
|
|
|
| |
Found by LGTM.com code analysis
|
|
|
|
|
|
|
|
|
| |
Introduce archive_array_append to append a raw array to an archive_string.
We need this for binary values in the PAX header.
We can append arbitray data to the archive_string since its string append
operations simply append at the end pointer rather than walking the string
and appending at the zero byte.
|
|
|
| |
Sponsored by: Tarsnap Backup Inc.
|
|
|
|
|
|
| |
archive_strcpy_in_locale ==> archive_strcpy_l
archive_strncpy_in_locale ==> archive_strncpy_l
archive_strncat_in_locale ==> archive_strncat_l
|
|
|
|
|
|
| |
rely on CoreServices framework on Mac OS.
It passes all NormalizationTest.txt released The Unicode Consortium(http://www.unicode.org).
|
|
|
|
| |
SVN-Revision: 3399
|
|
|
|
|
|
|
|
|
| |
for efficient string conversion. Some platform have to do a string conversion
through wide characters. And then Windows platform cannot make locale UTF-8,
so it means use of wide characters is only way to make a internationalization
program.
SVN-Revision: 3288
|
|
|
|
|
|
| |
be able to know the conversion result.
SVN-Revision: 3283
|
|
|
|
|
|
| |
archive_string_append_from_wcs.
SVN-Revision: 3207
|
|
|
|
|
|
|
|
| |
archive_wstring_append_from_mbs/archive_string_append_from_wcs_to_mbs.
It is no longer needed for WCS<==>MBS conversion.
SVN-Revision: 3206
|
|
|
|
|
|
|
|
|
| |
archive_string_default_conversion_for_read() and
archive_string_default_conversion_for_write()
for conversion CP_ACP <==> CP_OEMCP(as charset for archive file) on Windows platform.
Those functions on non-Windows platform always return NULL.
SVN-Revision: 3172
|
|
|
|
|
|
|
|
| |
archive_string_append_from_wcs_to_mbs
since we have changed the handling of WCS. we are free from WCS format.
SVN-Revision: 3167
|
|
|
|
| |
SVN-Revision: 3162
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Change the interface in order to reduece the comparison of
charset names. Previous version always did it when the functions
were called; it was very inefficient. So I have made a conversion
object, struct archive_string_conv, to resolve that issue.
- Integrate *_from_charset and *_to_charset into *_in_locale because
of above.
- Integrate *_from_utf16be and *_to_utf16be into *in_locale.
- On Windows, Make a codepage from a charset name to know whether
current codepage and specified charset are the same or not.
SVN-Revision: 3108
|
|
|
|
|
|
|
| |
archive_string_append_from_unicode_to_mbs always returns -1
if the platform have neither wctomb nor wcrtomb.
SVN-Revision: 3076
|
|
|
|
|
|
|
|
|
| |
assumption that WCS was UNICODE. What format WCS has is deeply dependent on
platform, and WCS must be converted to/from locale dependent MBS on every
platform through mbstowcs/wcstombs or related functions, which the platforms
provide. We should, thus, respect the platform policy about WCS for potability.
SVN-Revision: 3074
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
extra character conversion.
previous:
Create : Disk -> MBS -> WCS -> MBS -> UTF-8 -> Pax archive file.
Extract: Pax archive file -> UTF-8 -> MBS -> WCS ->MBS -> Disk.
after:
Create : Disk -> MBS -> UTF-8 -> Pax archive file.
Extract: Pax archive file -> UTF-8 -> MBS -> Disk.
SVN-Revision: 3073
|
|
|
|
|
|
| |
platform.
SVN-Revision: 3050
|
|
|
|
|
|
|
|
|
| |
- rename archive_strncpy_from_specific_locale to archive_strncat_from_locale.
- rename archive_strncpy_to_specific_locale to archive_strncat_to_locale.
- add archive_strncpy_[to/from]_locale functions.
- add archive_strcpy_[to/from]_locale functions.
SVN-Revision: 3049
|
|
|
|
|
|
| |
current locale and specific locale with iconv.
SVN-Revision: 3021
|
|
|
|
|
|
|
|
|
| |
- rename archive_string_copy_from_utf16be to archive_strncpy_from_utf16be.
- rename archive_string_copy_to_utf16be to archive_strncpy_to_utf16be and
change its argument from struct archive_string * to a set of const char *
and size_t.
SVN-Revision: 3020
|
|
|
|
|
|
| |
archive_string.c, and Use iconv for it if available.
SVN-Revision: 3019
|
|
|
|
|
|
| |
and refactor the charset conversion routines to be more consistent.
SVN-Revision: 2993
|
|
|
|
|
|
|
| |
when it's available.
See Issue 66 and Issue 132 for more discussion.
SVN-Revision: 2992
|
|
|
|
|
|
| |
it actually does.
SVN-Revision: 2818
|
|
|
|
|
|
|
|
|
|
|
| |
* Remove __ from names (ISO C reserves names prefixed with __)
* Remove the gratuitous macro wrappers
* Remove a couple of unused functions
* Try to simplify some of the implementations a bit more.
* Move the "archive entry string" (aes) functions into archive_string
as "archive_multistring" so these can be used outside of archive_entry
SVN-Revision: 2791
|
|
|
|
| |
SVN-Revision: 2532
|
|
|
|
| |
SVN-Revision: 2527
|
|
|
|
|
|
|
| |
type for unicode strings and uses it to simplify some
of the code in archive_entry.
SVN-Revision: 2508
|
|
|
|
| |
SVN-Revision: 1987
|
|
|
|
| |
SVN-Revision: 1786
|
|
|
|
| |
SVN-Revision: 1363
|
|
|
|
|
|
|
|
| |
take a void * source instead of char *. In particular, this should
reduce the number of gratuitous casts in code that uses
"unsigned char *".
SVN-Revision: 751
|
|
|
|
| |
SVN-Revision: 505
|
|
|
|
| |
SVN-Revision: 266
|
|
|
|
|
|
|
|
|
|
|
|
| |
takes known-good archives, changes random bytes, then feeds
them through libarchive trying to provoke a crash or hang.
This has exposed a couple of problems reading malformed
ISO9660 images. As a result, I now have a rewritten
Rockridge extension parser, better handling of malformed
PVDs, and some additional checks around end-of-archive conditions.
SVN-Revision: 260
|
|
|
|
| |
SVN-Revision: 118
|
|
|
|
|
|
| |
Thanks to: Jeremy C. Reed
SVN-Revision: 108
|
|
|
|
| |
SVN-Revision: 102
|
|
|
|
| |
SVN-Revision: 5
|
|
SVN-Revision: 1
|