summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Marquess <paul.marquess@btinternet.com>1998-07-27 07:16:15 +0100
committerGurusamy Sarathy <gsar@cpan.org>1998-08-08 23:01:57 +0000
commit69cc184b71d2368b981feb90a3ed26718963ec67 (patch)
tree0ef4a8afc9eaced7c8cf0b5ae4c64def46e77c7b
parentfe2c25664928177f74d1bf55c146cfd32824d5f1 (diff)
downloadperl-69cc184b71d2368b981feb90a3ed26718963ec67.tar.gz
fix bogus warning on "\x{123}"
Message-Id: <9807270534.AA11102@claudius.bfsec.bt.co.uk> Subject: [5.005_50 PATCH] Some unicode problems p4raw-id: //depot/perl@1771
-rw-r--r--regcomp.c4
-rw-r--r--toke.c8
2 files changed, 6 insertions, 6 deletions
diff --git a/regcomp.c b/regcomp.c
index 2daa72bafd..3c047b6fdf 100644
--- a/regcomp.c
+++ b/regcomp.c
@@ -2115,7 +2115,7 @@ regclass(void)
* (POSIX Extended Character Classes, that is)
* The text between e.g. [: and :] would start
* at posixccs + 1 and stop at regcomp_parse - 2. */
- if (dowarn && !SIZE_ONLY)
+ if (PL_dowarn && !SIZE_ONLY)
warn("Character class syntax [%c %c] is reserved for future extensions", posixccc, posixccc);
PL_regcomp_parse++; /* skip over the ending ] */
}
@@ -2317,7 +2317,7 @@ regclassutf8(void)
* (POSIX Extended Character Classes, that is)
* The text between e.g. [: and :] would start
* at posixccs + 1 and stop at regcomp_parse - 2. */
- if (dowarn && !SIZE_ONLY)
+ if (PL_dowarn && !SIZE_ONLY)
warn("Character class syntax [%c %c] is reserved for future extensions", posixccc, posixccc);
PL_regcomp_parse++; /* skip over the ending ] */
}
diff --git a/toke.c b/toke.c
index f56aeecf30..b71394fc6e 100644
--- a/toke.c
+++ b/toke.c
@@ -981,7 +981,7 @@ scan_const(char *start)
/* (now in tr/// code again) */
- if (*s & 0x80 && dowarn && thisutf) {
+ if (*s & 0x80 && PL_dowarn && thisutf) {
(void)utf8_to_uv(s, &len); /* could cvt latin-1 to utf8 here... */
if (len) {
while (len--)
@@ -1047,10 +1047,10 @@ scan_const(char *start)
if (!e)
yyerror("Missing right brace on \\x{}");
- if (dowarn && !utf)
+ if (PL_dowarn && !utf)
warn("Use of \\x{} without utf8 declaration");
/* note: utf always shorter than hex */
- d = uv_to_utf8(d, scan_hex(s + 1, e - s, &len));
+ d = uv_to_utf8(d, scan_hex(s + 1, e - s - 1, &len));
s = e + 1;
}
@@ -1062,7 +1062,7 @@ scan_const(char *start)
d = uv_to_utf8(d, uv); /* doing a CU or UC */
}
else {
- if (dowarn && uv >= 127 && UTF)
+ if (PL_dowarn && uv >= 127 && UTF)
warn(
"\\x%.*s will produce malformed UTF-8 character; use \\x{%.*s} for that",
len,s,len,s);