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 2013/07/19 14:43:01 UTC
svn commit: r1504859 -
/subversion/branches/fsfs-improvements/subversion/libsvn_fs_fs/cached_data.c
Author: stefan2
Date: Fri Jul 19 12:43:01 2013
New Revision: 1504859
URL: http://svn.apache.org/r1504859
Log:
On the fsfs-improvements branch: prepare some of the code for
future ID API changes.
* subversion/libsvn_fs_fs/cached_data.c
(parse_dir_entries): parse ID only in case of an error
(svn_fs_fs__rep_contents_dir): update caller
Modified:
subversion/branches/fsfs-improvements/subversion/libsvn_fs_fs/cached_data.c
Modified: subversion/branches/fsfs-improvements/subversion/libsvn_fs_fs/cached_data.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_fs_fs/cached_data.c?rev=1504859&r1=1504858&r2=1504859&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_fs_fs/cached_data.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_fs_fs/cached_data.c Fri Jul 19 12:43:01 2013
@@ -1752,11 +1752,12 @@ get_dir_contents(apr_hash_t *entries,
/* Given a hash STR_ENTRIES with values as svn_string_t as specified
in an FSFS directory contents listing, return a hash of dirents in
- *ENTRIES_P. Perform allocations in POOL. */
+ *ENTRIES_P. Use ID to generate more helpful error messages.
+ Perform allocations in POOL. */
static svn_error_t *
parse_dir_entries(apr_hash_t **entries_p,
apr_hash_t *str_entries,
- const char *unparsed_id,
+ const svn_fs_id_t *id,
apr_pool_t *pool)
{
apr_hash_index_t *hi;
@@ -1778,7 +1779,7 @@ parse_dir_entries(apr_hash_t **entries_p
if (str == NULL)
return svn_error_createf(SVN_ERR_FS_CORRUPT, NULL,
_("Directory entry corrupt in '%s'"),
- unparsed_id);
+ svn_fs_fs__id_unparse(id, pool)->data);
if (strcmp(str, SVN_FS_FS__KIND_FILE) == 0)
{
@@ -1792,14 +1793,14 @@ parse_dir_entries(apr_hash_t **entries_p
{
return svn_error_createf(SVN_ERR_FS_CORRUPT, NULL,
_("Directory entry corrupt in '%s'"),
- unparsed_id);
+ svn_fs_fs__id_unparse(id, pool)->data);
}
str = svn_cstring_tokenize(" ", &last_str);
if (str == NULL)
return svn_error_createf(SVN_ERR_FS_CORRUPT, NULL,
_("Directory entry corrupt in '%s'"),
- unparsed_id);
+ svn_fs_fs__id_unparse(id, pool)->data);
dirent->id = svn_fs_fs__id_parse(str, strlen(str), pool);
@@ -1847,7 +1848,7 @@ svn_fs_fs__rep_contents_dir(apr_hash_t *
unparsed_entries = apr_hash_make(pool);
SVN_ERR(get_dir_contents(unparsed_entries, fs, noderev, pool));
SVN_ERR(parse_dir_entries(&parsed_entries, unparsed_entries,
- unparsed_id, pool));
+ noderev->id, pool));
/* Update the cache, if we are to use one. */
if (cache)