pyfec: silence compiler warnings, add -Wall to debugmode compilation
authorZooko O'Whielacronx zooko@zooko.com <zooko@zooko.com>
Tue, 30 Jan 2007 18:08:46 +0000 (23:38 +0530)
committerZooko O'Whielacronx zooko@zooko.com <zooko@zooko.com>
Tue, 30 Jan 2007 18:08:46 +0000 (23:38 +0530)
darcs-hash:8d2007c42d05e9412339c3d44389f4596378781b

pyfec/fec/_fecmodule.c
pyfec/fec/fec.c
pyfec/setup.py

index 6ea18d84627f8daebb5e6055ee2fe56bd6ef7ef7..73c69d2f0433b348aae7cfb55a53dfd456f4a563 100644 (file)
@@ -182,7 +182,7 @@ Encoder_encode(Encoder *self, PyObject *args) {
             py_raise_fec_error("Precondition violation: %u'th item is required to offer the single-segment read character buffer protocol, but it does not.\n", i);
             goto err;
         }
-        if (PyObject_AsReadBuffer(fastinsharesitems[i], &(incshares[i]), &sz))
+        if (PyObject_AsReadBuffer(fastinsharesitems[i], (const void**)&(incshares[i]), &sz))
             goto err;
         if (oldsz != 0 && oldsz != sz) {
             py_raise_fec_error("Precondition violation: Input shares are required to be all the same length.  oldsz: %Zu, sz: %Zu\n", oldsz, sz);
@@ -199,7 +199,7 @@ Encoder_encode(Encoder *self, PyObject *args) {
             pystrs_produced[check_share_index] = PyString_FromStringAndSize(NULL, sz);
             if (pystrs_produced[check_share_index] == NULL)
                 goto err;
-            check_shares_produced[check_share_index] = PyString_AsString(pystrs_produced[check_share_index]);
+            check_shares_produced[check_share_index] = (gf*)PyString_AsString(pystrs_produced[check_share_index]);
             if (check_shares_produced[check_share_index] == NULL)
                 goto err;
             check_share_index++;
@@ -433,7 +433,7 @@ Decoder_decode(Decoder *self, PyObject *args) {
             py_raise_fec_error("Precondition violation: %u'th item is required to offer the single-segment read character buffer protocol, but it does not.\n", i);
             goto err;
         }
-        if (PyObject_AsReadBuffer(fastsharesitems[i], &(cshares[i]), &sz))
+        if (PyObject_AsReadBuffer(fastsharesitems[i], (const void**)&(cshares[i]), &sz))
             goto err;
         if (oldsz != 0 && oldsz != sz) {
             py_raise_fec_error("Precondition violation: Input shares are required to be all the same length.  oldsz: %Zu, sz: %Zu\n", oldsz, sz);
@@ -451,7 +451,7 @@ Decoder_decode(Decoder *self, PyObject *args) {
             unsigned char c = cshareids[i];
 
             SWAP (cshareids[i], cshareids[c], int);
-            SWAP (cshares[i], cshares[c], gf*);
+            SWAP (cshares[i], cshares[c], const gf*);
             SWAP (fastsharesitems[i], fastsharesitems[c], PyObject*);
         }
     }
@@ -461,7 +461,7 @@ Decoder_decode(Decoder *self, PyObject *args) {
         recoveredpystrs[i] = PyString_FromStringAndSize(NULL, sz);
         if (recoveredpystrs[i] == NULL)
             goto err;
-        recoveredcstrs[i] = PyString_AsString(recoveredpystrs[i]);
+        recoveredcstrs[i] = (gf*)PyString_AsString(recoveredpystrs[i]);
         if (recoveredcstrs[i] == NULL)
             goto err;
     }
index 485fb1dfb91139f052535db24e3f98483b13981b..2148bed53d8b16604e9ad83720d21b914b760f8f 100644 (file)
@@ -146,7 +146,7 @@ static gf gf_mul_table[256][256];
  * multiplication of two numbers can be resolved without calling modnn
  */
 static void
-init_mul_table () {
+_init_mul_table(void) {
   int i, j;
   for (i = 0; i < 256; i++)
       for (j = 0; j < 256; j++)
@@ -504,8 +504,8 @@ invert_vdm (gf * src, int k) {
 static int fec_initialized = 0;
 static void
 init_fec (void) {
-    generate_gf ();
-    init_mul_table ();
+    generate_gf();
+    _init_mul_table();
     fec_initialized = 1;
 }
 
index fe9324cf3156511d98995a511e0e8a7d49db8647..a18384334ee981bd2bc94c2fcb66c7317b0ffb72 100755 (executable)
@@ -38,6 +38,7 @@ undef_macros=[]
 if DEBUGMODE:
     extra_compile_args.append("-O0")
     extra_compile_args.append("-g")
+    extra_compile_args.append("-Wall")
     extra_link_args.append("-g")
     undef_macros.append('NDEBUG')