$NetBSD$

--- src/unshield.c.orig	2008-05-05 21:38:10.000000000 -0400
+++ src/unshield.c
@@ -2,5 +2,5 @@
 #ifdef __linux__
 #define _BSD_SOURCE 1
-#define _POSIX_C_SOURCE 2
+/* #define _POSIX_C_SOURCE 2 */
 #endif
 #include <sys/types.h>
@@ -299,8 +299,8 @@ static bool extract_file(Unshield* unshi
 
       default:
-        if (!isprint(*p))
+        if (!isprint((unsigned char)*p))
           *p = '_';
         else if (make_lowercase)
-          *p = tolower(*p);
+          *p = tolower((unsigned char)*p);
         break;;
     }
@@ -319,8 +319,8 @@ static bool extract_file(Unshield* unshi
   for (p = filename; *p != '\0'; p++)
   {
-    if (!isprint(*p))
+    if (!isprint((unsigned char)*p))
       *p = '_';
     else if (make_lowercase)
-      *p = tolower(*p);
+      *p = tolower((unsigned char)*p);
   }
 
