Current SVN failed -Werror build on x86_64 due to casting between
integers and pointer types:

modperl_util.c: In function `modperl_restart_count_inc':
modperl_util.c:814: warning: cast from pointer to integer of different size
modperl_util.c:817: warning: cast to pointer from integer of different size
modperl_util.c: In function `modperl_restart_count':
modperl_util.c:826: warning: cast from pointer to integer of different size
make[1]: *** [modperl_util.lo] Error 1
make[1]: Leaving directory `/tmp/regressD22607/mp-2.0/src/modules/perl'

This fixes the warnings and passes the test suite, not tested to DTRT
after a restart:

Index: src/modules/perl/modperl_util.c
===================================================================
--- src/modules/perl/modperl_util.c     (revision 111650)
+++ src/modules/perl/modperl_util.c     (working copy)
@@ -807,15 +807,20 @@
 void modperl_restart_count_inc(server_rec *base_server)
 {
     void *data;
-    int cnt = 1;
+    int *counter;
     apr_pool_t *p = base_server->process->pool;
+    
     apr_pool_userdata_get(&data, MP_RESTART_COUNT_KEY, p);
     if (data) {
-        cnt = (int)data + 1;
+        counter = data;
+        (*counter)++;
     }
-    
-    apr_pool_userdata_set((const void *)cnt, MP_RESTART_COUNT_KEY,
-                          apr_pool_cleanup_null, p);
+    else {
+        counter = apr_palloc(p, sizeof *counter);
+        *counter = 1;
+        apr_pool_userdata_set(counter, MP_RESTART_COUNT_KEY,
+                              apr_pool_cleanup_null, p);
+    }    
 }
 
 int modperl_restart_count(void)
@@ -823,5 +828,5 @@
     void *data;
     apr_pool_userdata_get(&data, MP_RESTART_COUNT_KEY,
                           modperl_global_get_server_rec()->process->pool);
-    return data ? (int)data : 0;
+    return data ? *(int *)data : 0;
  }


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to