diff options
| author | Kris De Gussem <kris.degussem@gmail.com> | 2012-05-01 18:38:40 +0000 |
|---|---|---|
| committer | Kris <Kris.De.Gussem@hotmail.com> | 2012-05-01 18:38:40 +0000 |
| commit | c7a53e27cb0b38f2cfe659f79d3f1bc122e51b6d (patch) | |
| tree | cfda2fd3a2daa5f56e13d1b99949c7d0c7573c97 /src/extension/dependency.cpp | |
| parent | fix extension path scan (Bug #801568 ; patch of Patrick Monnerat) (diff) | |
| download | inkscape-c7a53e27cb0b38f2cfe659f79d3f1bc122e51b6d.tar.gz inkscape-c7a53e27cb0b38f2cfe659f79d3f1bc122e51b6d.zip | |
extensions: string class usage
(bzr r11313)
Diffstat (limited to 'src/extension/dependency.cpp')
| -rw-r--r-- | src/extension/dependency.cpp | 24 |
1 files changed, 7 insertions, 17 deletions
diff --git a/src/extension/dependency.cpp b/src/extension/dependency.cpp index 9490381c0..f53dc93b4 100644 --- a/src/extension/dependency.cpp +++ b/src/extension/dependency.cpp @@ -141,7 +141,7 @@ Dependency::check (void) const filetest |= Glib::FILE_TEST_IS_EXECUTABLE; } - std::string location(_string); + Glib::ustring location(_string); switch (_location) { case LOCATION_EXTENSIONS: { for (unsigned int i=0; i<Inkscape::Extension::Extension::search_path.size(); i++) { @@ -173,8 +173,8 @@ Dependency::check (void) const gchar * orig_path = path; for (; path != NULL;) { - gchar * local_path; - gchar * final_name; + gchar * local_path; // to have the path after detection of the separator + Glib::ustring final_name; local_path = path; path = g_utf8_strchr(path, -1, G_SEARCHPATH_SEPARATOR); @@ -187,39 +187,29 @@ Dependency::check (void) const } if (*local_path == '\0') { - final_name = g_strdup(_string); + final_name = _string; } else { - final_name = g_build_filename(local_path, _string, NULL); + final_name = Glib::build_filename(local_path, _string); } if (Glib::file_test(final_name, filetest)) { - g_free(final_name); g_free(orig_path); return TRUE; } // give it a 2nd try with ".exe" added - gchar * final_name_exe = g_strdup_printf("%s.exe", final_name); + Glib::ustring final_name_exe = final_name + ".exe"; if (Glib::file_test(final_name_exe, filetest)) { - g_free(final_name); - g_free(final_name_exe); g_free(orig_path); return TRUE; } - g_free(final_name_exe); // and a 3rd try with ".cmd" added (mainly for UniConvertor) - gchar * final_name_cmd = g_strdup_printf("%s.cmd", final_name); + Glib::ustring final_name_cmd = final_name + ".cmd"; if (Glib::file_test(final_name_cmd, filetest)) { - g_free(final_name); - g_free(final_name_cmd); g_free(orig_path); return TRUE; } - g_free(final_name_cmd); - - // give up - g_free(final_name); } g_free(orig_path); |
