dfaure requested changes to this revision.
dfaure added a comment.
This revision now requires changes to proceed.


  Thanks for the fix!

INLINE COMMENTS

> karchive.cpp:471
>          } else {
> -            //qCWarning(KArchiveLog) << "Found" << path << "but it's not a 
> directory";
> +            qCWarning(KArchiveLog) << "Found" << path << "but it's not a 
> directory";
> +            if (ent->isFile()) {

Please remove this warning, it's ambiguous at this point what the problem is; 
better have only one clear warning once we know which case we're in.

> karchive.cpp:472
> +            qCWarning(KArchiveLog) << "Found" << path << "but it's not a 
> directory";
> +            if (ent->isFile()) {
> +                const KArchiveFile *file = static_cast<const KArchiveFile 
> *>(ent);

You can remove this if(), every entry is either a file or a directory, by 
design.
And the if() confused me, e.g. if it was false, the code below would still talk 
about an empty file ;). But it can't ever be false, so let's just remove that 
if().

> karchive.cpp:475
> +                if (file->size() > 0) {
> +                    qCWarning(KArchiveLog) << "It's a normal file, bailing 
> out";
> +                    return nullptr;

Obviously that means mentioning "path" in this warning, something about that 
file being a duplicate.

> karchive.cpp:480
> +
> +            qCWarning(KArchiveLog) << "It's an empty file, assuming it is 
> actually a directory and replacing";
> +            KArchiveEntry *myEntry = const_cast<KArchiveEntry*>(ent);

If this can happen, since there's no data loss, maybe a qCDebug is enough?
(this also needs to mention "path" of course)

> kzip.cpp:756
> +                    } else {
> +                        setErrorString(tr("File %1 is in folder %2, but %3 
> is actually a file.").arg(entryName).arg(path).arg(path));
> +                        delete entry;

Use multi-arg to avoid issues in case one of these strings contains %1.

  .arg(entryName, path, path)

REPOSITORY
  R243 KArchive

REVISION DETAIL
  https://phabricator.kde.org/D10543

To: sandsmark, dfaure, #frameworks
Cc: apol, michaelh

Reply via email to