Fixed environment variable resolution in INCLUDE having quotes
This commit is contained in:
@@ -48,6 +48,16 @@ string resolveEnvironmentVariables(string sdata)
|
||||
}
|
||||
string env_var = sdata.substr(i+2).substr(0, end_index);
|
||||
//cout << "env_var is " << env_var << endl;
|
||||
|
||||
//remove quotes from environment variable
|
||||
string tmp_env_var = env_var;
|
||||
env_var = "";
|
||||
for(int c = 0; c < env_var.length(); c++)
|
||||
{
|
||||
if(tmp_env_var.substr(c, 1).compare("\"")!=0)
|
||||
env_var += tmp_env_var.substr(c,1);
|
||||
}
|
||||
|
||||
string env_value = rc_intern_env(env_var);
|
||||
sdata_out += env_value;
|
||||
i = (i+2) + end_index;
|
||||
|
||||
@@ -133,6 +133,13 @@ bool rc_preprocessor()
|
||||
tmp_token[1] = resolveEnvironmentVariables(tmp_token[1]);
|
||||
|
||||
inc_file.filename = tmp_token[1].substr(8);
|
||||
|
||||
if(inc_file.filename.length() == 0)
|
||||
{
|
||||
rc_setError("Expected file as argument in include");
|
||||
return false;
|
||||
}
|
||||
|
||||
inc_file.filename = rc_absFilePath(inc_file.filename);
|
||||
|
||||
for(int i = 0; i < inc_once.size(); i++)
|
||||
@@ -919,8 +926,8 @@ int main(int argc, char * argv[])
|
||||
bool clean_after_build = true;
|
||||
|
||||
//DEBUG START
|
||||
//chdir("/home/n00b/test/SpriteShapeTest");
|
||||
//rc_filename = "/home/n00b/test/stp/serenity_main.bas";
|
||||
//chdir("/home/n00b/GameDev/Ambient/Ambient_Project");
|
||||
//rc_filename = "main.bas";
|
||||
//rc_filename = "/home/n00b/test/SpriteShapeTest/main.bas";
|
||||
//rc_filename = "/home/n00b/Programs/RCBasic_v400_Linux64/examples/Constraint/main.bas";
|
||||
//rc_filename = "/home/n00b/Programs/RCBasic_v401_Linux64/examples/Simple_3D_Platformer/main.bas";
|
||||
|
||||
Reference in New Issue
Block a user