Author: stsp
Date: Wed Mar 30 12:49:39 2011
New Revision: 1086936
URL: http://svn.apache.org/viewvc?rev=1086936&view=rev
Log:
* subversion/libsvn_subr/cmdline.c
(svn_cmdline_fputs, svn_cmdline_fflush): Don't needlessly create an error
and destroy it. For portability, use apr_get_os_error() instead of
referencing errno directly.
Suggested by: danielsh
rhuijben
Modified:
subversion/trunk/subversion/libsvn_subr/cmdline.c
Modified: subversion/trunk/subversion/libsvn_subr/cmdline.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/cmdline.c?rev=1086936&r1=1086935&r2=1086936&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_subr/cmdline.c (original)
+++ subversion/trunk/subversion/libsvn_subr/cmdline.c Wed Mar 30 12:49:39 2011
@@ -337,19 +337,14 @@ svn_cmdline_fputs(const char *string, FI
if (fputs(out, stream) == EOF)
{
- if (errno)
+ if (apr_get_os_error()) /* is errno on POSIX */
{
- err = svn_error_wrap_apr(errno, _("Write error"));
-
/* ### Issue #3014: Return a specific error for broken pipes,
* ### with a single element in the error chain. */
- if (APR_STATUS_IS_EPIPE(err->apr_err))
- {
- svn_error_clear(err);
- return svn_error_create(SVN_ERR_IO_PIPE_WRITE_ERROR, NULL, NULL);
- }
+ if (APR_STATUS_IS_EPIPE(apr_get_os_error()))
+ return svn_error_create(SVN_ERR_IO_PIPE_WRITE_ERROR, NULL, NULL);
else
- return svn_error_return(err);
+ return svn_error_wrap_apr(apr_get_os_error(), _("Write error"));
}
else
return svn_error_create
@@ -366,19 +361,14 @@ svn_cmdline_fflush(FILE *stream)
errno = 0;
if (fflush(stream) == EOF)
{
- if (errno)
+ if (apr_get_os_error()) /* is errno on POSIX */
{
- svn_error_t *err = svn_error_wrap_apr(errno, _("Write error"));
-
/* ### Issue #3014: Return a specific error for broken pipes,
* ### with a single element in the error chain. */
- if (APR_STATUS_IS_EPIPE(err->apr_err))
- {
- svn_error_clear(err);
- return svn_error_create(SVN_ERR_IO_PIPE_WRITE_ERROR, NULL, NULL);
- }
+ if (APR_STATUS_IS_EPIPE(apr_get_os_error()))
+ return svn_error_create(SVN_ERR_IO_PIPE_WRITE_ERROR, NULL, NULL);
else
- return svn_error_return(err);
+ return svn_error_wrap_apr(apr_get_os_error(), _("Write error"));
}
else
return svn_error_create(SVN_ERR_IO_WRITE_ERROR, NULL, NULL);