Author: stas
Date: Sun Dec 12 13:12:15 2004
New Revision: 111665

URL: http://svn.apache.org/viewcvs?view=rev&rev=111665
Log:
Fix x86_64 warnings in modperl_restart_count_*, due to casting between
integers and pointer types
Submitted by: Joe Orton

Modified:
   perl/modperl/trunk/Changes
   perl/modperl/trunk/src/modules/perl/modperl_util.c

Modified: perl/modperl/trunk/Changes
Url: 
http://svn.apache.org/viewcvs/perl/modperl/trunk/Changes?view=diff&rev=111665&p1=perl/modperl/trunk/Changes&r1=111664&p2=perl/modperl/trunk/Changes&r2=111665
==============================================================================
--- perl/modperl/trunk/Changes  (original)
+++ perl/modperl/trunk/Changes  Sun Dec 12 13:12:15 2004
@@ -12,6 +12,9 @@
 
 =item 1.99_18-dev
 
+Fix x86_64 warnings in modperl_restart_count_*, due to casting between
+integers and pointer types [Joe Orton]
+
 open_logs and post_config handlers require the Apache::OK return code
 or the server aborts, so we need to log an error in case the handler
 didn't fail but returned something different from Apache::OK [Stas]

Modified: perl/modperl/trunk/src/modules/perl/modperl_util.c
Url: 
http://svn.apache.org/viewcvs/perl/modperl/trunk/src/modules/perl/modperl_util.c?view=diff&rev=111665&p1=perl/modperl/trunk/src/modules/perl/modperl_util.c&r1=111664&p2=perl/modperl/trunk/src/modules/perl/modperl_util.c&r2=111665
==============================================================================
--- perl/modperl/trunk/src/modules/perl/modperl_util.c  (original)
+++ perl/modperl/trunk/src/modules/perl/modperl_util.c  Sun Dec 12 13:12:15 2004
@@ -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;
  }

Reply via email to