static void tempFname( char *fname ) { char *env; int i; #if defined(__UNIX__) env = CppGetEnv( "TMPDIR" ); if( env == NULL ) env = CppGetEnv( "TMP" ); #else env = CppGetEnv( "TMP" ); #endif if( env == NULL ) env = ""; #define TMP_EXT ".tmp" #define MAX_TMP_PATH (_MAX_PATH - sizeof( workFile ) - sizeof( TMP_EXT ) - 2) strncpy( fname, env, MAX_TMP_PATH ); fname[ MAX_TMP_PATH ] = '\0'; i = strlen( fname ); if( i > 0 && !IS_PATH_SEP( fname[i-1] ) ) { fname[i++] = PATH_SEP; } strcpy( &fname[i], workFile ); strcpy( &fname[i+sizeof(workFile)-1], TMP_EXT ); }
void GenCOptions( // PROCESS ALL OPTIONS char **argv ) // - command line vector { auto OPT_STORAGE data; char* env_var; // - environment var for compiler indirectionLevel = 0; InitModInfo(); CmdLnCtxInit(); CmdSysInit(); OPT_INIT( &data ); if( ! CompFlags.ignore_environment ) { CtxSetCurrContext( CTX_CMDLN_ENV ); env_var = CmdSysEnvVar(); CmdLnCtxPushEnv( env_var ); procOptions( &data, CppGetEnv( env_var ) ); CmdLnCtxPop(); } CtxSetCurrContext( CTX_CMDLN_PGM ); CmdLnCtxPush( CTX_CLTYPE_PGM ); while( *argv != NULL ) { procOptions( &data, *argv ); ++argv; } CmdLnCtxPop(); CmdLnCtxFini(); CtxSetCurrContext( CTX_CMDLN_VALID ); analyseAnyTargetOptions( &data ); CmdSysAnalyse( &data ); postOptions(); OPT_FINI( &data ); MiscMacroDefs(); DbgAssert( GblPackAmount == PackAmount ); DbgAssert( GblPackAmount != 0 ); }
static void init // INITIALIZATION FOR MODULE ( INITFINI* defn ) // - definition { defn = defn; if( NULL != CppGetEnv( "WPPCOMOP" ) ) { name_op = NameCreateNoLen( RTN_COMMA_OP ); sym_op = defineRoutine( name_op ); } else { sym_op = NULL; } if( NULL != CppGetEnv( "WPPCOMAT" ) ) { name_at = NameCreateNoLen( RTN_COMMA_AT ); sym_at = defineRoutine( name_at ); } else { sym_at = NULL; } }
static char *get_env( // GET ENVIRONMENT VAR const char *var, // - variable name size_t len ) // - length of name { char buf[128]; // - used to make a string char *env; // - environment name if( len >= sizeof( buf ) ) { env = NULL; } else { stvcpy( buf, var, len ); env = CppGetEnv( buf ); } return env; }
bool MergeIncludeFromEnv( char *env ) /***********************************/ { char *env_value; if( CompFlags.cpp_ignore_env ) return( FALSE ); env_value = CppGetEnv( env ); if( NULL != env_value ) { HFileAppend( env_value ); return( TRUE ); } return( FALSE ); }
static void tempFname( char *fname ) { char *env; size_t len; #if defined(__UNIX__) env = CppGetEnv( "TMPDIR" ); if( env == NULL ) env = CppGetEnv( "TMP" ); #else env = CppGetEnv( "TMP" ); #endif if( env == NULL ) env = ""; strncpy( fname, env, MAX_TMP_PATH ); fname[MAX_TMP_PATH] = '\0'; len = strlen( fname ); fname += len; if( len > 0 && !IS_PATH_SEP( fname[-1] ) ) { *fname++ = DIR_SEP; } strcpy( fname, workFile ); }