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 2014/03/09 00:13:08 UTC

svn commit: r1575632 - in /subversion/trunk/subversion/libsvn_fs_x: noderevs.c noderevs.h pack.c

Author: stefan2
Date: Sat Mar  8 23:13:08 2014
New Revision: 1575632

URL: http://svn.apache.org/r1575632
Log:
Fix various 64 -> 32 bit integer conversion warnings in FSX.

* subversion/libsvn_fs_x/noderevs.h
  (svn_fs_x__noderevs_create): Since INITIAL_COUNT is currently set to
                               some fixed value by the callers, we might
                               as well just turn it into an int.

* subversion/libsvn_fs_x/noderevs.c
  (svn_fs_x__noderevs_create): INITIAL_COUNT is int now and thus compatible
                               with APR array sizes.

* subversion/libsvn_fs_x/pack.c
  (initialize_pack_context): Make MAX_ITEMS an int since we are using it
                             with APR arrays anyways.
  (pack_log_addressed): Safely limit MAX_ITEMS to int.

Modified:
    subversion/trunk/subversion/libsvn_fs_x/noderevs.c
    subversion/trunk/subversion/libsvn_fs_x/noderevs.h
    subversion/trunk/subversion/libsvn_fs_x/pack.c

Modified: subversion/trunk/subversion/libsvn_fs_x/noderevs.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_x/noderevs.c?rev=1575632&r1=1575631&r2=1575632&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_x/noderevs.c (original)
+++ subversion/trunk/subversion/libsvn_fs_x/noderevs.c Sat Mar  8 23:13:08 2014
@@ -177,7 +177,7 @@ struct svn_fs_x__noderevs_t
 };
 
 svn_fs_x__noderevs_t *
-svn_fs_x__noderevs_create(apr_size_t initial_count,
+svn_fs_x__noderevs_create(int initial_count,
                           apr_pool_t* pool)
 {
   svn_fs_x__noderevs_t *noderevs = apr_palloc(pool, sizeof(*noderevs));
@@ -656,7 +656,7 @@ read_reps(apr_array_header_t **reps_p,
   apr_size_t count
     = svn_packed__int_count(svn_packed__first_int_substream(rep_stream));
   apr_array_header_t *reps
-    = apr_array_make(pool, count, sizeof(binary_representation_t));
+    = apr_array_make(pool, (int)count, sizeof(binary_representation_t));
 
   for (i = 0; i < count; ++i)
     {

Modified: subversion/trunk/subversion/libsvn_fs_x/noderevs.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_x/noderevs.h?rev=1575632&r1=1575631&r2=1575632&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_x/noderevs.h (original)
+++ subversion/trunk/subversion/libsvn_fs_x/noderevs.h Sat Mar  8 23:13:08 2014
@@ -50,7 +50,7 @@ typedef struct svn_fs_x__noderevs_t svn_
  * INITIAL_COUNT node_revision_t objects.  Allocate the result in POOL.
  */
 svn_fs_x__noderevs_t *
-svn_fs_x__noderevs_create(apr_size_t initial_count,
+svn_fs_x__noderevs_create(int initial_count,
                           apr_pool_t *pool);
 
 /* Add NODEREV to the CONTAINER. Return the index that identifies the new

Modified: subversion/trunk/subversion/libsvn_fs_x/pack.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_x/pack.c?rev=1575632&r1=1575631&r2=1575632&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_x/pack.c (original)
+++ subversion/trunk/subversion/libsvn_fs_x/pack.c Sat Mar  8 23:13:08 2014
@@ -229,17 +229,17 @@ initialize_pack_context(pack_context_t *
                         const char *pack_file_dir,
                         const char *shard_dir,
                         svn_revnum_t shard_rev,
-                        apr_size_t max_items,
+                        int max_items,
                         svn_cancel_func_t cancel_func,
                         void *cancel_baton,
                         apr_pool_t *pool)
 {
   fs_x_data_t *ffd = fs->fsap_data;
   const char *temp_dir;
-  apr_size_t max_revs = MIN(ffd->max_files_per_dir, (int)max_items);
-  
+  apr_size_t max_revs = MIN(ffd->max_files_per_dir, max_items);
+
   SVN_ERR_ASSERT(shard_rev % ffd->max_files_per_dir == 0);
-  
+
   /* where we will place our various temp files */
   SVN_ERR(svn_io_temp_dir(&temp_dir, pool));
 
@@ -1985,7 +1985,9 @@ pack_log_addressed(svn_fs_t *fs,
                    + 6 * sizeof(void*)
     };
 
-  apr_size_t max_items = max_mem / PER_ITEM_MEM;
+  int max_items = max_mem / PER_ITEM_MEM > INT_MAX
+                ? INT_MAX
+                : (int)(max_mem / PER_ITEM_MEM);
   apr_array_header_t *max_ids;
   pack_context_t context = { 0 };
   int i;