You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by br...@apache.org on 2015/03/04 07:47:42 UTC

svn commit: r1663866 - in /subversion/site/publish/docs/community-guide: conventions.part.html conventions.toc.html

Author: brane
Date: Wed Mar  4 06:47:42 2015
New Revision: 1663866

URL: http://svn.apache.org/r1663866
Log:
Add a note about SVN_VA_NULL to the community guide.

* site/publish/docs/community-guide/conventions.toc.html:
   Update the table of contents.
* publish/docs/community-guide/conventions.part.html
  (variadic-arglists): New section.

Modified:
    subversion/site/publish/docs/community-guide/conventions.part.html
    subversion/site/publish/docs/community-guide/conventions.toc.html

Modified: subversion/site/publish/docs/community-guide/conventions.part.html
URL: http://svn.apache.org/viewvc/subversion/site/publish/docs/community-guide/conventions.part.html?rev=1663866&r1=1663865&r2=1663866&view=diff
==============================================================================
--- subversion/site/publish/docs/community-guide/conventions.part.html (original)
+++ subversion/site/publish/docs/community-guide/conventions.part.html Wed Mar  4 06:47:42 2015
@@ -674,6 +674,30 @@ to do so.</p>
 
 </div> <!-- destruction-of-stacked-resources -->
 
+<div class="h2" id="variadic-arglists">
+<h2>Variadic arugment lists
+  <a class="sectionlink" href="<!--#echo var="GUIDE_CONVENTIONS_PAGE" -->#variadic-arglists"
+    title="Link to this section">&para;</a>
+</h2>
+
+<p>When you call a function that accepts a variable number of
+arguments and expects the list to be terminated with a null pointer
+constant (an example of such a function is <tt>apr_pstrcat</tt>), do
+<b>not</b> use the <tt>NULL</tt> symbol to terminate the
+list. Depending on compiler and platform, <tt>NULL</tt> may or may not
+be a pointer-sized constant; if it isn't the function may end up
+reading data beyond the end of the argument list.</p>
+
+<p>Instead, use <tt>SVN_VA_NULL</tt> (defined since 1.9 in
+<tt>svn_types.h</tt>), which is guaranteed to be a null pointer
+constant. For example:</p>
+
+<pre>
+   return apr_pstrcat(cmd->temp_pool, "Cannot parse expression '",
+                      arg2, "' in SVNPath: ", expr_err, SVN_VA_NULL);
+</pre>
+
+</div> <!-- variadic-arglists -->
 
 <div class="h2" id="other-conventions">
 <h2>Other coding conventions

Modified: subversion/site/publish/docs/community-guide/conventions.toc.html
URL: http://svn.apache.org/viewvc/subversion/site/publish/docs/community-guide/conventions.toc.html?rev=1663866&r1=1663865&r2=1663866&view=diff
==============================================================================
--- subversion/site/publish/docs/community-guide/conventions.toc.html (original)
+++ subversion/site/publish/docs/community-guide/conventions.toc.html Wed Mar  4 06:47:42 2015
@@ -9,6 +9,7 @@
   <li><a href="#exception-handling">Exception handling</a></li>
   <li><a href="#secure-coding">Secure coding guidelines</a></li>
   <li><a href="#destruction-of-stacked-resources">Destruction of stacked resources</a></li>
+  <li><a href="#variadic-arglists">Variadic arugment lists</a></li>
   <li><a href="#other-conventions">Other coding conventions</a></li>
   <li><a href="#log-messages">Writing log messages</a></li>
   <li><a href="#crediting">Crediting</a></li>
@@ -24,6 +25,7 @@
   <li><a href="conventions.html#exception-handling">Exception handling</a></li>
   <li><a href="conventions.html#secure-coding">Secure coding guidelines</a></li>
   <li><a href="conventions.html#destruction-of-stacked-resources">Destruction of stacked resources</a></li>
+  <li><a href="conventions.html#variadic-arglists">Variadic arugment lists</a></li>
   <li><a href="conventions.html#other-conventions">Other coding conventions</a></li>
   <li><a href="conventions.html#log-messages">Writing log messages</a></li>
   <li><a href="conventions.html#crediting">Crediting</a></li>