----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/110225/#review31692 -----------------------------------------------------------
kdecore/io/kmountpoint.cpp <http://git.reviewboard.kde.org/r/110225/#comment23614> The function would be shorter to write this way: if (parent == child) { return true; } if (parent.endsWith('/')) { return child.startsWith(parent); } else { return child.startsWith(parent + '/'); } This also avoids the assert below. It creates a temp QString, though, so we need to choose between simplicity/readability and speed. Hmm, both implementations return false erroneously if parent="/books/" and child="/books", right? kdecore/io/kmountpoint.cpp <http://git.reviewboard.kde.org/r/110225/#comment23609> How can we be sure of that? We could have a mountpoint for /usr and one for /usr/local, so if the path is /usr we could end up here with child=/usr and parent=/usr/local, and the assert will fire. - David Faure On April 27, 2013, 9:29 p.m., Frank Reininghaus wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > http://git.reviewboard.kde.org/r/110225/ > ----------------------------------------------------------- > > (Updated April 27, 2013, 9:29 p.m.) > > > Review request for kdelibs, David Faure and Jekyll Wu. > > > Description > ------- > > The current algorithm that tries to find out what mount point a path belongs > to only checks if the first part of the string matches the mount point. The > problem is that /books is then considered a path inside /book, which is > obviously wrong. > > I propose to fix this by verifying that either the mount point ends with a > '/', or the first char of the path that does not match the mount point is a > '/'. I've factored this check out into a separate function to keep the code > readable. > > Many thanks to Jekyll Wu, who analyzed this bug and found the right place in > the code. > > > This addresses bug 193298. > http://bugs.kde.org/show_bug.cgi?id=193298 > > > Diffs > ----- > > kdecore/io/kmountpoint.cpp aa7a6b1 > > Diff: http://git.reviewboard.kde.org/r/110225/diff/ > > > Testing > ------- > > Works for me. > > > Thanks, > > Frank Reininghaus > >
