* posixmodule.c: don't prototype getcwd() -- it's not portable...
* mappingobject.c: double-check validity of last_name_char in
dict{lookup,insert,remove}.
* arraymodule.c: need memmove only for non-STDC Suns.
* Makefile: comment out HTML_LIBS and XT_USE by default
* pythonmain.c: don't prototype getopt() -- it's not standardized
* socketmodule.c: cast flags arg to {get,set}sockopt() and addrbuf arg to
recvfrom() to (ANY*).
* pythonrun.c (initsigs): fix prototype, make it static
* intobject.c (LONG_BIT): only #define it if not already defined
* classobject.[ch]: remove all references to unused instance_convert()
* mappingobject.c (getmappingsize): Don't return NULL in int function.
extern object *instancemethodgetself PROTO((object *));
extern object *instancemethodgetclass PROTO((object *));
-extern object *instance_convert PROTO((object *, char *));
-
extern int issubclass PROTO((object *, object *));
#ifdef __cplusplus
extern char *memcpy();
#endif
-#ifdef sun
+#if defined(sun) && !defined(__STDC__)
/* SunOS doesn't have memmove */
#define NEED_MEMMOVE
extern char *memcpy();
#ifdef SYSV
-#define UTIME_STRUCT
+#define UTIME_STRUCT 1
#include <dirent.h>
#define direct dirent
#ifdef i386
extern int chdir PROTO((const char *));
extern int rmdir PROTO((const char *));
extern int chmod PROTO((const char *, mode_t));
-extern char *getcwd PROTO((char *, int)); /* XXX or size_t? */
+extern char *getcwd(); /* No PROTO((char *, int)) -- non portable */
#ifndef MSDOS
extern char *strerror PROTO((int));
extern int link PROTO((const char *, const char *));
if (!getargs(args, "i", &flag))
return NULL;
res = setsockopt(s->sock_fd, SOL_SOCKET, SO_BROADCAST,
- &flag, sizeof flag);
+ (ANY *)&flag, sizeof flag);
if (res < 0)
return socket_error();
INCREF(None);
if (!getargs(args, "(iis#)", &level, &optname, &buf, &buflen))
return NULL;
}
- res = setsockopt(s->sock_fd, level, optname, buf, buflen);
+ res = setsockopt(s->sock_fd, level, optname, (ANY *)buf, buflen);
if (res < 0)
return socket_error();
INCREF(None);
if (getargs(args, "(ii)", &level, &optname)) {
int flag = 0;
int flagsize = sizeof flag;
- res = getsockopt(s->sock_fd, level, optname, &flag, &flagsize);
+ res = getsockopt(s->sock_fd, level, optname,
+ (ANY *)&flag, &flagsize);
if (res < 0)
return socket_error();
return newintobject(flag);
buf = newsizedstringobject((char *)NULL, buflen);
if (buf == NULL)
return NULL;
- res = getsockopt(s->sock_fd, level, optname, getstringvalue(buf),
- &buflen);
+ res = getsockopt(s->sock_fd, level, optname,
+ (ANY *)getstringvalue(buf), &buflen);
if (res < 0) {
DECREF(buf);
return socket_error();
return NULL;
BGN_SAVE
n = recvfrom(s->sock_fd, getstringvalue(buf), len, flags,
- addrbuf, &addrlen);
+ (ANY *)addrbuf, &addrlen);
END_SAVE
if (n < 0)
return socket_error();
#endif /* !unix */
#ifdef SYSV
+#if defined(sun) && defined(__STDC__)
+/* Temporary hack for Solaris 2. */
+#define _timezone timezone
+#define _altzone altzone
+#define _daylight daylight
+#define _tzname tzname
+#endif
/* Access timezone stuff */
#ifdef OLDTZ /* ANSI prepends underscore to these */
#define _timezone timezone /* seconds to be added to GMT */
instance_hash, /*tp_hash*/
};
-static object *
-instance_convert(inst, methodname)
- object *inst;
- char *methodname;
-{
- return generic_unary_op((instanceobject *)inst, methodname);
-}
-
/* Instance method objects are used for two purposes:
(a) as bound instance methods (returned by instancename.methodname)
{
if (mp == NULL || !is_mappingobject(mp)) {
err_badcall();
- return NULL;
+ return 0;
}
return ((mappingobject *)mp)->ma_used;
}
object *v;
char *key;
{
- if (key != last_name_char) {
+ if (key != last_name_char || strcmp(key, getstringvalue(last_name_object)) != 0) {
XDECREF(last_name_object);
last_name_object = newstringobject(key);
if (last_name_object == NULL) {
char *key;
object *item;
{
- if (key != last_name_char) {
+ if (key != last_name_char || strcmp(key, getstringvalue(last_name_object)) != 0) {
XDECREF(last_name_object);
last_name_object = newstringobject(key);
if (last_name_object == NULL) {
object *v;
char *key;
{
- if (key != last_name_char) {
+ if (key != last_name_char ||
+ strcmp(key, getstringvalue(last_name_object)) != 0) {
XDECREF(last_name_object);
last_name_object = newstringobject(key);
if (last_name_object == NULL) {
#define CHAR_BIT 8
#endif
+#ifndef LONG_BIT
#define LONG_BIT (CHAR_BIT * sizeof(long))
+#endif
/* Standard Booleans */
{
if (mp == NULL || !is_mappingobject(mp)) {
err_badcall();
- return NULL;
+ return 0;
}
return ((mappingobject *)mp)->ma_used;
}
object *v;
char *key;
{
- if (key != last_name_char) {
+ if (key != last_name_char || strcmp(key, getstringvalue(last_name_object)) != 0) {
XDECREF(last_name_object);
last_name_object = newstringobject(key);
if (last_name_object == NULL) {
char *key;
object *item;
{
- if (key != last_name_char) {
+ if (key != last_name_char || strcmp(key, getstringvalue(last_name_object)) != 0) {
XDECREF(last_name_object);
last_name_object = newstringobject(key);
if (last_name_object == NULL) {
object *v;
char *key;
{
- if (key != last_name_char) {
+ if (key != last_name_char ||
+ strcmp(key, getstringvalue(last_name_object)) != 0) {
XDECREF(last_name_object);
last_name_object = newstringobject(key);
if (last_name_object == NULL) {
/* Interface to getopt(): */
extern int optind;
extern char *optarg;
-extern int getopt PROTO((int, char **, char *));
+extern int getopt(); /* PROTO((int, char **, char *)); -- not standardized */
extern char *getenv();
object *globals, object *locals));
static object *eval_node PROTO((node *n, char *filename,
object *globals, object *locals));
-void initsigs PROTO(());
+static void initsigs PROTO((void));
int debugging; /* Needed by parser.c */
int verbose; /* Needed by import.c */