Author: stefan2
Date: Thu Apr 12 20:21:19 2012
New Revision: 1325489

URL: http://svn.apache.org/viewvc?rev=1325489&view=rev
Log:
Minor optimization: we often call svn_stream_printf with
static strings. Don't call the rather expensive apr_pvsprintf
in that case.

* subversion/libsvn_subr/stream.c
  (svn_stream_printf): don't format static strings

Modified:
    subversion/trunk/subversion/libsvn_subr/stream.c

Modified: subversion/trunk/subversion/libsvn_subr/stream.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/stream.c?rev=1325489&r1=1325488&r2=1325489&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_subr/stream.c (original)
+++ subversion/trunk/subversion/libsvn_subr/stream.c Thu Apr 12 20:21:19 2012
@@ -222,9 +222,15 @@ svn_stream_printf(svn_stream_t *stream,
   va_list ap;
   apr_size_t len;
 
-  va_start(ap, fmt);
-  message = apr_pvsprintf(pool, fmt, ap);
-  va_end(ap);
+  /* any format controls or is this a static string? */
+  if (strchr(fmt, '%'))
+    {
+      va_start(ap, fmt);
+      message = apr_pvsprintf(pool, fmt, ap);
+      va_end(ap);
+    }
+  else
+    message = fmt;
 
   len = strlen(message);
   return svn_stream_write(stream, message, &len);


Reply via email to