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/09/27 15:30:22 UTC

svn commit: r1627966 - in /subversion/trunk/subversion/libsvn_fs_fs: cached_data.c index.c index.h transaction.c

Author: stefan2
Date: Sat Sep 27 13:30:21 2014
New Revision: 1627966

URL: http://svn.apache.org/r1627966
Log:
Pin the FSFS f7 item type to a fixed-length data type.
Make sure we use that type consistently.

* subversion/libsvn_fs_fs/index.h
  (svn_fs_fs__p2l_entry_t): Fix the item type to 32 bits which is way
                            more than we'll ever need and which aligns
                            nicely with the rest of the struct.

* subversion/libsvn_fs_fs/index.c
  (read_entry): Remove unnecessary type conversion.

* subversion/libsvn_fs_fs/cached_data.c
  (dbg_log_access): Always use uint32 to hold item types.

* subversion/libsvn_fs_fs/transaction.c
  (write_container_rep,
   write_container_delta_rep,
   write_final_rev): Same.

Modified:
    subversion/trunk/subversion/libsvn_fs_fs/cached_data.c
    subversion/trunk/subversion/libsvn_fs_fs/index.c
    subversion/trunk/subversion/libsvn_fs_fs/index.h
    subversion/trunk/subversion/libsvn_fs_fs/transaction.c

Modified: subversion/trunk/subversion/libsvn_fs_fs/cached_data.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/cached_data.c?rev=1627966&r1=1627965&r2=1627966&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/cached_data.c (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/cached_data.c Sat Sep 27 13:30:21 2014
@@ -74,7 +74,7 @@ dbg_log_access(svn_fs_t *fs,
                svn_revnum_t revision,
                apr_uint64_t item_index,
                void *item,
-               int item_type,
+               apr_uint32_t item_type,
                apr_pool_t *scratch_pool)
 {
   /* no-op if this macro is not defined */

Modified: subversion/trunk/subversion/libsvn_fs_fs/index.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/index.c?rev=1627966&r1=1627965&r2=1627966&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/index.c (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/index.c Sat Sep 27 13:30:21 2014
@@ -2068,7 +2068,7 @@ read_entry(svn_fs_fs__packed_number_stre
   SVN_ERR(packed_stream_get(&value, stream));
   *last_compound += decode_int(value);
 
-  entry.type = (int)(*last_compound & 7);
+  entry.type = *last_compound & 7;
   entry.item.number = *last_compound / 8;
 
   /* Verify item type. */

Modified: subversion/trunk/subversion/libsvn_fs_fs/index.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/index.h?rev=1627966&r1=1627965&r2=1627966&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/index.h (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/index.h Sat Sep 27 13:30:21 2014
@@ -61,7 +61,7 @@ typedef struct svn_fs_fs__p2l_entry_t
   apr_off_t size;
 
   /* type of the item (see SVN_FS_FS__ITEM_TYPE_*) defines */
-  unsigned type;
+  apr_uint32_t type;
 
   /* modified FNV-1a checksum.  0 if unknown checksum */
   apr_uint32_t fnv1_checksum;

Modified: subversion/trunk/subversion/libsvn_fs_fs/transaction.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/transaction.c?rev=1627966&r1=1627965&r2=1627966&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/transaction.c (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/transaction.c Sat Sep 27 13:30:21 2014
@@ -2519,7 +2519,7 @@ write_container_rep(representation_t *re
                     collection_writer_t writer,
                     svn_fs_t *fs,
                     apr_hash_t *reps_hash,
-                    int item_type,
+                    apr_uint32_t item_type,
                     svn_revnum_t final_revision,
                     apr_pool_t *scratch_pool)
 {
@@ -2618,7 +2618,7 @@ write_container_delta_rep(representation
                           svn_fs_t *fs,
                           node_revision_t *noderev,
                           apr_hash_t *reps_hash,
-                          int item_type,
+                          apr_uint32_t item_type,
                           svn_revnum_t final_revision,
                           apr_pool_t *scratch_pool)
 {
@@ -2956,9 +2956,9 @@ write_final_rev(const svn_fs_id_t **new_
   if (noderev->prop_rep && is_txn_rep(noderev->prop_rep))
     {
       apr_hash_t *proplist;
-      int item_type = noderev->kind == svn_node_dir
-                    ? SVN_FS_FS__ITEM_TYPE_DIR_PROPS
-                    : SVN_FS_FS__ITEM_TYPE_FILE_PROPS;
+      apr_uint32_t item_type = noderev->kind == svn_node_dir
+                             ? SVN_FS_FS__ITEM_TYPE_DIR_PROPS
+                             : SVN_FS_FS__ITEM_TYPE_FILE_PROPS;
       SVN_ERR(svn_fs_fs__get_proplist(&proplist, fs, noderev, pool));
 
       noderev->prop_rep->revision = rev;