You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by sf...@apache.org on 2011/12/29 10:07:49 UTC
svn commit: r1225478 -
/httpd/httpd/trunk/docs/manual/developer/new_api_2_4.xml
Author: sf
Date: Thu Dec 29 09:07:48 2011
New Revision: 1225478
URL: http://svn.apache.org/viewvc?rev=1225478&view=rev
Log:
Document the unfortunate side effect of converting ap_log_*error into macros
with respect to #ifdef.
Modified:
httpd/httpd/trunk/docs/manual/developer/new_api_2_4.xml
Modified: httpd/httpd/trunk/docs/manual/developer/new_api_2_4.xml
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/docs/manual/developer/new_api_2_4.xml?rev=1225478&r1=1225477&r2=1225478&view=diff
==============================================================================
--- httpd/httpd/trunk/docs/manual/developer/new_api_2_4.xml (original)
+++ httpd/httpd/trunk/docs/manual/developer/new_api_2_4.xml Thu Dec 29 09:07:48 2011
@@ -164,8 +164,9 @@
<ul>
<li>Introduce per-directory, per-module loglevel</li>
<li>New loglevels APLOG_TRACEn</li>
- <li>ap_log_*error become macro wrappers (fully back-compatible if
- APLOG_MARK macro is used)</li>
+ <li>ap_log_*error become macro wrappers (back-compatible if
+ APLOG_MARK macro is used, except that is no longer possible to
+ use #ifdef inside the argument list)</li>
<li>piped logging revamped</li>
<li>module_index added to error_log hook</li>
<li>new function: ap_log_command_line</li>
@@ -336,6 +337,11 @@
<br />
</example>
+ <p><code>ap_log_*error</code> are now implemented as macros. This means
+ that it is no longer possible to use <code>#ifdef</code> inside the
+ argument list of <code>ap_log_*error</code>, as this would cause
+ undefined behavor according to C99.</p>
+
<p>A <code>server_rec</code> pointer must be passed to
<code>ap_log_error()</code> when called after startup. This
was always appropriate, but there are even more limitations with