You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by st...@apache.org on 2012/11/04 12:54:02 UTC

svn commit: r1405535 - /subversion/trunk/subversion/libsvn_subr/cache-membuffer.c

Author: stefan2
Date: Sun Nov  4 11:54:02 2012
New Revision: 1405535

URL: http://svn.apache.org/viewvc?rev=1405535&view=rev
Log:
Use integer types more consistently in membuffer cache.

* subversion/libsvn_subr/cache-membuffer.c
  (entry_group_t): same type for entry count as for entry indexes
  (get_index): explicitly cast from size_t to entry index
  (svn_cache__membuffer_cache_create): fix 32/64 bit conversion warnings

Modified:
    subversion/trunk/subversion/libsvn_subr/cache-membuffer.c

Modified: subversion/trunk/subversion/libsvn_subr/cache-membuffer.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/cache-membuffer.c?rev=1405535&r1=1405534&r2=1405535&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_subr/cache-membuffer.c (original)
+++ subversion/trunk/subversion/libsvn_subr/cache-membuffer.c Sun Nov  4 11:54:02 2012
@@ -362,7 +362,7 @@ typedef struct entry_t
 typedef struct entry_group_t
 {
   /* number of entries used [0 .. USED-1] */
-  apr_size_t used;
+  apr_uint32_t used;
 
   /* the actual entries */
   entry_t entries[GROUP_SIZE];
@@ -614,10 +614,10 @@ get_entry(svn_membuffer_t *cache, apr_ui
 static APR_INLINE apr_uint32_t
 get_index(svn_membuffer_t *cache, entry_t *entry)
 {
-  apr_uint32_t group_index
+  apr_size_t group_index
     = ((char *)entry - (char *)cache->directory) / sizeof(entry_group_t);
 
-  return group_index * GROUP_SIZE
+  return (apr_uint32_t)group_index * GROUP_SIZE
        + (apr_uint32_t)(entry - cache->directory[group_index].entries);
 }
 
@@ -1186,7 +1186,7 @@ svn_cache__membuffer_cache_create(svn_me
              < total_size)
         ++segment_count_shift;
 
-      segment_count = 1 << segment_count_shift;
+      segment_count = (apr_size_t)1 << segment_count_shift;
     }
 
   /* If we have an extremely large cache (>512 GB), the default segment
@@ -1249,7 +1249,7 @@ svn_cache__membuffer_cache_create(svn_me
     {
       /* allocate buffers and initialize cache members
        */
-      c[seg].segment_count = segment_count;
+      c[seg].segment_count = (apr_uint32_t)segment_count;
 
       c[seg].group_count = group_count;
       c[seg].directory = apr_pcalloc(pool,