Remove code to initialize globals that are never used.
Add some casts to quiet warnings from an unspecified non-GCC compiler.

This closes SF patch #436258.
diff --git a/Modules/cPickle.c b/Modules/cPickle.c
index 46f2cc0..e3cc58d 100644
--- a/Modules/cPickle.c
+++ b/Modules/cPickle.c
@@ -127,9 +127,6 @@
 
 static char MARKv = MARK;
 
-/* atol function from string module */
-static PyObject *atol_func;
-
 static PyObject *PickleError;
 static PyObject *PicklingError;
 static PyObject *UnpickleableError;
@@ -145,7 +142,7 @@
   *__getstate___str, *__setstate___str, *__name___str, *__reduce___str,
   *write_str, *__safe_for_unpickling___str, *append_str,
   *read_str, *readline_str, *__main___str, *__basicnew___str,
-  *copy_reg_str, *dispatch_table_str, *safe_constructors_str, *empty_str;
+  *copy_reg_str, *dispatch_table_str, *safe_constructors_str;
 
 #ifndef PyList_SET_ITEM
 #define PyList_SET_ITEM(op, i, v) (((PyListObject *)(op))->ob_item[i] = (v))
@@ -1000,7 +997,8 @@
         int s, e;
         double f;
         long fhi, flo;
-        char str[9], *p = str;
+        char str[9];
+        unsigned char *p = (unsigned char *)str;
 
         *p = BINFLOAT;
         p++;
@@ -1056,31 +1054,31 @@
         p++;
 
         /* Second byte */
-        *p = (char) (((e&0xF)<<4) | (fhi>>24));
+        *p = (unsigned char) (((e&0xF)<<4) | (fhi>>24));
         p++;
 
         /* Third byte */
-        *p = (fhi>>16) & 0xFF;
+        *p = (unsigned char) ((fhi>>16) & 0xFF);
         p++;
 
         /* Fourth byte */
-        *p = (fhi>>8) & 0xFF;
+        *p = (unsigned char) ((fhi>>8) & 0xFF);
         p++;
 
         /* Fifth byte */
-        *p = fhi & 0xFF;
+        *p = (unsigned char) (fhi & 0xFF);
         p++;
 
         /* Sixth byte */
-        *p = (flo>>16) & 0xFF;
+        *p = (unsigned char) ((flo>>16) & 0xFF);
         p++;
 
         /* Seventh byte */
-        *p = (flo>>8) & 0xFF;
+        *p = (unsigned char) ((flo>>8) & 0xFF);
         p++;
 
         /* Eighth byte */
-        *p = flo & 0xFF;
+        *p = (unsigned char) (flo & 0xFF);
 
         if ((*self->write_func)(self, str, 9) < 0)
             return -1;
@@ -4458,7 +4456,7 @@
 
 static int
 init_stuff(PyObject *module_dict) {
-    PyObject *string, *copy_reg, *t, *r;
+    PyObject *copy_reg, *t, *r;
 
 #define INIT_STR(S) UNLESS(S ## _str=PyString_FromString(#S)) return -1;
 
@@ -4479,7 +4477,6 @@
     INIT_STR(dispatch_table);
     INIT_STR(safe_constructors);
     INIT_STR(__basicnew__);
-    UNLESS (empty_str=PyString_FromString("")) return -1;
 
     UNLESS (copy_reg = PyImport_ImportModule("copy_reg"))
         return -1;
@@ -4498,14 +4495,6 @@
 
     /* Down to here ********************************** */
 
-    UNLESS (string = PyImport_ImportModule("string"))
-        return -1;
-
-    UNLESS (atol_func = PyObject_GetAttrString(string, "atol"))
-        return -1;
-
-    Py_DECREF(string);
-
     UNLESS (empty_tuple = PyTuple_New(0))
         return -1;