From ac61104df7df1b452666a037aeac55d5b71da85d Mon Sep 17 00:00:00 2001 From: Thomas Holder Date: Fri, 23 Aug 2019 17:25:01 +0200 Subject: Eliminate clang warnings -Winfinite-recursion -Wpessimizing-move -Wunused-label -Wunneeded-internal-declaration -Wself-assign-overloaded -Wunused-const-variable (some) -Wsometimes-uninitialized (some) --- src/ui/dialog/export.cpp | 24 +++++------------------- 1 file changed, 5 insertions(+), 19 deletions(-) (limited to 'src/ui/dialog/export.cpp') diff --git a/src/ui/dialog/export.cpp b/src/ui/dialog/export.cpp index 2c1ebb45d..7b2f2628d 100644 --- a/src/ui/dialog/export.cpp +++ b/src/ui/dialog/export.cpp @@ -930,26 +930,12 @@ Gtk::Dialog * Export::create_progress_dialog (Glib::ustring progress_text) { // FIXME: Some lib function should be available to do this ... Glib::ustring Export::filename_add_extension (Glib::ustring filename, Glib::ustring extension) { - Glib::ustring::size_type dot; - Glib::ustring::size_type dot_ext; - - dot = filename.find_last_of("."); - dot_ext = filename.lowercase().rfind("." + extension.lowercase()); - if ( dot == std::string::npos ) - { - return filename = filename + "." + extension; - } - else - { - if (dot == dot_ext) - { - return filename = filename; - } - else - { - return filename = filename + "." + extension; - } + auto pos = int(filename.size()) - int(extension.size()); + if (pos > 0 && filename[pos - 1] == '.' && filename.substr(pos).lowercase() == extension.lowercase()) { + return filename; } + + return filename + "." + extension; } Glib::ustring Export::absolutize_path_from_document_location (SPDocument *doc, const Glib::ustring &filename) -- cgit v1.2.3