[libdazzle/libdazzle-3-26] css: handle base paths with trailing /



commit 8eb7535c99940e82d689c868177c3a2f459de7d4
Author: Christian Hergert <chergert redhat com>
Date:   Mon Nov 13 05:24:05 2017 -0800

    css: handle base paths with trailing /
    
    We don't want the / so that we can use g_strdup_printf() to
    build paths later on, without an extra allocation.

 src/theming/dzl-css-provider.c |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)
---
diff --git a/src/theming/dzl-css-provider.c b/src/theming/dzl-css-provider.c
index 718901a..640dc88 100644
--- a/src/theming/dzl-css-provider.c
+++ b/src/theming/dzl-css-provider.c
@@ -282,8 +282,18 @@ dzl_css_provider_set_property (GObject      *object,
   switch (prop_id)
     {
     case PROP_BASE_PATH:
-      self->base_path = g_value_dup_string (value);
-      break;
+      {
+        const gchar *str = g_value_get_string (value);
+        gsize len = str ? strlen (str) : 0;
+
+        /* Ignore trailing slash to simplify building paths */
+        if (str && len && str[len-1] == '/')
+          self->base_path = g_strndup (str, len - 1);
+        else
+          self->base_path = g_strdup (str);
+
+        break;
+      }
 
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]