version 1.4, 2007/06/05 09:31:18
|
version 1.5, 2007/06/06 19:54:34
|
|
|
| |
if (_dirRep.dir) | if (_dirRep.dir) |
{ | { |
#ifdef PEGASUS_HAS_READDIR_R |
|
// Need to use readdir_r since we are multithreaded | // Need to use readdir_r since we are multithreaded |
if (readdir_r(_dirRep.dir, &_dirRep.buffer, &_dirRep.entry) != 0) | if (readdir_r(_dirRep.dir, &_dirRep.buffer, &_dirRep.entry) != 0) |
{ | { |
|
|
closedir(_dirRep.dir); | closedir(_dirRep.dir); |
throw CannotOpenDirectory(_path); | throw CannotOpenDirectory(_path); |
} | } |
#else |
|
_dirRep.entry = readdir(_dirRep.dir); |
|
#endif |
|
_more = _dirRep.entry != NULL; | _more = _dirRep.entry != NULL; |
} | } |
else | else |
|
|
{ | { |
if (_more) | if (_more) |
{ | { |
#ifdef PEGASUS_HAS_READDIR_R |
|
// Need to use readdir_r since we are multithreaded | // Need to use readdir_r since we are multithreaded |
#ifdef PEGASUS_OS_ZOS |
|
errno=0; |
|
#endif |
|
if (readdir_r(_dirRep.dir, &_dirRep.buffer, &_dirRep.entry) != 0) | if (readdir_r(_dirRep.dir, &_dirRep.buffer, &_dirRep.entry) != 0) |
{ | { |
_more = false; | _more = false; |
throw CannotOpenDirectory(_path); | throw CannotOpenDirectory(_path); |
} | } |
#else |
|
_dirRep.entry = readdir(_dirRep.dir); |
|
#endif |
|
_more = _dirRep.entry != NULL; | _more = _dirRep.entry != NULL; |
} | } |
} | } |