diff options
author | Slávek Banko <slavek.banko@axis.cz> | 2018-12-16 18:51:29 +0100 |
---|---|---|
committer | Slávek Banko <slavek.banko@axis.cz> | 2018-12-16 18:51:29 +0100 |
commit | 82824eab47a7c7a4be97d29f3674d560cb0164c2 (patch) | |
tree | 19c604f4695bdf44d7ceb6f73cd177ff298fd059 | |
parent | 95cea3fa57808473f79402f4d97750d4f286ea78 (diff) | |
download | krename-82824eab47a7c7a4be97d29f3674d560cb0164c2.tar.gz krename-82824eab47a7c7a4be97d29f3674d560cb0164c2.zip |
Fix inifinite loop while parsing subdirs.
Improved clarity of the original while loop.
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
-rw-r--r-- | krename/batchrenamer.cpp | 8 | ||||
-rw-r--r-- | krename/krenameimpl.cpp | 12 |
2 files changed, 13 insertions, 7 deletions
diff --git a/krename/batchrenamer.cpp b/krename/batchrenamer.cpp index 371a0da..98b2ef4 100644 --- a/krename/batchrenamer.cpp +++ b/krename/batchrenamer.cpp @@ -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++; } } } diff --git a/krename/krenameimpl.cpp b/krename/krenameimpl.cpp index 1835fd1..e62c81c 100644 --- a/krename/krenameimpl.cpp +++ b/krename/krenameimpl.cpp @@ -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++; } } |