DragonNest/Common/SVNLib/doc/svn__error_8h.html
2024-12-19 09:48:26 +08:00

214 lines
17 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Subversion: svn_error.h File Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.6 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li>
<form action="search.php" method="get">
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td><label>&nbsp;<u>S</u>earch&nbsp;for&nbsp;</label></td>
<td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
</tr>
</table>
</form>
</li>
</ul>
</div>
</div>
<div class="contents">
<h1>svn_error.h File Reference</h1>Common exception handling for Subversion. <a href="#_details">More...</a>
<p>
<code>#include &lt;apr.h&gt;</code><br>
<code>#include &lt;apr_errno.h&gt;</code><br>
<code>#include &lt;apr_pools.h&gt;</code><br>
<code>#include &lt;apr_want.h&gt;</code><br>
<code>#include &quot;<a class="el" href="svn__types_8h-source.html">svn_types.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="svn__error__codes_8h-source.html">svn_error_codes.h</a>&quot;</code><br>
<p>
<a href="svn__error_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="657398222a237c3c8cc77dcabf427f63"></a><!-- doxytag: member="svn_error.h::SVN_NO_ERROR" ref="657398222a237c3c8cc77dcabf427f63" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="svn__error_8h.html#657398222a237c3c8cc77dcabf427f63">SVN_NO_ERROR</a>&nbsp;&nbsp;&nbsp;0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">the best kind of (<code><a class="el" href="structsvn__error__t.html" title="Subversion error object.">svn_error_t</a></code> *) ! <br></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="svn__error_8h.html#cc38737e1ce190a9184d4dd768e7cd8f">svn_error__locate</a> (const char *file, long line)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the error location for debug mode. <a href="#cc38737e1ce190a9184d4dd768e7cd8f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="svn__error_8h.html#e47ab028b9c77e76979ad8cb5b1d017c">svn_strerror</a> (apr_status_t statcode, char *buf, apr_size_t bufsize)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Put an English description of <em>statcode</em> into <em>buf</em> and return <em>buf</em>, NULL-terminated. <a href="#e47ab028b9c77e76979ad8cb5b1d017c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="svn__error_8h.html#1b3b6a34086d2fff18e88906fa756f73">svn_err_best_message</a> (<a class="el" href="structsvn__error__t.html">svn_error_t</a> *err, char *buf, apr_size_t bufsize)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">If <em>err</em> has a custom error message, return that, otherwise store the generic error string associated with <em>err-&gt;apr_err</em> into <em>buf</em> (terminating with NULL) and return <em>buf</em>. <a href="#1b3b6a34086d2fff18e88906fa756f73"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structsvn__error__t.html">svn_error_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__svn__error__error__creation__destroy.html#g63cac13b078a6d0af98e74d61f7e355b">svn_error_create</a> (apr_status_t apr_err, <a class="el" href="structsvn__error__t.html">svn_error_t</a> *child, const char *message)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a nested exception structure. <a href="group__svn__error__error__creation__destroy.html#g63cac13b078a6d0af98e74d61f7e355b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g09f1c3afa91d3ada4309d221a5c8334a"></a><!-- doxytag: member="svn_error.h::svn_error_createf" ref="g09f1c3afa91d3ada4309d221a5c8334a" args="(apr_status_t apr_err, svn_error_t *child, const char *fmt,...) __attribute__((format(printf" -->
<a class="el" href="structsvn__error__t.html">svn_error_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__svn__error__error__creation__destroy.html#g09f1c3afa91d3ada4309d221a5c8334a">svn_error_createf</a> (apr_status_t apr_err, <a class="el" href="structsvn__error__t.html">svn_error_t</a> *child, const char *fmt,...) __attribute__((format(printf</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create an error structure with the given <em>apr_err</em> and <em>child</em>, with a printf-style error message produced by passing <em>fmt</em>, using apr_psprintf(). <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structsvn__error__t.html">svn_error_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__svn__error__error__creation__destroy.html#g9e9ee786420e268785aeb7e7f7ed0429">svn_error_wrap_apr</a> (apr_status_t status, const char *fmt,...) __attribute__((format(printf</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Wrap a <em>status</em> from an APR function. <a href="group__svn__error__error__creation__destroy.html#g9e9ee786420e268785aeb7e7f7ed0429"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structsvn__error__t.html">svn_error_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__svn__error__error__creation__destroy.html#g9a02d9052446ffc08ecece578d1a3c2f">svn_error_quick_wrap</a> (<a class="el" href="structsvn__error__t.html">svn_error_t</a> *child, const char *new_msg)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A quick n' easy way to create a wrapped exception with your own message, before throwing it up the stack. <a href="group__svn__error__error__creation__destroy.html#g9a02d9052446ffc08ecece578d1a3c2f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__svn__error__error__creation__destroy.html#g0617c02787a33ecbf68dcf752fe17b34">svn_error_compose</a> (<a class="el" href="structsvn__error__t.html">svn_error_t</a> *chain, <a class="el" href="structsvn__error__t.html">svn_error_t</a> *new_err)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add <em>new_err</em> to the end of <em>chain's</em> chain of errors. <a href="group__svn__error__error__creation__destroy.html#g0617c02787a33ecbf68dcf752fe17b34"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structsvn__error__t.html">svn_error_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__svn__error__error__creation__destroy.html#g963dd4ae636823a71c36f4a1abec70f7">svn_error_root_cause</a> (<a class="el" href="structsvn__error__t.html">svn_error_t</a> *err)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the root cause of <em>err</em> by finding the last error in its chain (e.g. <a href="group__svn__error__error__creation__destroy.html#g963dd4ae636823a71c36f4a1abec70f7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structsvn__error__t.html">svn_error_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__svn__error__error__creation__destroy.html#gbbe0febe6b533b445347f8b7eaca448b">svn_error_dup</a> (<a class="el" href="structsvn__error__t.html">svn_error_t</a> *err)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new error that is a deep copy of <em>err</em> and return it. <a href="group__svn__error__error__creation__destroy.html#gbbe0febe6b533b445347f8b7eaca448b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__svn__error__error__creation__destroy.html#gc8bb06e98118a482ccf534fe38c33495">svn_error_clear</a> (<a class="el" href="structsvn__error__t.html">svn_error_t</a> *error)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free the memory used by <em>error</em>, as well as all ancestors and descendants of <em>error</em>. <a href="group__svn__error__error__creation__destroy.html#gc8bb06e98118a482ccf534fe38c33495"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__svn__error__error__creation__destroy.html#gf9008085ded8f0af940f38a3cad6edb1">svn_handle_error2</a> (<a class="el" href="structsvn__error__t.html">svn_error_t</a> *error, FILE *stream, <a class="el" href="svn__types_8h.html#22b35baddc4213c688d1bb12feea1024">svn_boolean_t</a> fatal, const char *prefix)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Very basic default error handler: print out error stack <em>error</em> to the stdio stream <em>stream</em>, with each error prefixed by <em>prefix</em>, and quit iff the <em>fatal</em> flag is set. <a href="group__svn__error__error__creation__destroy.html#gf9008085ded8f0af940f38a3cad6edb1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__svn__error__error__creation__destroy.html#g9eb04d5b9b6f6ad76132a7fb822aa77f">svn_handle_error</a> (<a class="el" href="structsvn__error__t.html">svn_error_t</a> *error, FILE *stream, <a class="el" href="svn__types_8h.html#22b35baddc4213c688d1bb12feea1024">svn_boolean_t</a> fatal)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Like <a class="el" href="group__svn__error__error__creation__destroy.html#gf9008085ded8f0af940f38a3cad6edb1" title="Very basic default error handler: print out error stack error to the stdio stream...">svn_handle_error2()</a> but with <code>prefix</code> set to "svn: ". <a href="group__svn__error__error__creation__destroy.html#g9eb04d5b9b6f6ad76132a7fb822aa77f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__svn__error__error__creation__destroy.html#g34f08713630352a0546038088ffa6479">svn_handle_warning2</a> (FILE *stream, <a class="el" href="structsvn__error__t.html">svn_error_t</a> *error, const char *prefix)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Very basic default warning handler: print out the error <em>error</em> to the stdio stream <em>stream</em>, prefixed by <em>prefix</em>. <a href="group__svn__error__error__creation__destroy.html#g34f08713630352a0546038088ffa6479"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g34bb30baf6f2da4abad396082111d671"></a><!-- doxytag: member="svn_error.h::svn_handle_warning" ref="g34bb30baf6f2da4abad396082111d671" args="(FILE *stream, svn_error_t *error)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__svn__error__error__creation__destroy.html#g34bb30baf6f2da4abad396082111d671">svn_handle_warning</a> (FILE *stream, <a class="el" href="structsvn__error__t.html">svn_error_t</a> *error)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Like <a class="el" href="group__svn__error__error__creation__destroy.html#g34f08713630352a0546038088ffa6479" title="Very basic default warning handler: print out the error error to the stdio stream...">svn_handle_warning2()</a> but with <code>prefix</code> set to "svn: ". <br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Common exception handling for Subversion.
<p>
<p>Definition in file <a class="el" href="svn__error_8h-source.html">svn_error.h</a>.</p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="1b3b6a34086d2fff18e88906fa756f73"></a><!-- doxytag: member="svn_error.h::svn_err_best_message" ref="1b3b6a34086d2fff18e88906fa756f73" args="(svn_error_t *err, char *buf, apr_size_t bufsize)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char* svn_err_best_message </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structsvn__error__t.html">svn_error_t</a> *&nbsp;</td>
<td class="paramname"> <em>err</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&nbsp;</td>
<td class="paramname"> <em>buf</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">apr_size_t&nbsp;</td>
<td class="paramname"> <em>bufsize</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
If <em>err</em> has a custom error message, return that, otherwise store the generic error string associated with <em>err-&gt;apr_err</em> into <em>buf</em> (terminating with NULL) and return <em>buf</em>.
<p>
<dl class="since" compact><dt><b>Since:</b></dt><dd>New in 1.4.</dd></dl>
<dl class="note" compact><dt><b>Note:</b></dt><dd><em>buf</em> and <em>bufsize</em> are provided in the interface so that this function is thread-safe and yet does no allocation. </dd></dl>
</div>
</div><p>
<a class="anchor" name="cc38737e1ce190a9184d4dd768e7cd8f"></a><!-- doxytag: member="svn_error.h::svn_error__locate" ref="cc38737e1ce190a9184d4dd768e7cd8f" args="(const char *file, long line)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void svn_error__locate </td>
<td>(</td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>file</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">long&nbsp;</td>
<td class="paramname"> <em>line</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Set the error location for debug mode.
<p>
</div>
</div><p>
<a class="anchor" name="e47ab028b9c77e76979ad8cb5b1d017c"></a><!-- doxytag: member="svn_error.h::svn_strerror" ref="e47ab028b9c77e76979ad8cb5b1d017c" args="(apr_status_t statcode, char *buf, apr_size_t bufsize)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char* svn_strerror </td>
<td>(</td>
<td class="paramtype">apr_status_t&nbsp;</td>
<td class="paramname"> <em>statcode</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&nbsp;</td>
<td class="paramname"> <em>buf</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">apr_size_t&nbsp;</td>
<td class="paramname"> <em>bufsize</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Put an English description of <em>statcode</em> into <em>buf</em> and return <em>buf</em>, NULL-terminated.
<p>
<em>statcode</em> is either an svn error or apr error.
</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Fri Oct 24 16:18:26 2008 for Subversion by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
</body>
</html>