I would like to see some testing of this. IIRC you do NOT want to escale the next character after a '^' as first character in a character class.
I'm reasonably certain that I tested the existing code and that it works - I'm ok being proven wrong, but I'd like to make sure that this is at least tested and not submitted as "I didn't test it but the original code looked wrong" :-) So right now the patch is NAK. Feel free to resubmit with a commit message that includes a truthful statement "I tested this and the old one breaks on THIS input and that works after applying this patch"... Thanks /D On Fri, Aug 07, 2015 at 07:22:27PM +0300, Miika Turkia wrote: > Signed-off-by: Miika Turkia <[email protected]> > --- > This is something I have not tested at all, but it caught my eye when I > was looking at the patch breaking the file opening dialog (#913). The > original code just screams it needs more escaping of the angle brackets. > --- > qt-ui/mainwindow.cpp | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/qt-ui/mainwindow.cpp b/qt-ui/mainwindow.cpp > index db1d8c8..dedd2ce 100644 > --- a/qt-ui/mainwindow.cpp > +++ b/qt-ui/mainwindow.cpp > @@ -319,7 +319,7 @@ void MainWindow::on_actionOpen_triggered() > // so we would get dir[branch].ssrf when trying to select dir[branch]. > // let's detect that and remove the incorrect extension > QStringList cleanFilenames; > - QRegularExpression reg(".*\\[[^]]+]\\.ssrf", > QRegularExpression::CaseInsensitiveOption); > + QRegularExpression reg(".*\\[[^\\]]+\\]\\.ssrf", > QRegularExpression::CaseInsensitiveOption); > > Q_FOREACH (QString filename, filenames) { > if (reg.match(filename).hasMatch()) > @@ -1369,7 +1369,7 @@ int MainWindow::file_save_as(void) > /* now for reasons I don't understand we appear to add a .ssrf to > * git style filenames <path>/directory[branch] > * so let's remove that */ > - QRegularExpression reg(".*\\[[^]]+]\\.ssrf", > QRegularExpression::CaseInsensitiveOption); > + QRegularExpression reg(".*\\[[^\\]]+\\]\\.ssrf", > QRegularExpression::CaseInsensitiveOption); > if (reg.match(filename).hasMatch()) > filename.remove(QRegularExpression("\\.ssrf$", > QRegularExpression::CaseInsensitiveOption)); > if (filename.isNull() || filename.isEmpty()) > -- > 2.1.4 > > _______________________________________________ > subsurface mailing list > [email protected] > http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface _______________________________________________ subsurface mailing list [email protected] http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
