summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dump.c4
-rw-r--r--ext/Cwd/Cwd.xs7
-rw-r--r--ext/Data/Dumper/Dumper.xs2
-rw-r--r--ext/File/Glob/bsd_glob.c3
-rw-r--r--ext/IO/IO.xs4
-rw-r--r--ext/IO/poll.c4
-rw-r--r--ext/PerlIO/Scalar/Scalar.xs8
-rw-r--r--ext/PerlIO/encoding/encoding.xs2
-rw-r--r--pp.c2
-rw-r--r--regexec.c4
-rw-r--r--sv.h2
11 files changed, 23 insertions, 19 deletions
diff --git a/dump.c b/dump.c
index 969fac54b2..b9bf09910b 100644
--- a/dump.c
+++ b/dump.c
@@ -75,8 +75,8 @@ Perl_dump_sub(pTHX_ GV *gv)
gv_fullname3(sv, gv, Nullch);
Perl_dump_indent(aTHX_ 0, Perl_debug_log, "\nSUB %s = ", SvPVX(sv));
if (CvXSUB(GvCV(gv)))
- Perl_dump_indent(aTHX_ 0, Perl_debug_log, "(xsub 0x%lx %d)\n",
- (long)CvXSUB(GvCV(gv)),
+ Perl_dump_indent(aTHX_ 0, Perl_debug_log, "(xsub 0x%"UVxf" %d)\n",
+ PTR2UV(CvXSUB(GvCV(gv))),
(int)CvXSUBANY(GvCV(gv)).any_i32);
else if (CvROOT(GvCV(gv)))
op_dump(CvROOT(GvCV(gv)));
diff --git a/ext/Cwd/Cwd.xs b/ext/Cwd/Cwd.xs
index 667a1e2167..f53f6ee19e 100644
--- a/ext/Cwd/Cwd.xs
+++ b/ext/Cwd/Cwd.xs
@@ -73,8 +73,7 @@ bsd_realpath(path, resolved)
dTHX;
return Perl_rmsexpand(aTHX_ (char*)path, resolved, NULL, 0);
#else
- struct stat sb;
- int n, rootd, serrno;
+ int rootd, serrno;
char *p, *q, wbuf[MAXPATHLEN];
int symlinks = 0;
@@ -124,9 +123,12 @@ loop:
p = resolved;
#if defined(HAS_LSTAT) && defined(HAS_READLINK) && defined(HAS_SYMLINK)
+ {
+ struct stat sb;
/* Deal with the last component. */
if (lstat(p, &sb) == 0) {
if (S_ISLNK(sb.st_mode)) {
+ int n;
if (++symlinks > MAXSYMLINKS) {
errno = ELOOP;
goto err1;
@@ -143,6 +145,7 @@ loop:
p = "";
}
}
+ }
#endif
/*
diff --git a/ext/Data/Dumper/Dumper.xs b/ext/Data/Dumper/Dumper.xs
index 62f3099d8a..19037a839e 100644
--- a/ext/Data/Dumper/Dumper.xs
+++ b/ext/Data/Dumper/Dumper.xs
@@ -580,7 +580,7 @@ DD_dump(pTHX_ SV *val, char *name, STRLEN namelen, SV *retval, HV *seenhv,
STRLEN keylen;
bool do_utf8 = FALSE;
- if ((sortkeys && !(keys && i <= av_len(keys))) ||
+ if ((sortkeys && !(keys && (I32)i <= av_len(keys))) ||
!(entry = hv_iternext((HV *)ival)))
break;
diff --git a/ext/File/Glob/bsd_glob.c b/ext/File/Glob/bsd_glob.c
index d0d4a9186a..46b52aa67a 100644
--- a/ext/File/Glob/bsd_glob.c
+++ b/ext/File/Glob/bsd_glob.c
@@ -506,7 +506,6 @@ globexp2(const Char *ptr, const Char *pattern,
static const Char *
globtilde(const Char *pattern, Char *patbuf, size_t patbuf_len, glob_t *pglob)
{
- struct passwd *pwd;
char *h;
const Char *p;
Char *b, *eb;
@@ -534,6 +533,7 @@ globtilde(const Char *pattern, Char *patbuf, size_t patbuf_len, glob_t *pglob)
*/
if ((h = getenv("HOME")) == NULL) {
#ifdef HAS_PASSWD
+ struct passwd *pwd;
if ((pwd = getpwuid(getuid())) == NULL)
return pattern;
else
@@ -547,6 +547,7 @@ globtilde(const Char *pattern, Char *patbuf, size_t patbuf_len, glob_t *pglob)
* Expand a ~user
*/
#ifdef HAS_PASSWD
+ struct passwd *pwd;
if ((pwd = getpwnam((char*) patbuf)) == NULL)
return pattern;
else
diff --git a/ext/IO/IO.xs b/ext/IO/IO.xs
index dc810d68a5..7edbf2c3e3 100644
--- a/ext/IO/IO.xs
+++ b/ext/IO/IO.xs
@@ -64,12 +64,12 @@ not_here(char *s)
static int
io_blocking(pTHX_ InputStream f, int block)
{
+#if defined(HAS_FCNTL)
int RETVAL;
if(!f) {
errno = EBADF;
return -1;
}
-#if defined(HAS_FCNTL)
RETVAL = fcntl(PerlIO_fileno(f), F_GETFL, 0);
if (RETVAL >= 0) {
int mode = RETVAL;
@@ -145,7 +145,7 @@ io_blocking(pTHX_ InputStream f, int block)
}
return RETVAL;
#else
- return -1;
+ return -1;
#endif
}
diff --git a/ext/IO/poll.c b/ext/IO/poll.c
index 024c52ff9f..a09c2472a7 100644
--- a/ext/IO/poll.c
+++ b/ext/IO/poll.c
@@ -58,7 +58,7 @@ again:
FD_ZERO(&wfd);
FD_ZERO(&efd);
- for(i = 0 ; i < nfds ; i++) {
+ for(i = 0 ; i < (int)nfds ; i++) {
int events = fds[i].events;
int fd = fds[i].fd;
@@ -105,7 +105,7 @@ again:
count = 0;
- for(i = 0 ; i < nfds ; i++) {
+ for(i = 0 ; i < (int)nfds ; i++) {
int revents = (fds[i].events & POLL_EVENTS_MASK);
int fd = fds[i].fd;
diff --git a/ext/PerlIO/Scalar/Scalar.xs b/ext/PerlIO/Scalar/Scalar.xs
index 86c54fa62c..c904394693 100644
--- a/ext/PerlIO/Scalar/Scalar.xs
+++ b/ext/PerlIO/Scalar/Scalar.xs
@@ -90,9 +90,9 @@ PerlIOScalar_seek(pTHX_ PerlIO *f, Off_t offset, int whence)
s->posn = offset + SvCUR(s->var);
break;
}
- if (s->posn > SvCUR(s->var))
+ if ((STRLEN)s->posn > SvCUR(s->var))
{
- (void) SvGROW(s->var,s->posn);
+ (void) SvGROW(s->var,(STRLEN)s->posn);
}
return 0;
}
@@ -141,7 +141,7 @@ PerlIOScalar_write(pTHX_ PerlIO *f, const void *vbuf, Size_t count)
s->posn += count;
}
Move(vbuf,dst+offset,count,char);
- if (s->posn > SvCUR(sv))
+ if ((STRLEN)s->posn > SvCUR(sv))
SvCUR_set(sv,s->posn);
SvPOK_on(s->var);
return count;
@@ -190,7 +190,7 @@ PerlIOScalar_get_cnt(pTHX_ PerlIO *f)
if (PerlIOBase(f)->flags & PERLIO_F_CANREAD)
{
PerlIOScalar *s = PerlIOSelf(f,PerlIOScalar);
- if (SvCUR(s->var) > s->posn)
+ if (SvCUR(s->var) > (STRLEN)s->posn)
return SvCUR(s->var) - s->posn;
else
return 0;
diff --git a/ext/PerlIO/encoding/encoding.xs b/ext/PerlIO/encoding/encoding.xs
index ea15e56877..23de989514 100644
--- a/ext/PerlIO/encoding/encoding.xs
+++ b/ext/PerlIO/encoding/encoding.xs
@@ -237,7 +237,7 @@ PerlIOEncode_fill(pTHX_ PerlIO * f)
if (SvLEN(e->dataSV) && SvPVX(e->dataSV)) {
Safefree(SvPVX(e->dataSV));
}
- if (use > e->base.bufsiz) {
+ if (use > (SSize_t)e->base.bufsiz) {
use = e->base.bufsiz;
}
SvPVX(e->dataSV) = (char *) ptr;
diff --git a/pp.c b/pp.c
index 3b3d76d99e..a2433d9b17 100644
--- a/pp.c
+++ b/pp.c
@@ -1185,7 +1185,7 @@ PP(pp_divide)
}
/* 2s complement assumption */
if (result <= (UV)IV_MIN)
- SETi( -result );
+ SETi( -(IV)result );
else {
/* It's exact but too negative for IV. */
SETn( -(NV)result );
diff --git a/regexec.c b/regexec.c
index de3caafc1e..05839f0298 100644
--- a/regexec.c
+++ b/regexec.c
@@ -3070,10 +3070,10 @@ S_regmatch(pTHX_ regnode *prog)
DEBUG_r(
PerlIO_printf(Perl_debug_log,
- "%*s %ld out of %ld..%ld cc=%lx\n",
+ "%*s %ld out of %ld..%ld cc=%"UVxf"\n",
REPORT_CODE_OFF+PL_regindent*2, "",
(long)n, (long)cc->min,
- (long)cc->max, (long)cc)
+ (long)cc->max, (UV)cc)
);
/* If degenerate scan matches "", assume scan done. */
diff --git a/sv.h b/sv.h
index 92dec20a73..6f95c46a84 100644
--- a/sv.h
+++ b/sv.h
@@ -174,7 +174,7 @@ perform the upgrade if necessary. See C<svtype>.
# endif
#endif
-#define SvREFCNT_dec(sv) sv_free((SV*)sv)
+#define SvREFCNT_dec(sv) sv_free((SV*)(sv))
#define SVTYPEMASK 0xff
#define SvTYPE(sv) ((sv)->sv_flags & SVTYPEMASK)