Problem with double-dots in directory names

Hello,

I wonder why double-dots in directory names create problems - please consider the small attached example. If the double-dot is removed, everything is back to normal.

Many thanks,

Kaspi.
root_problem.cpp (636 Bytes)

Hi,

I can not reproduce your problem:root [0] Processing root_problem.cpp... g = 0x103242440 g = 0x103243020

Cheers,
Philippe.

PS. However, I would recommend to avoid any special characters (less than, dots, spaces, etc.) from any of the object or directory names.

Funny, I don’t get the problem anymore… Thanks anyway!

Kašpi

[quote=“kaspi”]Hello,
I wonder why double-dots in directory names create problems - please consider the small attached example. If the double-dot is removed, everything is back to normal.
[/quote]

It seems that I ran into the same problem again. The code to reproduce the problem is in the attached tar ball. There is also a test ROOT file created in ROOT 5.34/05 (SVN 48909). The test ROOT file contains two levels of directories, both containing a “:” character. A simple attempt to read

(TDirectory *) f->Get("predefined:none/KL:islam_bfkl");

fails, but reading the directories one by one works:

	d = (TDirectory *) f->Get("predefined:none");
	printf("%p\n", d);
	
	d = (TDirectory *) d->Get("KL:islam_bfkl");
	printf("%p\n", d);

Cheers,

Kašpi.
root_problem.tar.gz (1.27 KB)

Hi,

The original problem is that ‘:’ is also a file format delimiter (root://filename.root/directory) which can also be used in GetDirectory. I will check to see if the code can use context to distinguish the two cases. In the meantime, could you submit a bug report including your example?

Thanks,
Philippe.

Hi,

The issue is now tracked at sft.its.cern.ch/jira/browse/ROOT-5065

Cheers,
Philippe.