Add various typecasts (back and forth from char * to unsigned char *)
to make the SGI C compiler happier (bug #445960).
diff --git a/Modules/binascii.c b/Modules/binascii.c
index 484f656..4ddea56 100644
--- a/Modules/binascii.c
+++ b/Modules/binascii.c
@@ -1013,7 +1013,7 @@
 		return NULL;
 
 	/* We allocate the output same size as input, this is overkill */
-	odata = (char *) calloc(1, datalen);
+	odata = (unsigned char *) calloc(1, datalen);
 
 	if (odata == NULL) {
 		PyErr_NoMemory();
@@ -1065,7 +1065,7 @@
 			out++;
 		}
 	}
-	if ((rv = PyString_FromStringAndSize(odata, out)) == NULL) {
+	if ((rv = PyString_FromStringAndSize((char *)odata, out)) == NULL) {
 		free (odata);
 		return NULL;
 	}
@@ -1119,7 +1119,7 @@
 	/* XXX: this function has the side effect of converting all of
 	 * the end of lines to be the same depending on this detection
 	 * here */
-	p = strchr(data, '\n');
+	p = (unsigned char *) strchr((char *)data, '\n');
 	if ((p != NULL) && (p > data) && (*(p-1) == '\r'))
 		crlf = 1;
 
@@ -1183,7 +1183,7 @@
 		}
 	}
 
-	odata = (char *) calloc(1, odatalen);
+	odata = (unsigned char *) calloc(1, odatalen);
 
 	if (odata == NULL) {
 		PyErr_NoMemory();
@@ -1256,7 +1256,7 @@
 			}
 		}
 	}
-	if ((rv = PyString_FromStringAndSize(odata, out)) == NULL) {
+	if ((rv = PyString_FromStringAndSize((char *)odata, out)) == NULL) {
 		free (odata);
 		return NULL;
 	}