Name Conflicts in C modules

In the current version of the system all public C functions of SWI-Prolog are in the symbol table. This can lead to name clashes with foreign code. Someday I should write a program to strip all these symbols from the symbol table (why does Unix not have that?). For now I can only suggest to give your function another name. You can do this using the C preprocessor. If –for example– your foreign package uses a function warning(), which happens to exist in SWI-Prolog as well, the following macro should fix the problem.


\begin{code}
...