Re: coding style: #ifdef blocks and real C blocks
Tay Ray Chuan <rctay89@gmail.com> writes:
Show 8 quoted lines
> #ifdef USE_CURL_MULTI
> slot = get_active_multi_slot();
> #else
> slot = get_active_slot();
> #endif
> slot->callback_func = process_response;
> slot->callback_data = request;
> request->slot = slot;
How about doing something like this:
#ifdef USE_CURL_MULTI
#define active_slot_get get_active_multi_slot
#else
#define active_slot_get get_active_slot
#endifso that the code itself would not have to have any #ifdef?
slot = active_slot_get()
slot->callback_func = process_response;
slot->callback_data = request;
request->slot = slot;
Show 8 quoted lines
> #ifdef USE_CURL_MULTI
> if (!persistent_connection)
> slot = get_active_multi_slot();
> else
> slot = get_active_slot();
> #else
> slot = get_active_slot();
> #endif
Similarly, with something like this:
#ifdef USE_CURL_MULTI
slot active_persistent_slot() {
return persistent_connection ? get_active_slot() : get_active_multi_slot();
}
#else
slot active_persistent_slot() {
return get_active_slot();
}
#endifthe call site can be #ifdef free, no?