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' */