Author: stefan2
Date: Sun Apr 17 15:00:27 2011
New Revision: 1094152

URL: http://svn.apache.org/viewvc?rev=1094152&view=rev
Log:
Add a simple API function that allows you to read the current 
serialization buffer usage. Since we always append, one can
determine the size of appended data by diff'ing the sizes
before and after the respective sub-structure got serialized.

* subversion/include/private/svn_temp_serializer.h
  (svn_temp_serializer__get_length): declare new API function
* subversion/libsvn_subr/svn_temp_serializer.c
  (svn_temp_serializer__get_length): implement it

Modified:
    subversion/trunk/subversion/include/private/svn_temp_serializer.h
    subversion/trunk/subversion/libsvn_subr/svn_temp_serializer.c

Modified: subversion/trunk/subversion/include/private/svn_temp_serializer.h
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/include/private/svn_temp_serializer.h?rev=1094152&r1=1094151&r2=1094152&view=diff
==============================================================================
--- subversion/trunk/subversion/include/private/svn_temp_serializer.h (original)
+++ subversion/trunk/subversion/include/private/svn_temp_serializer.h Sun Apr 
17 15:00:27 2011
@@ -153,6 +153,13 @@ svn_temp_serializer__set_null(svn_temp_s
                               const void * const * ptr);
 
 /**
+ * @return the number of bytes currently used in the serialization buffer
+ * of the given serialization @a context.
+ */
+apr_size_t
+svn_temp_serializer__get_length(svn_temp_serializer__context_t *context);
+
+/**
  * @return a reference to the data buffer containing the data serialialized
  * so far in the given serialization @a context.
  */

Modified: subversion/trunk/subversion/libsvn_subr/svn_temp_serializer.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/svn_temp_serializer.c?rev=1094152&r1=1094151&r2=1094152&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_subr/svn_temp_serializer.c (original)
+++ subversion/trunk/subversion/libsvn_subr/svn_temp_serializer.c Sun Apr 17 
15:00:27 2011
@@ -303,7 +303,15 @@ svn_temp_serializer__set_null(svn_temp_s
   *(apr_size_t*)(context->buffer->data + offset) = 0;
 }
 
-/* Return the the data buffer that receives the serialialized data from
+/* Return the number of bytes currently used in the serialization buffer
+ * of the given serialization CONTEXT.*/
+apr_size_t
+svn_temp_serializer__get_length(svn_temp_serializer__context_t *context)
+{
+  return context->buffer->len;
+}
+
+/* Return the data buffer that receives the serialialized data from
  * the given serialization CONTEXT.
  */
 svn_stringbuf_t *


Reply via email to