diff options
author | Bastien Nocera <hadess@hadess.net> | 2015-12-01 16:17:02 +0100 |
---|---|---|
committer | Bastien Nocera <hadess@hadess.net> | 2015-12-14 11:39:50 +0100 |
commit | 6d68858dad2afbc0662021f9ca4d7167d79fb48a (patch) | |
tree | ef51273f2ead6f96d3470feb6ecf470254e45435 | |
parent | 539cf42ce0a7f6f6fc4698b12bd0845a711957af (diff) |
core: Remove trailing '/' from GrlMedia IDs
grl-launch-0.3 -S browse -k title grlbox://grl-tracker-source/videos/
should have the same output as:
grl-launch-0.3 -S browse -k title grlbox://grl-tracker-source/videos
The first would get its ID parsed to "videos/" whereas the second would
be parsed to "videos". Chomp the trailing '/'.
https://bugzilla.gnome.org/show_bug.cgi?id=758654
-rw-r--r-- | src/data/grl-media.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/data/grl-media.c b/src/data/grl-media.c index e87882d..5043a6d 100644 --- a/src/data/grl-media.c +++ b/src/data/grl-media.c @@ -35,6 +35,7 @@ #include "grl-media.h" #include <grilo.h> #include <stdlib.h> +#include <string.h> #define GRL_LOG_DOMAIN_DEFAULT media_log_domain GRL_LOG_DOMAIN(media_log_domain); @@ -551,6 +552,9 @@ grl_media_unserialize (const gchar *serial) /* Add id */ escaped_value = g_match_info_fetch (match_info, 3); if (escaped_value && escaped_value[0] == '/') { + guint len = strlen (escaped_value); + if (len > 2 && escaped_value[len - 1] == '/') + escaped_value[len - 1] = '\0'; value = g_uri_unescape_string (escaped_value + 1, NULL); grl_media_set_id (media, value); g_free (value); |