diff --git a/src/port.c b/src/port.c
index 3c152817cc56a2929a13c3a3af50a4368fa59c96..c8f7bf3d129798126508b3fcaaf1284cbfdb0ba5 100644
--- a/src/port.c
+++ b/src/port.c
@@ -17,7 +17,7 @@
 #include <float.h>
 #include <string.h>
 
-RCSID("$Id: port.c,v 1.25 2000/06/29 18:16:00 grubba Exp $");
+RCSID("$Id: port.c,v 1.26 2000/06/30 09:46:14 grubba Exp $");
 
 #ifdef sun
 time_t time PROT((time_t *));
@@ -183,10 +183,10 @@ int STRCASECMP(const char *a,const char *b)
 #endif
 
 #ifndef HAVE_MEMSET
-char *MEMSET(char *s,int c,size_t n)
+void *MEMSET(void *s,int c,size_t n)
 {
   char *t;
-  for(t=s;n;n--) *(s++)=c;
+  for(t=s;n;n--) *(t++)=c;
   return s;
 }
 #endif
@@ -313,9 +313,10 @@ int MEMCMP(const void *bb,const void *aa,size_t s)
 #endif
 
 #ifndef HAVE_MEMCHR
-char *MEMCHR(char *p,char c,size_t e)
+void *MEMCHR(const void *p,char c,size_t e)
 {
-  while(e--) if(*(p++)==c) return p-1;
+  const char *t = p;
+  while(e--) if(*(t++)==c) return t-1;
   return (char *)0;
 }
 #endif
diff --git a/src/port.h b/src/port.h
index 4da39a1f4fbef3cde107218a899914f251c224dd..181f2cc847c219f85a19062563368f809580eaed 100644
--- a/src/port.h
+++ b/src/port.h
@@ -5,7 +5,7 @@
 \*/
 
 /*
- * $Id: port.h,v 1.28 2000/06/29 18:16:01 grubba Exp $
+ * $Id: port.h,v 1.29 2000/06/30 09:46:14 grubba Exp $
  */
 #ifndef PORT_H
 #define PORT_H
@@ -76,7 +76,7 @@ int STRCASECMP(const char *a,const char *b);
 #endif
 
 #ifndef HAVE_MEMSET
-char *MEMSET (char *s,int c,size_t n);
+void *MEMSET (void *s,int c,size_t n);
 #else
 #  define MEMSET memset
 #endif
@@ -111,9 +111,9 @@ int MEMCMP(const void *b,const void *a,size_t s);
 #endif
 
 #ifndef HAVE_MEMCHR
-char *MEMCHR(char *p,char c,size_t e);
+void *MEMCHR(void *p,char c,size_t e);
 #else
-#  define MEMCHR(X,Y,Z) ((char *)memchr(X,Y,Z))
+#  define MEMCHR(X,Y,Z) ((void *)memchr(X,Y,Z))
 #endif
 
 #ifndef HAVE_STRCHR