httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Doug MacEachern <do...@covalent.net>
Subject Re: ap_ vs apr_
Date Tue, 01 Aug 2000 07:40:55 GMT
On Wed, 26 Jul 2000, dean gaudet wrote:

> this would mean that any module attempting to be used with both 1.3 and
> 2.0, and which uses (only) functions present in both 1.3 and 2.0 would
> need to have "#define ap_foo apr_foo", or "#define apr_foo ap_foo" right?

yeah, but the change will include a new src/lib/apr/include/apr_compat.h
(below).  assuming modules that can do both 1.3.x/2.0 need to #ifdef
anyhow, they can #include "apr_compat.h" without much trouble.

> that seems like a more likely occurance than someone trying to write a
> module using APR to link with both 1.3 and 2.0.

true.  but regardless of the binary compat issue, i can see lots of use
for libapr outside of httpd, i like to see the separation of namespace.
i don't know what other reasons came out of the older discussion.

well, i just ran the rename script, everything compiles/links/runs fine,
the cvs diff -u is BIG:

% ls -l diff.txt 
-rw-r--r--   1 dougm    users     1249609 Aug  1 00:06 diff.txt

so, one last chance for anyone to veto this change, otherwise i'll commit
late tommorrow night.

#ifndef APR_COMPAT_H
#define APR_COMPAT_H

/* redefine 1.3.x symbols to those that now live in libapr */

#define ap_MD5Encode apr_MD5Encode
#define ap_MD5Final apr_MD5Final
#define ap_MD5Init apr_MD5Init
#define ap_MD5Update apr_MD5Update
#define ap_append_arrays apr_append_arrays
#define ap_array_cat apr_array_cat
#define ap_array_pstrcat apr_array_pstrcat
#define ap_bytes_in_free_blocks apr_bytes_in_free_blocks
#define ap_bytes_in_pool apr_bytes_in_pool
#define ap_cleanup_for_exec apr_cleanup_for_exec
#define ap_clear_pool apr_clear_pool
#define ap_clear_table apr_clear_table
#define ap_copy_array apr_copy_array
#define ap_copy_array_hdr apr_copy_array_hdr
#define ap_copy_table apr_copy_table
#define ap_cpystrn apr_cpystrn
#define ap_destroy_pool apr_destroy_pool
#define ap_fnmatch apr_fnmatch
#define ap_init_alloc apr_init_alloc
#define ap_is_fnmatch apr_is_fnmatch
#define ap_kill_cleanup apr_kill_cleanup
#define ap_make_array apr_make_array
#define ap_make_sub_pool apr_make_sub_pool
#define ap_make_table apr_make_table
#define ap_note_subprocess apr_note_subprocess
#define ap_null_cleanup apr_null_cleanup
#define ap_overlap_tables apr_overlap_tables
#define ap_overlay_tables apr_overlay_tables
#define ap_palloc apr_palloc
#define ap_pcalloc apr_pcalloc
#define ap_psprintf apr_psprintf
#define ap_pstrcat apr_pstrcat
#define ap_pstrdup apr_pstrdup
#define ap_pstrndup apr_pstrndup
#define ap_push_array apr_push_array
#define ap_pvsprintf apr_pvsprintf
#define ap_register_cleanup apr_register_cleanup
#define ap_register_other_child apr_register_other_child
#define ap_run_cleanup apr_run_cleanup
#define ap_signal apr_signal
#define ap_snprintf apr_snprintf
#define ap_table_add apr_table_add
#define ap_table_addn apr_table_addn
#define ap_table_do apr_table_do
#define ap_table_get apr_table_get
#define ap_table_merge apr_table_merge
#define ap_table_mergen apr_table_mergen
#define ap_table_set apr_table_set
#define ap_table_setn apr_table_setn
#define ap_table_unset apr_table_unset
#define ap_unregister_other_child apr_unregister_other_child
#define ap_validate_password apr_validate_password
#define ap_vformatter apr_vformatter
#define ap_vsnprintf apr_vsnprintf

#endif /* APR_COMPAT_H */


Mime
View raw message