MantisBT - ITK | |||||
View Issue Details | |||||
ID | Project | Category | View Status | Date Submitted | Last Update |
0005880 | ITK | public | 2007-10-13 16:05 | 2007-11-26 10:51 | |
Reporter | S Pieper | ||||
Assigned To | Bill Lorensen | ||||
Priority | normal | Severity | minor | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Platform | OS | OS Version | |||
Product Version | |||||
Target Version | Fixed in Version | ||||
Resolution Date | |||||
Sprint | |||||
Sprint Status | |||||
Summary | 0005880: ITK_AUTOLOAD_PATH doesn't work when more than one separator | ||||
Description | If I add the print statements in ObjectFactoryBase::LoadDynamicFactories()as shown in the Additional Information section below, and then I set ITK_AUTOLOAD_PATH to a string with more than one separator character I get the following: path is /Users/pieper/slicer3/latest/Slicer3-build/bin:/tmp:/usr CurrentPath is /Users/pieper/slicer3/latest/Slicer3-build/bin CurrentPath is /tmp:/usr CurrentPath is /usr done loading That is, the middle path is not correctly extracted. | ||||
Steps To Reproduce | |||||
Additional Information | /** * Load all libraries in ITK_AUTOLOAD_PATH */ void ObjectFactoryBase ::LoadDynamicFactories() { /** * follow PATH conventions */ #ifdef _WIN32 char PathSeparator = ';'; #else char PathSeparator = ':'; #endif std::string LoadPath; if (getenv("ITK_AUTOLOAD_PATH")) { LoadPath = getenv("ITK_AUTOLOAD_PATH"); } else { return; } if(LoadPath.size() == 0) { return; } std::string::size_type EndSeparatorPosition = 0; std::string::size_type StartSeparatorPosition = 0; std::cerr << "path is " << LoadPath << "\n"; while ( StartSeparatorPosition != std::string::npos ) { StartSeparatorPosition = EndSeparatorPosition; /** * find PathSeparator in LoadPath */ EndSeparatorPosition = LoadPath.find(PathSeparator, StartSeparatorPosition); if(EndSeparatorPosition == std::string::npos) { EndSeparatorPosition = LoadPath.size(); } std::string CurrentPath = LoadPath.substr(StartSeparatorPosition, EndSeparatorPosition); std::cerr << "CurrentPath is " << CurrentPath << "\n"; ObjectFactoryBase::LoadLibrariesInPath(CurrentPath.c_str()); /** * move past separator */ if(EndSeparatorPosition == LoadPath.size()) { StartSeparatorPosition = std::string::npos; } else { EndSeparatorPosition++; } } std::cerr << "done loading\n"; } | ||||
Tags | No tags attached. | ||||
Relationships | |||||
Attached Files | |||||
Issue History | |||||
Date Modified | Username | Field | Change | ||
2007-10-13 16:05 | S Pieper | New Issue | |||
2007-10-27 12:15 | Bill Lorensen | Status | new => assigned | ||
2007-10-27 12:15 | Bill Lorensen | Assigned To | => Bill Lorensen | ||
2007-11-04 20:36 | Bill Lorensen | Note Added: 0009629 | |||
2007-11-04 20:36 | Bill Lorensen | Status | assigned => confirmed | ||
2007-11-04 20:39 | Bill Lorensen | Status | confirmed => resolved | ||
2007-11-04 20:39 | Bill Lorensen | Resolution | open => fixed | ||
2007-11-04 20:39 | Bill Lorensen | Note Added: 0009630 | |||
2007-11-26 10:51 | Bill Lorensen | Status | resolved => closed |
Notes | |||||
|
|||||
|
|
||||
|
|||||
|
|