From 69cc184b71d2368b981feb90a3ed26718963ec67 Mon Sep 17 00:00:00 2001 From: Paul Marquess Date: Mon, 27 Jul 1998 07:16:15 +0100 Subject: 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 --- toke.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'toke.c') 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); -- cgit v1.2.1