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 2010/08/15 15:20:43 UTC
svn commit: r985673 - in /subversion/branches/performance/subversion:
include/svn_string.h libsvn_subr/svn_string.c
Author: stefan2
Date: Sun Aug 15 13:20:42 2010
New Revision: 985673
URL: http://svn.apache.org/viewvc?rev=985673&view=rev
Log:
Introduce a minimal svn_stringbuf_t creation function that does not
attempt to allocate any string buffer at all. So, it can be used to
reference existing string data.
* subversion/include/svn_string.h
(svn_stringbuf_create_empty): declare new API function
* subversion/libsvn_subr/svn_string.c
(svn_stringbuf_create_empty): implement new API function
Modified:
subversion/branches/performance/subversion/include/svn_string.h
subversion/branches/performance/subversion/libsvn_subr/svn_string.c
Modified: subversion/branches/performance/subversion/include/svn_string.h
URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/include/svn_string.h?rev=985673&r1=985672&r2=985673&view=diff
==============================================================================
--- subversion/branches/performance/subversion/include/svn_string.h (original)
+++ subversion/branches/performance/subversion/include/svn_string.h Sun Aug 15 13:20:42 2010
@@ -196,6 +196,11 @@ svn_stringbuf_create(const char *cstring
svn_stringbuf_t *
svn_stringbuf_ncreate(const char *bytes, apr_size_t size, apr_pool_t *pool);
+/** Create a truely empty string object (length and blocksize are 0)
+ */
+svn_stringbuf_t *
+svn_stringbuf_create_empty(apr_pool_t *pool);
+
/** Create a new empty bytestring with at least @a minimum_size bytes of
* space available in the memory block.
*
Modified: subversion/branches/performance/subversion/libsvn_subr/svn_string.c
URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/libsvn_subr/svn_string.c?rev=985673&r1=985672&r2=985673&view=diff
==============================================================================
--- subversion/branches/performance/subversion/libsvn_subr/svn_string.c (original)
+++ subversion/branches/performance/subversion/libsvn_subr/svn_string.c Sun Aug 15 13:20:42 2010
@@ -26,7 +26,6 @@
#include <string.h> /* for memcpy(), memcmp(), strlen() */
-#include <apr_lib.h> /* for apr_isspace() */
#include <apr_fnmatch.h>
#include "svn_string.h" /* loads "svn_types.h" and <apr_pools.h> */
#include "svn_ctype.h"
@@ -240,6 +239,12 @@ create_stringbuf(char *data, apr_size_t
}
svn_stringbuf_t *
+svn_stringbuf_create_empty(apr_pool_t *pool)
+{
+ return create_stringbuf((char*)"", 0, 0, pool);
+}
+
+svn_stringbuf_t *
svn_stringbuf_create_ensure(apr_size_t blocksize, apr_pool_t *pool)
{
char *data = apr_palloc(pool, ++blocksize); /* + space for '\0' */