summaryrefslogtreecommitdiffstats
path: root/src/extension/dependency.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/extension/dependency.cpp')
-rw-r--r--src/extension/dependency.cpp24
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);