[geos-devel] Thread safe error handling
Sandro Santilli
strk at keybit.net
Mon Sep 9 06:14:45 PDT 2013
On Mon, Sep 09, 2013 at 01:41:24PM +0200, Pepijn Van Eeckhoudt wrote:
> I have to admit C++ is a very, very long time ago for me. Is it possible
> to call one variadic function from another one in C++? If not, how would
> you delegate from notice(handle,void*,fmt,...) (or the hypothetical
> method on a C++ class) to the current notice(fmt,...)? I think this is
> necessary to avoid breaking the ABI, no?
You will always send 2 arguments to the user-provided old function, so
you don't have to care about varargs at that point.
You would just call
user_provided_notifier("%s", the_printed_buffer_pointer)
IFF no new handler was registered in the context.
Actually, the new notifier may even stop being a varargs, at this point,
allowing for something like:
if ( new_handler ) {
new_handler(user_data, message_buffer);
} else {
old_handler("%s", message_buffer);
}
--strk;
More information about the geos-devel
mailing list