Skip to content

Prepare for v3.0.0 release. #7

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 78 commits into from
Feb 11, 2025
Merged

Prepare for v3.0.0 release. #7

merged 78 commits into from
Feb 11, 2025

Conversation

ChenPi11
Copy link
Member

  • Refactor ALL API. Provide C and C++ API.
  • Remove //ZOS_UNIX support.
  • Remove unused code.
  • Refactor testing suites.
  • Add API documentation.
  • Use Rubisco for project manager.
  • Enable all encodings by default.
  • Add codepage lookup support.
  • Add CPack configuration for DEB packages.
  • Synchronize with upstream GNU LIBICONV.
  • Fix assert_compare_file() function issue #5.
  • Optimize the project structure.
  • Add iconv compatibility support.
  • Add locale character set detection support.
  • Fix a bug in test suite caused by line feeds.
  • Remove NLS support.

ChenPi11 and others added 30 commits October 4, 2023 08:48
	修改:     CMakeLists.txt
	修改:     CPPPPKG
	修改:     ChangeLog
	修改:     include/cppp/reiconv.hpp.in
	修改:     lib/iconv.cpp
	修改:     ChangeLog
	修改:     include/cppp/reiconv.hpp.in
	修改:     lang/zh_CN.langmap
	修改:     lib/iconv.cpp
	修改:     ChangeLog
	修改:     include/cppp/reiconv.hpp.in
	修改:     lang/zh_CN.langmap
	修改:     lib/converters.h
	修改:     lib/ebcdic037.h
	修改:     lib/ebcdic1025.h
	修改:     lib/ebcdic1026.h
	修改:     lib/ebcdic1047.h
	修改:     lib/ebcdic1097.h
	修改:     lib/ebcdic1112.h
	修改:     lib/ebcdic1122.h
	修改:     lib/ebcdic1123.h
	修改:     lib/ebcdic1130.h
	修改:     lib/ebcdic1132.h
	修改:     lib/ebcdic1137.h
	修改:     lib/ebcdic1140.h
	修改:     lib/ebcdic1141.h
	修改:     lib/ebcdic1142.h
	修改:     lib/ebcdic1143.h
	修改:     lib/ebcdic1144.h
	修改:     lib/ebcdic1145.h
	修改:     lib/ebcdic1146.h
	修改:     lib/ebcdic1147.h
	修改:     lib/ebcdic1148.h
	修改:     lib/ebcdic1149.h
	修改:     lib/ebcdic1153.h
	修改:     lib/ebcdic1154.h
	修改:     lib/ebcdic1155.h
	修改:     lib/ebcdic1156.h
	修改:     lib/ebcdic1157.h
	修改:     lib/ebcdic1158.h
	修改:     lib/ebcdic1160.h
	修改:     lib/ebcdic1164.h
	修改:     lib/ebcdic1165.h
	修改:     lib/ebcdic1166.h
	修改:     lib/ebcdic12712.h
	修改:     lib/ebcdic16804.h
	修改:     lib/ebcdic273.h
	修改:     lib/ebcdic277.h
	修改:     lib/ebcdic278.h
	修改:     lib/ebcdic280.h
	修改:     lib/ebcdic282.h
	修改:     lib/ebcdic284.h
	修改:     lib/ebcdic285.h
	修改:     lib/ebcdic297.h
	修改:     lib/ebcdic423.h
	修改:     lib/ebcdic424.h
	修改:     lib/ebcdic425.h
	修改:     lib/ebcdic4971.h
	修改:     lib/ebcdic500.h
	修改:     lib/ebcdic838.h
	修改:     lib/ebcdic870.h
	修改:     lib/ebcdic871.h
	修改:     lib/ebcdic875.h
	修改:     lib/ebcdic880.h
	修改:     lib/ebcdic905.h
	修改:     lib/ebcdic924.h
	修改:     lib/iconv.cpp
	修改:     lib/iconv_open1.h
	修改:     lib/iconv_open2.h
1. Remove wchar test.
2. Remove iconv_fallbacks.
3. Use '#pragma once' for header.

	修改:     ChangeLog
	修改:     FILELIST
	修改:     include/cppp/reiconv.hpp.in
	修改:     lib/converters.h
	修改:     lib/iconv.cpp
	修改:     lib/iconv_open2.h
	修改:     lib/loop_unicode.h
	删除:     tests/test-to-wchar.cpp
	修改:     tests/tests.cmake
	修改:     tools/genflags.cpp
	修改:     ChangeLog
	修改:     FILELIST
	修改:     tests/check-stateful.cpp
	修改:     tests/check-stateless.cpp
	修改:     tests/reiconv-test.hpp
	重命名:   tests/file_utils.hpp -> tests/utils.hpp
	修改:     ChangeLog
	修改:     tests/reiconv-test.hpp
	修改:     tests/sort.hpp
	修改:     tests/table-from.hpp
	修改:     tests/table-to.hpp
	修改:     tests/throw_error.hpp
	修改:     tests/uniq-u.hpp
	修改:     tests/utils.hpp
	修改:     tests/check-stateful.cpp
	修改:     tests/check-stateless.cpp
	修改:     tests/table-from.hpp
	修改:     tests/utils.hpp
	修改:     ChangeLog
	修改:     FILELIST
	删除:     tests/test-shiftseq.cpp
	修改:     tests/tests.cmake
	修改:     CMakeLists.txt
	修改:     ChangeLog
	修改:     FILELIST
	修改:     lib/iconv.cpp
	新文件:   tests/_iconv.hpp
	修改:     tests/reiconv-test.hpp
	修改:     tests/table-from.hpp
	修改:     tests/table-to.hpp
	修改:     tests/throw_error.hpp
1. Remove `iconv_t`, `iconv_open`, `iconv`, `iconv_close`, `iconvctl`, `iconv_unicode_char_hook`, `iconv_hooks`, iconvctl requests, and `int iconv_string(const iconv_t& cd, const char *start, const char *end, char **resultp, size_t *lengthp);`.
2. Hide `iconv_open`, `iconv_close`, `iconv` symbols. You can still call it, see `tests/_iconv.hpp`.
	修改:     ChangeLog
	修改:     include/cppp/reiconv.hpp.in
	修改:     lang/zh_CN.langmap
	修改:     lib/converters.h
	修改:     lib/iconv.cpp
	修改:     lib/iconv_open2.h
	修改:     lib/loop_unicode.h
	修改:     tools/genflags.cpp
	修改:     ChangeLog
	修改:     ChangeLog
	修改:     include/cppp/reiconv.hpp.in
	修改:     lang/zh_CN.langmap
	修改:     lib/iconv.cpp
	修改:     tests/reiconv-test.hpp
	修改:     ChangeLog
	修改:     include/cppp/reiconv.hpp.in
	修改:     lang/zh_CN.langmap
	修改:     lib/iconv.cpp
	修改:     tests/reiconv-test.hpp
	修改:     lang/zh_CN.langmap
	修改:     CMakeLists.txt
	修改:     Makefile.devel
	修改:     ChangeLog
	修改:     FILELIST
	修改:     include/cppp/reiconv.hpp.in
	修改:     lang/zh_CN.langmap
	修改:     lib/iconv.cpp
	新文件:   tests/check-ascii-converters.cpp
	修改:     tests/tests.cmake
	修改:     ChangeLog
	修改:     include/cppp/reiconv.hpp.in
	修改:     lang/zh_CN.langmap
	修改:     lib/big5.h
	修改:     lib/cns11643_inv.h
	修改:     lib/cp932ext.h
	修改:     lib/cp950ext.h
	修改:     lib/encodings.def
	修改:     lib/encodings_aix.def
	修改:     lib/encodings_dos.def
	修改:     lib/encodings_extra.def
	修改:     lib/encodings_osf1.def
	修改:     lib/encodings_zos.def
	修改:     lib/gb12345ext.h
	修改:     lib/gb2312.h
	修改:     lib/gbkext_inv.h
	修改:     lib/hkscs1999.h
	修改:     lib/hkscs2001.h
	修改:     lib/hkscs2004.h
	修改:     lib/hkscs2008.h
	修改:     lib/iconv_open1.h
	修改:     lib/isoir165ext.h
	修改:     lib/jisx0208.h
	修改:     lib/jisx0212.h
	修改:     lib/ksc5601.h
	修改:     lib/loop_unicode.h
	修改:     tests/reiconv-test.hpp
	修改:     tests/table-from.hpp
	修改:     tests/table-to.hpp
	修改:     tests/uniq-u.hpp
	修改:     tests/utils.hpp
	修改:     tools/genaliases.cpp
	修改:     tools/genaliases2.cpp
1. Update compile options' name.
2. Use extra encodings always except less build.

	修改:     CMakeLists.txt
	修改:     ChangeLog
	修改:     Makefile.devel
	修改:     tests/tests.cmake
	修改:     ChangeLog
	修改:     FILELIST
	修改:     Makefile.devel
	修改:     lib/aliases2.h
	修改:     lib/converters.h
	修改:     lib/encodings.def
	删除:     lib/encodings_osf1.def
	修改:     lib/generated/aliases.h
	删除:     lib/generated/aliases_osf1.h
	删除:     lib/generated/aliases_osf1_sysosf1.h
	修改:     lib/generated/aliases_sysaix.h
	修改:     lib/generated/aliases_syshpux.h
	删除:     lib/generated/aliases_sysosf1.h
	修改:     lib/generated/aliases_syssolaris.h
	修改:     lib/generated/flags.h
	修改:     lib/iconv.cpp
	修改:     tools/genaliases2.cpp
	修改:     tools/genflags.cpp
1. Update test option.
2. More tests in 'Makefile.devel'.
3. Use 'cppp_install_library' for install libraries.

	修改:     CMakeLists.txt
	修改:     ChangeLog
	修改:     Makefile.devel
	修改:     tests/tests.cmake
fix: read_all buffer memory distribution
fix: read_all buffer memory distribution
tests/utils.hpp filesystem apis & memory distribution
	修改:     ChangeLog
	新文件:   tools/build.ps1
	新文件:   tools/build.sh
1. Use Rubisco for project manager.
2. Remove NLS support.
3. Remove dist tools.
4. Remove `ChangeLog`.
1. Enable all encodings everywhere.
2. Rename `DLL_VARIABLE` to `_CPPP_API`.
3. Remove aliases2 support.
Message:

```text
Reported by Tomas Kalibera <[email protected]> in
<https://lists.gnu.org/archive/html/bug-gnu-libiconv/2024-12/msg00000.html>.

* lib/converters.h (struct conv_struct): Add field 'ibyteorder'.
* lib/iconv_open2.h: Initialize the ibyteorder field.
* lib/ucs2.h (ucs2_mbtowc): Use the ibyteorder field instead of the
istate field.
* lib/ucs4.h (ucs4_mbtowc): Likewise.
* lib/utf16.h (utf16_mbtowc): Likewise.
* lib/utf32.h (utf32_mbtowc): Likewise.
* tests/test-bom-state.c: New file.
* tests/Makefile.in (check): Run test-bom-state.
(test-bom-state, test-bom-state.@OBJEXT@): New targets.
(clean): Remove test-bom-state.
(SOURCE_FILES): Add test-bom-state.c.
* NEWS: Mention the change.
```
Message:

```text
Support multiple suffixes in iconv_open, like glibc does.

* lib/iconv_open1.h: Use a loop when looking for the common suffixes.
* tests/test-discard.c: New file.
* tests/Makefile.in (check): Run test-discard.
(test-discard, test-discard.@OBJEXT@): New targets.
(clean): Remove test-discard.
(SOURCE_FILES): Add test-discard.c.
* NEWS: Mention the change.
```
@ChenPi11 ChenPi11 merged commit b80089c into main Feb 11, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

assert_compare_file() function issue
2 participants