$OpenBSD: patch-rw_libpnmrw_c,v 1.3 2002/09/07 07:09:13 pvalchev Exp $
--- rw/libpnmrw.c.orig	Fri Sep  6 23:24:14 2002
+++ rw/libpnmrw.c	Fri Sep  6 23:38:07 2002
@@ -46,7 +46,7 @@
 
 void *malloc(int);
 void free(void *);
-#if defined(__EMX__) || defined(__CYGWIN__)
+#if defined(__EMX__) || defined(__CYGWIN__) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) 
 #include <errno.h>
 #endif
 
@@ -131,6 +131,7 @@ pm_freearray(char **its, int rows)
 static void
 pm_perror(char *reason)
 {
+#if !defined(__OpenBSD__) && !defined(__FreeBSD__) && !defined(__NetBSD__)
 #if defined(BSD4_4)
     __const extern char *__const sys_errlist[];
 #else
@@ -147,6 +148,7 @@ pm_perror(char *reason)
 #if !defined(__EMX__) || defined(__CYGWIN__)
     extern int errno;
 #endif
+#endif
     char *e;
 
     e = sys_errlist[errno];
@@ -286,7 +288,7 @@ pbm_readmagicnumber(FILE * file)
 static int
 pbm_getint(FILE * file)
 {
-    register char ich;
+    register int ich;
     register int i;
 
     do {
