On Fri, Jan 18, 2002 at 12:53:33PM -0500, Bill Stoddard wrote: > > > > > I think we concluded that e would rather not break binary compatability on >Windows or > any > > > other platform. So the part of the patch commited on 12/28/01 12:03 AM that >breaks > > > compatability needs to be removed or reworked. > > > > No, the original code was, simply, broken. We must find a way to break > > compatibility for modules using _those_few_functions_, alone. They are; > > > > ap_snprintf > > ap_table_do > > ap_bvputs > > ap_rprintf > > ap_log_error > > ap_log_rerror > > ap_log_printf > > > > My suggestion is that with seven broken declarations now fixed on Win32, we > > export with a leading underscore (exactly as they would normally get, if there > > were no .def file at all), and their ordinals changed. This will assure > > compatibility of _only_ those seven functions is toggled, without general and > > massive breakage across the board. I am very uncomfortable with (...) args > > using pascal conventions, and really do not trust these not to introduce some > > odd segfaults as things stand in Win32 land. > > We have been successfully running with the 'broken' code from the beginning of >Apache 1.3. > And I have -never- seen a problem reported because of the way these functions are > exported. I would conclude that the code is in fact not broken. Overwhelming >empirical > evidence supports that conclusion.
As I understood most of it, this patch I provided also fixed that some of the functions weren't even being exported correctly. I had to use the ap_update_vhost_from_headers in one of my modules and Gunter Knauf was nice to report that if the function was exported correctly my module would also work on Win32 and Netware platforms. I submitted an initial patch and was asked to fix all the non-correctly exported functions. I did and Wrove fixed the incorrect exports that have been in the tree since it was made. If you want the fix pulled out I'd suggest that you don't make the functions available at all from src/support/httpd.exp since it has never correctly been exported, which I consider a reasonable bug. So basically you're told that there's a set of api functions, but if you use some that we didn't even export, you're out of luck. my $cent = 2; -- Thomas Eibner <http://thomas.eibner.dk/> DnsZone <http://dnszone.org/> mod_pointer <http://stderr.net/mod_pointer>
