From: "Bill Stoddard" <[EMAIL PROTECTED]> Sent: Monday, January 21, 2002 9:44 AM
> Upon closer inspection, ap_rprintf() has been NON_STD for ages, so it's fine as is. >Not > sure why it showed up on Rowe-san's list :-o It went to _NONSTD in 1.302, and back to std in 1.309. The tricky bit - it never picked up the discrepancy - and for that time http_protocol.h was actually in-sync. I didn't add http_protocol.h to my list to backout because - it wasn't patched in the first place. I didn't pick up that the .c and .h were out-of-sync, because my commit normalized them, and never included http_protocol.h. Now that we've discovered this doesn't cause incompatibility, we can put them all in sync, if you like, to what MSVC actually compiled. I've written (attached) a little footest to illustrate what the compiler does with varargs, and compiled from c to asm, and it's very interesting. The following (decorated, default) exported symbol names, and the attached asm output from footest and footest2 illustrate that _stdcall is ignored for vararg prototypes :) fn_one_plus_export_cdecl fn_one_plus_export_stdcall fn_two_args_export_cdecl _fn_two_args_export_stdcall@8 fn_one_plus_import_cdecl fn_one_plus_import_stdcall fn_two_args_import_cdecl _fn_two_args_import_stdcall@8 To replicate; cl footest.c footest2.c will create you this example cl -c -Fafootest.asm footest.c creates you the asm dump Bill
footest2.c
Description: Binary data
footest.c
Description: Binary data
footest2.asm
Description: Binary data
footest.asm
Description: Binary data
