Hello Carroters, I was trying to put together what I have written and I came across a bug in RootApacheModule::CreateServerConfig. I couldn't get Carrot to use another CarrotGlobalInit.C etc. when set from system.rootrc fServerConfig->fGlobalInitScript = gEnv->GetValue("Carrot.GlobalInit",kEnvGlobal); //<--- BUG, returns Int_t and not char* if(fServerConfig->fGlobalInitScript.IsNull()) // hardcode it fServerConfig->fGlobalInitScript = gSystem->ConcatFileName(confdir.Data(),"CarrotGlobalInit.C"); fServerConfig->fGlobalInitScript = gSystem->ExpandPathName(fServerConfig->fGlobalInitScript.Data()); According to the TEnv docs, calling Int_t GetValue(const char *name, Int_t dflt) will return it's Int_t value or whatever dflt is set. Carrot.GlobalInit is a string env var so gEnv->GetValue("Carrot.GlobalInit",kEnvGlobal); will always return 0 as kEnvGlobal is an enum (0). (enums evaluate to Int_t?) This should read: fServerConfig->fGlobalInitScript = gEnv->GetValue("Carrot.GlobalInit",gSystem->ConcatFileName(confdir.Data(),"CarrotGlobalInit.C")); fServerConfig->fGlobalInitScript = gSystem->ExpandPathName(fServerConfig->fGlobalInitScript.Data()); Setting a different value for in system.rootrc CarrotGlobalInit.C now works :-) Thanks All Ashley Cambrell
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:52 MET