#ifndef PP_CONCAT_H_
#define PP_CONCAT_H_
/* Concatenates two tokens into a single token, after exanding either or
** both tokens if they are preprocessor symbols.
**
** Example:
**
** #define S1 a
** #define S2 b
** #define S3 S1
**
** PP_CONCATE(S3, S2)
**
** This will expand to the token:
**
** ab
*/
#define PP_CONCAT(A, B) PP_CONCAT_(A, B)
/* This "helper" macro is necessary because the macro processor does
** parameter concatenation BEFORE any expansion.
*/
#define PP_CONCAT_(A, B) A ## B
#endif
               (
geocities.com/wkaras)