The preprocessors that are active are stored in a linked list. When there is any action that needs a preprocessor this list is used to invoke the preprocessors. The preprocessors are invoked in the order they were entered into the system. For example if there are two lines in the source code saying:
then the preprocessor pre1 is loaded first and pre2 is loaded afterwards. When a preprocessor is invoked the preprocesor pre1 is called first and pre2 is called on the result. This function allocates a list element and inserts it to the end of the list.
pPreprocessor ipreproc_InsertPreprocessor(pPreprocObject pPre
The argument is the preprocessor object, environment.
The return value is pointer to the list element or NULL if memory allocation occured.