* JuliaStrings#169 turn on sign-conversion warnings
Signed-off-by: Mike Glorioso <mike.glorioso@gmail.com>
* JuliaStrings#169 fix sign-conversion warnings for utf8proc.c
fix sign-converstion warnings for utf8proc_iterate
uc requires at most 21 bits to identify a unicode codepoint, so there is no need for it to be unsigned
multiple locations use, modify, or store uc with a signed value
the only exception is line 137 where uc is compared with an unsigned value
fix sign-converstion warnings for utf8proc_tolower, utf8proc_toupper, utf8proc_totitle
all three methods have sign conversion warnings when calling seqindex_decode_index
seqindex_decode_index uses the passed value as an index to an array utf8proc_sequences
as utf8proc_sequences is hard-coded and smaller than 2^31 - 1 we can safely cast to unsigned
fix sign-converstion warnings for utf8proc_decompose_char
lines with this warning use the defined function utf8proc_decompose_lump
in the function, a hardcoded unsigned value (1<<12) is complemented then cast as a signed value
as the intent is to remove the 12th bit flag from options, a signed value, and explicit cast is safe
fix sign-conversion warnings for utf8proc_map_custom
result is declared as signed, but is only expected to contain values between 0 and 4
sizeof returns an unsigned value. result must be cast to unsigned
Signed-off-by: Mike Glorioso <mike.glorioso@gmail.com>
* JuliaStrings#169 fix sign-conversion warnings for test/*
fix sign-conversion warnings for test/tests.c encode
change type for d to match return value of utf8proc_encode_char
fix sign-conversion warnings for test/graphemetest.c checkline
si, i, and j are unsigned size types, utf8proc_map and utf8proc_iterate accept and return signed size types
utf8proc_map treats negative strlen values as 0. the strlen used by the test must be similarly limited
utf8proc_iterate treats negative strlen values as 4 which will be less than the unsigned size
fix unused-but-set-variable warning by checking the glen value
fix sign-conversion warnings for test/case.c main
the if block ensures that tested codepoint fits in wint_t, but needs to include u and l as well
c, u, and l can be safely cast to wint_t
fix sign-conversion warnings for test/iterate.c
all values used for len are below 8, so an explicit cast is safe
updated types for more portable test code
fix sign-conversion warnings for test/printproperty.c main
change type of c to signed to resolve all sign-converstion warnings.
replace sscanf(... &c) wiht sscanf(... &x) followed by explicit sign converstion
Signed-off-by: Mike Glorioso <mike.glorioso@gmail.com>
* ensure ruby is in UTF-8 mode
* Revert "ensure ruby is in UTF-8 mode"
This reverts commit 587b7b6b7215f91b1ae52aefc82d359f2f378a61.
* ensure Ruby reads files in UTF-8 encoding
* Fix extended emoji + zwj combo
* Patch initial repeated regional flags and extended+zwj emoj
* Merge conditions for setting breaks bt region
* updated fix
* perform tests for both utf8proc_map and manual calls to utf8proc_grapheme_break_stateful
* consolidate tests
Co-authored-by: Thomas Marks <marksta@umich.edu>
The cmake file expects the parent folder to be named "utf8proc",
otherwise the target_include_directories won't work, as it references
an unknown path.
This deviates from the install targets (both cmake and makefile) in
putting the include file into a subfolder in contrast to the top level
folder. This also prevents using the library with the recent cmake
addition of FetchContent.
This change unifies the include file handling by using the local path
for cmake as well.
This might break existing uses. As a workaround, we could add a dummy
include file in the old location (new utf8proc subfolder). I'm not sure
if that is necessary.
Co-authored-by: Stefan Floeren <stefan-floeren@users.noreply.github.com>
* Add: tests to CMakeLists.txt
* Disable compilation of charwidth, graphemetest and normtest because of missing getline
* Refactoring: UTF8PROC_ENABLE_TESTING default Off, move tests that don't compile on windows to NOT MSVC section, add testing to appveyor.yml
* Add: testing to travis
* Changed: flag to WIN32 because MinGW has the same problem as MSVC
* Commented out graphemetest and normtest because they fail.
* Re-added: graphemetest and normtest added missing data to the path of the text files.
* Fix: last commit was party wrong normtest failed.
* * Commented out graphemetest and normtest because they fail, because in CMakeLists is missing building of data.
* Add: mingw_static, mingw_shared, msvc_shared, msvc_static to ignore list
* Add: prefix utf8proc. to tests
* Fix: memory leaks in tests case.c and misc.c forgot to call free after calling utf8proc_NFKC_Casefold
Co-authored-by: Andreas-Schniertshauer <Andreas-Schniertshauer@users.noreply.github.com>
* Add: tests to CMakeLists.txt
* Disable compilation of charwidth, graphemetest and normtest because of missing getline
* Refactoring: UTF8PROC_ENABLE_TESTING default Off, move tests that don't compile on windows to NOT MSVC section, add testing to appveyor.yml
* Add: testing to travis
* Changed: flag to WIN32 because MinGW has the same problem as MSVC
* Commented out graphemetest and normtest because they fail.
* Re-added: graphemetest and normtest added missing data to the path of the text files.
* Fix: last commit was party wrong normtest failed.
* * Commented out graphemetest and normtest because they fail, because in CMakeLists is missing building of data.
* Add: mingw_static, mingw_shared, msvc_shared, msvc_static to ignore list
* Add: downloading data and executing enabled tests that depend on the downloaded data.
* Fix: windows line endings CRLF replaced with linux LF
* Refactoring: (major) set UNICODE_VERSION to 13.0.0, replace curl with file DOWNLOAD, removed downloading unnecessary files, enabled normtest.
* Fix: woodhead error in revision adeac82ec9 readded calling execute_process to strip GraphemeBreakTest.txt file
* Add: removing no more used file data/GraphemeBreakTestOrg.txt after stripping.
* Add: testing folder to ignore list
* Add: enabled graphemetest
* Update .gitignore
Co-authored-by: Andreas-Schniertshauer <Andreas-Schniertshauer@users.noreply.github.com>
Co-authored-by: Steven G. Johnson <stevenj@mit.edu>
* Add: tests to CMakeLists.txt
* Disable compilation of charwidth, graphemetest and normtest because of missing getline
* Refactoring: UTF8PROC_ENABLE_TESTING default Off, move tests that don't compile on windows to NOT MSVC section, add testing to appveyor.yml
* Add: testing to travis
* Changed: flag to WIN32 because MinGW has the same problem as MSVC
* Commented out graphemetest and normtest because they fail.
* Re-added: graphemetest and normtest added missing data to the path of the text files.
* Fix: last commit was party wrong normtest failed.
* * Commented out graphemetest and normtest because they fail, because in CMakeLists is missing building of data.
* Add: mingw_static, mingw_shared, msvc_shared, msvc_static to ignore list
* Add: prefix utf8proc. to tests
* Add: prefix utf8proc. to tests
Co-authored-by: Andreas-Schniertshauer <Andreas-Schniertshauer@users.noreply.github.com>
Co-authored-by: Steven G. Johnson <stevenj@mit.edu>