Suppress warnings by gcc 10.1.0-RC-20200430

* Folding results should not be empty.

  If `OnigCodePointCount(to->n)` were 0, `for` loop using `fn`
  wouldn't execute and `ncs` elements are not initialized.

  ```
  enc/unicode.c:557:21: warning: 'ncs[0]' may be used uninitialized in this function [-Wmaybe-uninitialized]
    557 |  for (i = 0; i < ncs[0]; i++) {
        |                  ~~~^~~
  ```

* Cast to `enum yytokentype`

  Additional enums for scanner events by ripper are not included
  in `yytokentype`.

  ```
  ripper.y:7274:28: warning: implicit conversion from 'enum <anonymous>' to 'enum yytokentype' [-Wenum-conversion]
  ```
This commit is contained in:
Nobuyoshi Nakada 2020-05-04 12:10:04 +09:00
parent 39bd1244b4
commit b7e1eda932
No known key found for this signature in database
GPG key ID: 7CD2805BFA3770C6
2 changed files with 13 additions and 1 deletions

View file

@ -493,6 +493,10 @@ onigenc_unicode_get_case_fold_codes_by_str(OnigEncoding enc,
#endif
if ((to = onigenc_unicode_fold_lookup(code)) != 0) {
if (OnigCodePointCount(to->n) == 0) {
/* any codepoint should not be empty */
UNREACHABLE_RETURN(0);
}
if (OnigCodePointCount(to->n) == 1) {
OnigCodePoint orig_code = code;