[EMAIL PROTECTED] wrote:
Author: niq
Date: Tue Aug 9 16:15:03 2005
New Revision: 231136
URL: http://svn.apache.org/viewcvs?rev=231136&view=rev
Log:
Revise apr_dbd to hide driver struct from public API
- so it can be extended without touching any public structs
[...]
Modified: apr/apr-util/trunk/dbd/apr_dbd.c
URL:
http://svn.apache.org/viewcvs/apr/apr-util/trunk/dbd/apr_dbd.c?rev=231136&r1=231135&r2=231136&view=diff
==============================================================================
--- apr/apr-util/trunk/dbd/apr_dbd.c (original)
+++ apr/apr-util/trunk/dbd/apr_dbd.c Tue Aug 9 16:15:03 2005
@@ -16,8 +16,11 @@
#include <stdio.h>
+#define APR_DBD_C
[...]
+#ifndef APR_DBD_INTERNAL
+typedef struct apr_dbd_t apr_dbd_t;
+typedef struct apr_dbd_transaction_t apr_dbd_transaction_t;
+typedef struct apr_dbd_results_t apr_dbd_results_t;
+typedef struct apr_dbd_row_t apr_dbd_row_t;
+typedef struct apr_dbd_prepared_t apr_dbd_prepared_t;
+#endif
[...]
Modified: apr/apr-util/trunk/include/apr_dbd.h
URL:
http://svn.apache.org/viewcvs/apr/apr-util/trunk/include/apr_dbd.h?rev=231136&r1=231135&r2=231136&view=diff
==============================================================================
--- apr/apr-util/trunk/include/apr_dbd.h (original)
+++ apr/apr-util/trunk/include/apr_dbd.h Tue Aug 9 16:15:03 2005
@@ -25,8 +25,10 @@
extern "C" {
#endif
+#if defined APR_DBD_INTERNAL || defined APR_DBD_C
+#include "apr_dbd_internal.h"
+#else
Please don't do this. Conditionally including private headers from
public ones is evil, and it's not necessary anyway.
Just put the forward declarations of the opaque structures inth
apr_dbd.h, loose the APR_DBD_INTERNAL and APR_DBD_C defines, and let the
implementation files include apr_dbd_internal.h when they need it. You
can move apr_dbd_internal.h back to the dbd directory then.
-- Brane