static char * func_ifdef( char *o, char **argv, const char *funcname UNUSED ) { const char *begp = argv[0]; const char *endp = begp + strlen( argv[0] ) - 1; strip_whitespace( &begp, &endp ); if( begp < endp ) { if( lookup_variable( begp, endp - begp + 1 ) ) { return gmk_eval( argv[1], NULL ); } else if( NULL != argv[2] && '\0' != *argv[2] ) { return gmk_eval( argv[2], NULL ); } } return NULL; }