summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Modules/audioop.c14
-rw-r--r--Modules/imageop.c4
-rw-r--r--Modules/signalmodule.c9
-rw-r--r--Modules/socketmodule.c4
-rw-r--r--Python/compile.c5
-rw-r--r--Python/importdl.c3
-rw-r--r--Python/mystrtoul.c2
-rw-r--r--Python/structmember.c14
8 files changed, 36 insertions, 19 deletions
diff --git a/Modules/audioop.c b/Modules/audioop.c
index 0e95c91..003f8af 100644
--- a/Modules/audioop.c
+++ b/Modules/audioop.c
@@ -255,7 +255,7 @@ audioop_avg(self, args)
signed char *cp;
int len, size, val = 0;
int i;
- float avg = 0.0;
+ double avg = 0.0;
if ( !PyArg_Parse(args, "(s#i)", &cp, &len, &size) )
return 0;
@@ -272,7 +272,7 @@ audioop_avg(self, args)
if ( len == 0 )
val = 0;
else
- val = (int)(avg / (float)(len/size));
+ val = (int)(avg / (double)(len/size));
return PyInt_FromLong(val);
}
@@ -284,7 +284,7 @@ audioop_rms(self, args)
signed char *cp;
int len, size, val = 0;
int i;
- float sum_squares = 0.0;
+ double sum_squares = 0.0;
if ( !PyArg_Parse(args, "(s#i)", &cp, &len, &size) )
return 0;
@@ -296,12 +296,12 @@ audioop_rms(self, args)
if ( size == 1 ) val = (int)*CHARP(cp, i);
else if ( size == 2 ) val = (int)*SHORTP(cp, i);
else if ( size == 4 ) val = (int)*LONGP(cp, i);
- sum_squares += (float)val*(float)val;
+ sum_squares += (double)val*(double)val;
}
if ( len == 0 )
val = 0;
else
- val = (int)sqrt(sum_squares / (float)(len/size));
+ val = (int)sqrt(sum_squares / (double)(len/size));
return PyInt_FromLong(val);
}
@@ -498,7 +498,7 @@ audioop_avgpp(self, args)
int len, size, val = 0, prevval = 0, prevextremevalid = 0,
prevextreme = 0;
int i;
- float avg = 0.0;
+ double avg = 0.0;
int diff, prevdiff, extremediff, nextreme = 0;
if ( !PyArg_Parse(args, "(s#i)", &cp, &len, &size) )
@@ -544,7 +544,7 @@ audioop_avgpp(self, args)
if ( nextreme == 0 )
val = 0;
else
- val = (int)(avg / (float)nextreme);
+ val = (int)(avg / (double)nextreme);
return PyInt_FromLong(val);
}
diff --git a/Modules/imageop.c b/Modules/imageop.c
index 0f8e0ed..007c83e 100644
--- a/Modules/imageop.c
+++ b/Modules/imageop.c
@@ -572,7 +572,7 @@ PyObject *args;
b = (int) (((value >> 16) & 0xff) / 255. * 3. + .5);
#endif
nvalue = (r<<5) | (b<<3) | g;
- *ncp++ = nvalue;
+ *ncp++ = (unsigned char)nvalue;
}
return rv;
}
@@ -653,7 +653,7 @@ PyObject *args;
b = (value >> 16) & 0xff;
nvalue = (int)(0.30*r + 0.59*g + 0.11*b);
if ( nvalue > 255 ) nvalue = 255;
- *ncp++ = nvalue;
+ *ncp++ = (unsigned char)nvalue;
}
return rv;
}
diff --git a/Modules/signalmodule.c b/Modules/signalmodule.c
index 7ca697a..e62be1f 100644
--- a/Modules/signalmodule.c
+++ b/Modules/signalmodule.c
@@ -31,9 +31,15 @@ PERFORMANCE OF THIS SOFTWARE.
/* Signal module -- many thanks to Lance Ellinghaus */
+/* XXX Signals should be recorded per thread, now we have thread state. */
+
#include "Python.h"
#include "intrcheck.h"
+#ifdef MS_WIN32
+#include <process.h>
+#endif
+
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
@@ -119,7 +125,8 @@ signal_handler(sig_num)
#endif
is_tripped++;
Handlers[sig_num].tripped = 1;
- Py_AddPendingCall((int (*) Py_PROTO((ANY *)))PyErr_CheckSignals, NULL);
+ Py_AddPendingCall(
+ (int (*) Py_PROTO((ANY *)))PyErr_CheckSignals, NULL);
#ifdef WITH_THREAD
}
#endif
diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c
index 27eb313..7b73b63 100644
--- a/Modules/socketmodule.c
+++ b/Modules/socketmodule.c
@@ -417,7 +417,7 @@ getsockaddrarg,PySocketSockObject *,s, PyObject *,args, struct sockaddr **,addr_
if (setipaddr(host, addr) < 0)
return 0;
addr->sin_family = AF_INET;
- addr->sin_port = htons(port);
+ addr->sin_port = htons((short)port);
*addr_ret = (struct sockaddr *) addr;
*len_ret = sizeof *addr;
return 1;
@@ -516,7 +516,9 @@ static PyObject *
BUILD_FUNC_DEF_2(PySocketSock_setblocking,PySocketSockObject*,s,PyObject*,args)
{
int block;
+#ifndef MS_WINDOWS
int delay_flag;
+#endif
if (!PyArg_GetInt(args, &block))
return NULL;
Py_BEGIN_ALLOW_THREADS
diff --git a/Python/compile.c b/Python/compile.c
index 7d9a3a8..21629ab 100644
--- a/Python/compile.c
+++ b/Python/compile.c
@@ -182,6 +182,9 @@ typeobject Codetype = {
(hashfunc)code_hash, /*tp_hash*/
};
+#define NAME_CHARS \
+ "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"
+
codeobject *
newcodeobject(argcount, nlocals, stacksize, flags,
code, consts, names, varnames, filename, name,
@@ -237,7 +240,7 @@ newcodeobject(argcount, nlocals, stacksize, flags,
if (!is_stringobject(v))
continue;
p = getstringvalue(v);
- if (strspn(p, "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz")
+ if ((int)strspn(p, NAME_CHARS)
!= getstringsize(v))
continue;
PyString_InternInPlace(&PyTuple_GET_ITEM(consts, i));
diff --git a/Python/importdl.c b/Python/importdl.c
index 2abef33..02f87dc 100644
--- a/Python/importdl.c
+++ b/Python/importdl.c
@@ -503,13 +503,16 @@ load_dynamic_module(name, pathname, fp)
perror(funcname);
}
#endif /* hpux */
+#ifdef USE_SHLIB
got_it:
+#endif
if (p == NULL) {
err_setstr(ImportError,
"dynamic module does not define init function");
return NULL;
}
(*p)();
+ /* XXX Need check for err_occurred() here */
m = dictlookup(import_modules, name);
if (m == NULL) {
diff --git a/Python/mystrtoul.c b/Python/mystrtoul.c
index a869b46..ed0e526 100644
--- a/Python/mystrtoul.c
+++ b/Python/mystrtoul.c
@@ -141,7 +141,7 @@ int base;
*ptr = str;
if (ovf)
{
- result = ~0;
+ result = (unsigned long) ~0L;
errno = ERANGE;
}
return result;
diff --git a/Python/structmember.c b/Python/structmember.c
index 7e24fa5..f5cca97 100644
--- a/Python/structmember.c
+++ b/Python/structmember.c
@@ -186,7 +186,7 @@ setmember(addr, mlist, name, v)
err_badarg();
return -1;
}
- *(char*)addr = getintvalue(v);
+ *(char*)addr = (char) getintvalue(v);
break;
case T_SHORT:
case T_USHORT:
@@ -194,7 +194,7 @@ setmember(addr, mlist, name, v)
err_badarg();
return -1;
}
- *(short*)addr = getintvalue(v);
+ *(short*)addr = (short) getintvalue(v);
break;
case T_UINT:
case T_INT:
@@ -202,7 +202,7 @@ setmember(addr, mlist, name, v)
err_badarg();
return -1;
}
- *(int*)addr = getintvalue(v);
+ *(int*)addr = (int) getintvalue(v);
break;
case T_LONG:
if (!is_intobject(v)) {
@@ -223,9 +223,10 @@ setmember(addr, mlist, name, v)
break;
case T_FLOAT:
if (is_intobject(v))
- *(float*)addr = getintvalue(v);
+ *(float*)addr = (float) getintvalue(v);
else if (is_floatobject(v))
- *(float*)addr = getfloatvalue(v);
+ *(float*)addr =
+ (float) getfloatvalue(v);
else {
err_badarg();
return -1;
@@ -233,7 +234,8 @@ setmember(addr, mlist, name, v)
break;
case T_DOUBLE:
if (is_intobject(v))
- *(double*)addr = getintvalue(v);
+ *(double*)addr =
+ (double) getintvalue(v);
else if (is_floatobject(v))
*(double*)addr = getfloatvalue(v);
else {