On Wed, Jan 19, 2005 at 05:37:24PM -0600, Robert Shearman wrote:
however we then lose focus on the applications for which we don't have source code for and depend on rpcrt4 being implemented. This is the most common use for Wine! If you have any ideas on how we can solve this, please let me know.
function proto for RpcEpRegisterA:
RPC_STATUS WINAPI RpcEpRegisterA( RPC_IF_HANDLE IfSpec, RPC_BINDING_VECTOR *BindingVector, UUID_VECTOR *UuidVector, unsigned char *Annotation )
function proto for rpc_ep_register:
PUBLIC void rpc_ep_register #ifdef _DCE_PROTO_ ( rpc_if_handle_t ifspec, rpc_binding_vector_t *binding_vec, uuid_vector_t *object_uuid_vec, unsigned_char_p_t annotation, unsigned32 *status ) #else (ifspec, binding_vec, object_uuid_vec, annotation, status) rpc_if_handle_t ifspec; rpc_binding_vector_t *binding_vec; uuid_vector_t *object_uuid_vec; unsigned_char_p_t annotation; unsigned32 *status; #endif {
_oh_ look, they're almost absolutely identical _except_ for microsoft's habit of going "that's stupid to have the status as an argument, we can't possibly have _that_, _let's_ return it as the return result instead" and my all-time-favourite #define UpperCaseBull upper_case_bull trick that had me tearing my hair :)
*sigh*
yes, DCE had to keep compatibility with bug-ugly sod-awful c compilers like sunos 4.1.3's "cc".
i ported samba 1.9.15p6 to a sparc that was slower than a 486 sx25, once... 160 functions to be converted to cc format, i wrote some _lovely_ vi macros burblburblwitterwitterirrelevantmumblings.
l.