This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
locale.c: Fix conditional compilation
authorFrancois Perrad <francois.perrad@gadz.org>
Sun, 1 Jul 2018 22:17:44 +0000 (00:17 +0200)
committerKarl Williamson <khw@cpan.org>
Mon, 16 Jul 2018 17:15:04 +0000 (11:15 -0600)
With Perl 5.28.0, there are some mismatches between blocks
and conditional compilation in the Perl__is_cur_LC_category_utf8() function.
The compilation of miniperl could fails like this:
```
locale.c: In function `Perl__is_cur_LC_category_utf8`:
locale.c:5481:1: error: expected declaration or statement at end of input
 }
 ^
```

Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
locale.c

index f8f77fb..f273184 100644 (file)
--- a/locale.c
+++ b/locale.c
@@ -4649,11 +4649,12 @@ Perl__is_cur_LC_category_utf8(pTHX_ int category)
                             && wc == (wchar_t) UNICODE_REPLACEMENT);
         }
 
+#    endif
+
         restore_switched_locale(LC_CTYPE, original_ctype_locale);
         goto finish_and_return;
     }
 
-#    endif
 #  else
 
         /* Here, we must have a C89 compiler that doesn't have mbtowc().  Next
@@ -4885,9 +4886,9 @@ Perl__is_cur_LC_category_utf8(pTHX_ int category)
             is_utf8 = TRUE;
             goto finish_and_return;
         }
-    }
 
 #      endif
+    }
 #    endif
 
     /* Other common encodings are the ISO 8859 series, which aren't UTF-8.  But