Try this (if the compiler doesn't support concat when macro parameters are expanded at the same time):
Code:
#ifdef CURL_ISOCPP
#define CFINIT2(x,y) x ## y
#define CFINIT(name) CFINIT2(CURLFORM_,name)
#else
/* The macro "##" is ISO C, we assume pre-ISO C doesn't support it. */
#define CFINIT2(x,y) x/**/y
#define CFINIT(name) CFINIT2(CURLFORM_,name)
#endif
or remove macros altogether:
Code:
typedef enum {
CURLFORM_NOTHING,
CURLFORM_COPYNAME,
...
CURLFORM_CONTENTLEN,
CURLFORM_LASTENTRY
} CURLformoption;