summaryrefslogtreecommitdiffstats
path: root/src/ui/dialog/export.cpp
diff options
context:
space:
mode:
authorThomas Holder <thomas@thomas-holder.de>2019-08-23 15:25:01 +0000
committerMarc Jeanmougin <marcjeanmougin@free.fr>2019-08-23 17:38:10 +0000
commitac61104df7df1b452666a037aeac55d5b71da85d (patch)
tree6240a92eebb158c8785e15342a5db7c0ecf3d0a6 /src/ui/dialog/export.cpp
parentUpdate of Czech translation (diff)
downloadinkscape-ac61104df7df1b452666a037aeac55d5b71da85d.tar.gz
inkscape-ac61104df7df1b452666a037aeac55d5b71da85d.zip
Eliminate clang warnings
-Winfinite-recursion -Wpessimizing-move -Wunused-label -Wunneeded-internal-declaration -Wself-assign-overloaded -Wunused-const-variable (some) -Wsometimes-uninitialized (some)
Diffstat (limited to 'src/ui/dialog/export.cpp')
-rw-r--r--src/ui/dialog/export.cpp24
1 files changed, 5 insertions, 19 deletions
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)