summaryrefslogtreecommitdiff
path: root/toke.c
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2001-07-12 03:27:28 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2001-07-12 03:27:28 +0000
commita86a20aad3dee6ffff452254654a89df75943779 (patch)
tree6ab14e31665a822c5612ed4b3bb392a33eab66a2 /toke.c
parentc89df6bff3e1d35ec00d05ede1265446fbb1d8c0 (diff)
downloadperl-a86a20aad3dee6ffff452254654a89df75943779.tar.gz
Retract #11166 (and #11237).
p4raw-id: //depot/perl@11285
Diffstat (limited to 'toke.c')
-rw-r--r--toke.c21
1 files changed, 14 insertions, 7 deletions
diff --git a/toke.c b/toke.c
index abb0c2d7b5..cf219b2eeb 100644
--- a/toke.c
+++ b/toke.c
@@ -4175,6 +4175,12 @@ Perl_yylex(pTHX)
LOP(OP_CRYPT,XTERM);
case KEY_chmod:
+ if (ckWARN(WARN_CHMOD)) {
+ for (d = s; d < PL_bufend && (isSPACE(*d) || *d == '('); d++) ;
+ if (*d != '0' && isDIGIT(*d))
+ Perl_warner(aTHX_ WARN_CHMOD,
+ "chmod() mode argument is missing initial 0");
+ }
LOP(OP_CHMOD,XTERM);
case KEY_chown:
@@ -5032,6 +5038,12 @@ Perl_yylex(pTHX)
LOP(OP_UTIME,XTERM);
case KEY_umask:
+ if (ckWARN(WARN_UMASK)) {
+ for (d = s; d < PL_bufend && (isSPACE(*d) || *d == '('); d++) ;
+ if (*d != '0' && isDIGIT(*d))
+ Perl_warner(aTHX_ WARN_UMASK,
+ "umask: argument is missing initial 0");
+ }
UNI(OP_UMASK);
case KEY_unshift:
@@ -6909,8 +6921,7 @@ Perl_scan_num(pTHX_ char *start, YYSTYPE* lvalp)
register char *e; /* end of temp buffer */
NV nv; /* number read, as a double */
SV *sv = Nullsv; /* place to put the converted number */
- bool floatit, /* boolean: int or float? */
- octal = 0; /* Is this an octal number? */
+ bool floatit; /* boolean: int or float? */
char *lastub = 0; /* position of last underbar */
static char number_too_long[] = "Number too long";
@@ -6964,7 +6975,6 @@ Perl_scan_num(pTHX_ char *start, YYSTYPE* lvalp)
/* so it must be octal */
else {
shift = 3;
- octal = 1;
s++;
}
@@ -7318,11 +7328,8 @@ vstring:
/* make the op for the constant and return */
- if (sv) {
+ if (sv)
lvalp->opval = newSVOP(OP_CONST, 0, sv);
- if (octal)
- ((SVOP *)lvalp->opval)->op_private |= OPpCONST_OCTAL;
- }
else
lvalp->opval = Nullop;