You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by iv...@apache.org on 2013/05/28 14:07:39 UTC
svn commit: r1486897 - /subversion/trunk/subversion/libsvn_subr/config_file.c
Author: ivan
Date: Tue May 28 12:07:39 2013
New Revision: 1486897
URL: http://svn.apache.org/r1486897
Log:
Optimize config file parser a bit.
* subversion/libsvn_subr/config_file.c
(svn_config__parse_file): Use unbufferd I/O since config file parser
uses own buffering.
Modified:
subversion/trunk/subversion/libsvn_subr/config_file.c
Modified: subversion/trunk/subversion/libsvn_subr/config_file.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/config_file.c?rev=1486897&r1=1486896&r2=1486897&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_subr/config_file.c (original)
+++ subversion/trunk/subversion/libsvn_subr/config_file.c Tue May 28 12:07:39 2013
@@ -401,10 +401,13 @@ svn_config__parse_file(svn_config_t *cfg
svn_boolean_t must_exist, apr_pool_t *result_pool)
{
svn_error_t *err = SVN_NO_ERROR;
+ apr_file_t *apr_file;
svn_stream_t *stream;
apr_pool_t *scratch_pool = svn_pool_create(result_pool);
- err = svn_stream_open_readonly(&stream, file, scratch_pool, scratch_pool);
+ /* Use unbuffered IO since we use our own buffering. */
+ err = svn_io_file_open(&apr_file, file, APR_READ, APR_OS_DEFAULT,
+ scratch_pool);
if (! must_exist && err && APR_STATUS_IS_ENOENT(err->apr_err))
{
@@ -415,6 +418,7 @@ svn_config__parse_file(svn_config_t *cfg
else
SVN_ERR(err);
+ stream = svn_stream_from_aprfile2(apr_file, FALSE, scratch_pool);
err = svn_config__parse_stream(cfg, stream, result_pool, scratch_pool);
if (err != SVN_NO_ERROR)