Add a means to bypass LO_MARKER checking if type string ends in "$$".
Add a means to bypass LO_MARKER checking if type string ends in "$$".

Although the LO_MARKER trick allows a neat run-time check for
lo_send() argument correctness, sometimes when passing on varargs from
another function it can make things difficult, since it depends on a
macro that appends the LO_MARKER arguments.

For example, in the C++ bindings, we wish to define a function named
"Address::send" which passes its arguments on to
lo_message_add_varargs(), however defining a macro called "send" is
not a good idea.

Without changing the prototype for lo_message_add_varargs(), the only
way to disable this check is by modifying one of its existing
arguments.  Therefore, this patch adds a check for two consecutive '$'
characters in the type string.  If they are found, the LO_MARKER check
is bypassed.

Unfortunately this means that a calling function must supply a copied
and modified type string---in a future version of the API it would be
good to give lo_message_add_varargs() the means to disable this check
explicitly.

island-org/liblo,fsateler/liblo,fsateler/liblo,johne53/MB3Liblo,island-org/liblo,fsateler/liblo,johne53/MB3Liblo,johne53/MB3Liblo,kneitinger/liblo,tuscland/liblo,tuscland/liblo,johne53/MB3Liblo,radarsat1/liblo,radarsat1/liblo,radarsat1/liblo,umlaeute/liblo,umlaeute/liblo,tuscland/liblo,kneitinger/liblo,kneitinger/liblo,umlaeute/liblo,island-org/liblo