diff options
author | Jarkko Hietaniemi <jhi@iki.fi> | 2001-07-12 03:27:28 +0000 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2001-07-12 03:27:28 +0000 |
commit | a86a20aad3dee6ffff452254654a89df75943779 (patch) | |
tree | 6ab14e31665a822c5612ed4b3bb392a33eab66a2 /toke.c | |
parent | c89df6bff3e1d35ec00d05ede1265446fbb1d8c0 (diff) | |
download | perl-a86a20aad3dee6ffff452254654a89df75943779.tar.gz |
Retract #11166 (and #11237).
p4raw-id: //depot/perl@11285
Diffstat (limited to 'toke.c')
-rw-r--r-- | toke.c | 21 |
1 files changed, 14 insertions, 7 deletions
@@ -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; |