This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
utf8.h: Guard some macros against improper calls
authorKarl Williamson <khw@cpan.org>
Wed, 10 Feb 2016 17:54:42 +0000 (10:54 -0700)
committerKarl Williamson <khw@cpan.org>
Thu, 11 Feb 2016 04:16:44 +0000 (21:16 -0700)
commit5c06326b193e9f7badbab9e6a04db1f303b7cd6c
tree0e39d5afb771f2ece868144aa7ed12b1ad97dbde
parent0c6c793207762fced18c2d12a733993f0f8e30f7
utf8.h: Guard some macros against improper calls

The UTF8_IS_foo() macros have an inconsistent API.  In some, the
parameter is a pointer, and in others it is a byte.  In the former case,
a call of the wrong type will not compile, as it will try to dereference
a non-ptr.  This commit makes the other ones not compile when called
wrongly, by using the technique shown by Lukas Mai (in
9c903d5937fa3682f21b2aece7f6011b6fcb2750) of ORing the argument with a
constant 0, which should get optimized out.
utf8.h