* timemodule.c: Add hack for Solaris 2.
* 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.
diff --git a/Modules/arraymodule.c b/Modules/arraymodule.c
index 5b62fee..925a52d 100644
--- a/Modules/arraymodule.c
+++ b/Modules/arraymodule.c
@@ -37,7 +37,7 @@
 extern char *memcpy();
 #endif
 
-#ifdef sun
+#if defined(sun) && !defined(__STDC__)
 /* SunOS doesn't have memmove */
 #define NEED_MEMMOVE
 extern char *memcpy();
diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c
index 00b8369..b82e492 100644
--- a/Modules/posixmodule.c
+++ b/Modules/posixmodule.c
@@ -58,7 +58,7 @@
 
 #ifdef SYSV
 
-#define UTIME_STRUCT
+#define UTIME_STRUCT 1
 #include <dirent.h>
 #define direct dirent
 #ifdef i386
@@ -89,7 +89,7 @@
 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 *));
diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c
index dfdf97b..3fc8755 100644
--- a/Modules/socketmodule.c
+++ b/Modules/socketmodule.c
@@ -388,7 +388,7 @@
 	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);
@@ -422,7 +422,7 @@
 		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);
@@ -450,7 +450,8 @@
 	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);
@@ -465,8 +466,8 @@
 	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();
@@ -720,7 +721,7 @@
 		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();
diff --git a/Modules/timemodule.c b/Modules/timemodule.c
index 5bf1340..5406907 100644
--- a/Modules/timemodule.c
+++ b/Modules/timemodule.c
@@ -72,6 +72,13 @@
 #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 */