Fix inifinite loop while parsing subdirs.

Improved clarity of the original while loop.

Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
pull/3/head
Slávek Banko 5 лет назад
Родитель 95cea3fa57
Сommit 82824eab47
Подписано: SlavekB
Идентификатор GPG ключа: 608F5293A04BE668

@ -839,8 +839,11 @@ void BatchRenamer::parseSubdirs( data* f )
// create the missing subdir now
int i = 0;
TQString d = "";
while (!(d = dirs.section("/", i, i, TQString::SectionSkipEmpty)).isEmpty()) { // asignment here!
TQString d = TQString::null;
for (d = dirs.section("/", i, i, TQString::SectionSkipEmpty);
!d.isEmpty();
i++, d = dirs.section("/", i, i, TQString::SectionSkipEmpty))
{
KURL url = f->dst.url;
// it is important to unescape here
// to support dirnames containing "&" or
@ -852,7 +855,6 @@ void BatchRenamer::parseSubdirs( data* f )
f->dst.url.addPath( d );
f->dst.directory.append( d + "/" );
i++;
}
}
}

@ -1171,14 +1171,18 @@ bool KRenameImpl::setupBatchRenamer( BatchRenamer* b, bool preview )
int i = 0;
TQString d = "/";
while (!(d += url.section( "/", i, i, TQString::SectionSkipEmpty)).isEmpty()) { // asignment here!
if (!TDEIO::NetAccess::exists(d, false, parent) && !TDEIO::NetAccess::mkdir(d, parent, -1))
TQString ds = TQString::null;
for (ds = url.section("/", i, i, TQString::SectionSkipEmpty);
!ds.isEmpty();
i++, d.append("/"), ds = url.section("/", i, i, TQString::SectionSkipEmpty))
{
d += ds;
if (!TDEIO::NetAccess::exists(d, false, parent) &&
!TDEIO::NetAccess::mkdir(d, parent, -1))
{
tqDebug( "Can't create %s", d.latin1() );
break;
}
d.append( "/" );
i++;
}
}

Загрузка…
Отмена
Сохранить