Hello,
I have a problem when writing data from within a named macro and Closing
the file at the end. I have the following macro:
int mytest(char* outfile="mytest.root")
{
TFile output(outfile,"RECREATE");
TProfile prof("prof","prof",10,0,10);
prof.Fill((float)5,(float)3);
prof.Write();
output.Close();
return 0;
}
executing it yields (on Linux 2.2.10, glibc):
$ root -b -q mytest.C
*******************************************
* *
* W E L C O M E to R O O T *
* *
* Version 2.22/09 13 July 1999 *
* *
* You are welcome to visit our Web site *
* http://root.cern.ch *
* *
*******************************************
CINT/ROOT C/C++ Interpreter version 5.14.8, Jul 4 1999
Type ? for help. Commands must be C++ statements.
Enclose multiple statements between { }.
root [0]
Processing mytest.C...
*** Break *** segmentation violation
Root > Function mytest() busy flag cleared
If I leave out output.Close() it does not complain and the file seems to
be written correctly.
Did I make a mistake, is it a known problem that is already fixed, can I
just leave out the Close() and rely on the file always to be written
correctly?
Puzzled,
Michael
--------------------------------------------------------------------------
Michael Sievers
Michael.Sievers@desy.de
--------------------------------------------------------------------------
esa$ gcc -Wall -o ariane5 ariane5.c
ariane5.c: 666: warning: long float implicitly truncated to unsigned type
esa$ ariane5
This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:39 MET