[ROOT] bool problem when CINT init_cint after scratch_all!

From: Meir Ron (meirr@tti-telecom.com)
Date: Mon Oct 22 2001 - 17:04:46 MEST


When The CINT execute text which has a "bool" type, the function "int
G__defined_tagname(tagname,noerror)" <at struct.c> called, set the static
flag "boolflag" and load bool.h for the Boolean handling.

After calling to scratch_all function, the CINT lose all boolean information
that were loaded from the 
bool.h file. 
B U T because the boolflag flag is static in the function, bool.h won't be
loaded again.

My suggestion is to change the static flag to a global one, and set this
flag to zero in the scratch_all
function, or at G__setup.c file.

Change Description:
-- at struct.c --
>>int boolflag=0;  /* Meir ---------- instead of static, see below*/
>>void GTTI__reset_boolflag()
>>{
>>	boolflag = 0;
>>}

int G__defined_tagname(tagname,noerror)
char *tagname;
int noerror;
{
<</*  static int boolflag=0;  Meir */
  int i,len;
  char *p;

-- at G__setup.c -- (or at G__scratch_all function)
int G__globalsetup() {

#ifdef G__CPPLINK_ON
>>/*boolflag = 0; this causes cint to read bool.h again if needed */
>>GTTI__set_boolflag(0);

I'll be glad to read your opinion about, and if there is any possible to fix
the CINT sources.
Thanks!

Meir Ron 
Tel: +(972)-3-9269007 
Home: +(972)-3-9220847 
Email: meirr@tti-telecom.com <mailto:meirr@tti-telecom.com>



This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:51:03 MET