From de1755b58dd9a4a7523d5303799e43db44c25cec Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Tue, 2 Aug 2011 14:16:30 -0400 Subject: lex: 64-bit bug R=rsc http://codereview.appspot.com/4830054 --- src/cmd/lex/ldefs.h | 2 +- src/cmd/lex/parser.y | 2 +- src/cmd/lex/sub1.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'src/cmd/lex') diff --git a/src/cmd/lex/ldefs.h b/src/cmd/lex/ldefs.h index f6d7ff6b..d9b03fde 100644 --- a/src/cmd/lex/ldefs.h +++ b/src/cmd/lex/ldefs.h @@ -156,7 +156,7 @@ extern void mkmatch(void); extern int mnp(int, void*); extern int mn0(int); extern int mn1(int, int); -extern int mn2(int, int, int); +extern int mn2(int, int, uintptr); extern void munputc(int); extern void munputs(uchar *); extern void *myalloc(int, int); diff --git a/src/cmd/lex/parser.y b/src/cmd/lex/parser.y index 2d57e3f3..964a60fe 100644 --- a/src/cmd/lex/parser.y +++ b/src/cmd/lex/parser.y @@ -196,7 +196,7 @@ r: CHAR } } | SCON r - ={ $$.i = mn2(RSCON,$2.i,$1.i); } + ={ $$.i = mn2(RSCON,$2.i,(uintptr)$1.cp); } | '^' r ={ $$.i = mn1(CARAT,$2.i); } | r '$' diff --git a/src/cmd/lex/sub1.c b/src/cmd/lex/sub1.c index 3996d219..dcbbb581 100644 --- a/src/cmd/lex/sub1.c +++ b/src/cmd/lex/sub1.c @@ -295,7 +295,7 @@ gch(void){ } int -mn2(int a, int d, int c) +mn2(int a, int d, uintptr c) { name[tptr] = a; left[tptr] = d; -- cgit v1.2.3