Author: stsp
Date: Thu Sep 9 10:51:50 2010
New Revision: 995377
URL: http://svn.apache.org/viewvc?rev=995377&view=rev
Log:
* subversion/libsvn_fs_fs/fs_fs.c
(get_packed_offset): Use svn_cstring_atoi64() instead of apr_atoi64().
Also mark an error message string for translation.
Modified:
subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c
Modified: subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c?rev=995377&r1=995376&r2=995377&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c Thu Sep 9 10:51:50 2010
@@ -1946,18 +1946,20 @@ get_packed_offset(apr_off_t *rev_offset,
{
svn_stringbuf_t *sb;
svn_boolean_t eof;
+ apr_int64_t val;
+ svn_error_t *err;
svn_pool_clear(iterpool);
SVN_ERR(svn_stream_readline(manifest_stream, &sb, "\n", &eof, iterpool));
if (eof)
break;
- errno = 0; /* apr_atoi64() in APR-0.9 does not always set errno */
- APR_ARRAY_PUSH(manifest, apr_off_t) =
- apr_atoi64(svn_string_create_from_buf(sb, iterpool)->data);
- if (errno == ERANGE)
- return svn_error_create(SVN_ERR_FS_CORRUPT, NULL,
- "Manifest offset too large");
+ err = svn_cstring_atoi64(&val, sb->data);
+ if (err)
+ return svn_error_return(
+ svn_error_create(SVN_ERR_FS_CORRUPT, err,
+ _("Manifest offset too large")));
+ APR_ARRAY_PUSH(manifest, apr_off_t) = (apr_off_t)val;
}
svn_pool_destroy(iterpool);