summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Persch <chpe@gnome.org>2013-06-01 19:07:55 +0200
committerChristian Persch <chpe@gnome.org>2013-06-01 19:07:55 +0200
commit89f6741d8e0ce481b7ec188043e26488edb5a455 (patch)
tree96a2e201c24fd063681b40dda1c6e634288290da
parent4100d11e579108289f7e3c994865e77aa7c35422 (diff)
downloadvte-89f6741d8e0ce481b7ec188043e26488edb5a455.tar.gz
emulation: Allow unsetting the current-{directory,file}-uri
By passing "" (or an invalid, non-URI value), unset the property.
-rw-r--r--src/vteseq.c32
1 files changed, 18 insertions, 14 deletions
diff --git a/src/vteseq.c b/src/vteseq.c
index 6a60bcd8..efd28ac6 100644
--- a/src/vteseq.c
+++ b/src/vteseq.c
@@ -2564,13 +2564,15 @@ vte_sequence_handler_set_current_directory_uri (VteTerminal *terminal, GValueArr
}
/* Validate URI */
- filename = g_filename_from_uri (uri, NULL, NULL);
- if (filename == NULL) {
- /* invalid URI */
- g_free (uri);
- uri = NULL;
- } else {
- g_free (filename);
+ if (uri && uri[0]) {
+ filename = g_filename_from_uri (uri, NULL, NULL);
+ if (filename == NULL) {
+ /* invalid URI */
+ g_free (uri);
+ uri = NULL;
+ } else {
+ g_free (filename);
+ }
}
g_free(terminal->pvt->current_directory_uri_changed);
@@ -2596,13 +2598,15 @@ vte_sequence_handler_set_current_file_uri (VteTerminal *terminal, GValueArray *p
}
/* Validate URI */
- filename = g_filename_from_uri (uri, NULL, NULL);
- if (filename == NULL) {
- /* invalid URI */
- g_free (uri);
- uri = NULL;
- } else {
- g_free (filename);
+ if (uri && uri[0]) {
+ filename = g_filename_from_uri (uri, NULL, NULL);
+ if (filename == NULL) {
+ /* invalid URI */
+ g_free (uri);
+ uri = NULL;
+ } else {
+ g_free (filename);
+ }
}
g_free(terminal->pvt->current_file_uri_changed);