Closed josp70 closed 9 years ago
Thanks, I've merged a patch into the master branch. Perhaps I originally meant to use "*viter > realname" and got it the wrong way around. But using "!=" is better.
This bug had slipped my notice because I do my development on OS X, which always iterated through the directories in lexical order. But I can even reproduce this bug on my Mac, because it iterates through the directories in case-insensitive order, whereas the "Visited" vector needs to be in case-sensitive order.
It probably would have been a long, long time before I noticed this bug myself, because I keep all my DICOM files on OS X.
I have the following directory structure:
When doing, with argv[1]=="DICOM"
Only DICOM/00000000/00000001 is visited.
I have traced the execution of void vtkDICOMDirectory::ProcessDirectory and found that
The directories are iterated in this order
with this order, the condition:
evaluate to false and the directory DICOM/00000000/00000000 is not visited.
I think that the condition must be:
This is because std::lower_bound returns an iterator which is greater than or equal the value. For example: