Re: [ROOT] [Carrot] Bug in RootApacheModule::CreateServerConfig

From: Valeriy Onuchin (Valeri.Onoutchine@cern.ch)
Date: Fri May 03 2002 - 15:54:42 MEST


 Hi Ashley,
thanks. I'm going to release next version of Carrot next week.
That will have your corrections.

Thanks.	Regards.	Valeriy  

Ashley Cambrell wrote:
> 
> 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