Fix directory creation: 'ds' remains the same while 'dir' gets updated so use 'dir' instead

This commit is contained in:
Erik Hofman 2016-07-02 11:06:36 +02:00
parent 372dead21a
commit f4344c5c6a

View File

@ -574,19 +574,20 @@ int SGPath::create_dir(mode_t mode)
if ( ds.find(':') != string::npos && path_elements.size() >= 2 ) {
dir.append( path_elements[1] );
i = 2;
ds = dir.local8BitStr();
ds = dir.local8BitStr();
}
#endif
struct stat info;
int r;
for(; (r = stat(ds.c_str(), &info)) == 0 && i < path_elements.size(); ++i)
for(; (r = stat(dir.c_str(), &info)) == 0 && i < path_elements.size(); ++i) {
dir.append(path_elements[i]);
}
if( r == 0 )
return 0; // Directory already exists
for(;;)
{
if( sgMkDir(ds.c_str(), mode) )
if( sgMkDir(dir.c_str(), mode) )
{
SG_LOG( SG_IO,
SG_ALERT, "Error creating directory: (" << dir << ")" );