Author: stefan2
Date: Fri Apr 13 21:17:41 2012
New Revision: 1325957
URL: http://svn.apache.org/viewvc?rev=1325957&view=rev
Log:
Use the new int64->string conversion functions in another two frequently
called functions.
* subversion/libsvn_fs_fs/id.c
(svn_fs_fs__id_unparse): create results with a single format call and
use it for string operations only.
* subversion/libsvn_subr/skel.c
(void svn_skel__prepend_int): use the new conversion function
Modified:
subversion/trunk/subversion/libsvn_fs_fs/id.c
subversion/trunk/subversion/libsvn_subr/skel.c
Modified: subversion/trunk/subversion/libsvn_fs_fs/id.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/id.c?rev=1325957&r1=1325956&r2=1325957&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/id.c (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/id.c Fri Apr 13 21:17:41 2012
@@ -26,6 +26,7 @@
#include "id.h"
#include "../libsvn_fs/fs-loader.h"
#include "private/svn_temp_serializer.h"
+#include "private/svn_string_private.h"
typedef struct id_private_t {
@@ -88,22 +89,25 @@ svn_string_t *
svn_fs_fs__id_unparse(const svn_fs_id_t *id,
apr_pool_t *pool)
{
- const char *txn_rev_id;
id_private_t *pvt = id->fsap_data;
if ((! pvt->txn_id))
{
- txn_rev_id = apr_psprintf(pool, "%ld/%"
- APR_OFF_T_FMT, pvt->rev, pvt->offset);
+ char rev_string[SVN_INT64_BUFFER_SIZE];
+ char offset_string[SVN_INT64_BUFFER_SIZE];
+
+ svn__i64toa(rev_string, pvt->rev);
+ svn__i64toa(offset_string, pvt->offset);
+ return svn_string_createf(pool, "%s.%s.r%s/%s",
+ pvt->node_id, pvt->copy_id,
+ rev_string, offset_string);
}
else
{
- txn_rev_id = pvt->txn_id;
+ return svn_string_createf(pool, "%s.%s.t%s",
+ pvt->node_id, pvt->copy_id,
+ pvt->txn_id);
}
- return svn_string_createf(pool, "%s.%s.%c%s",
- pvt->node_id, pvt->copy_id,
- (pvt->txn_id ? 't' : 'r'),
- txn_rev_id);
}
Modified: subversion/trunk/subversion/libsvn_subr/skel.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/skel.c?rev=1325957&r1=1325956&r2=1325957&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_subr/skel.c (original)
+++ subversion/trunk/subversion/libsvn_subr/skel.c Fri Apr 13 21:17:41 2012
@@ -24,6 +24,7 @@
#include "svn_string.h"
#include "svn_error.h"
#include "private/svn_skel.h"
+#include "private/svn_string_private.h"
/* Parsing skeletons. */
@@ -582,9 +583,10 @@ void svn_skel__prepend_int(apr_int64_t v
svn_skel_t *skel,
apr_pool_t *result_pool)
{
- const char *str = apr_psprintf(result_pool, "%" APR_INT64_T_FMT, value);
+ char *val_string = apr_palloc(result_pool, SVN_INT64_BUFFER_SIZE);
+ svn__i64toa(val_string, value);
- svn_skel__prepend_str(str, skel, result_pool);
+ svn_skel__prepend_str(val_string, skel, result_pool);
}