# HG changeset patch # User Matti Hamalainen # Date 1352434812 -7200 # Node ID 7bde71a1ea9195b2a3f0f8f290ec92924b919ca2 # Parent 1779967c472aa4e31ed88f32a59590a1f164810c Improve path support. diff -r 1779967c472a -r 7bde71a1ea91 src/xs_support.c --- a/src/xs_support.c Fri Nov 09 06:17:56 2012 +0200 +++ b/src/xs_support.c Fri Nov 09 06:20:12 2012 +0200 @@ -144,9 +144,15 @@ gboolean xs_fload_buffer_path(const gchar *ppath, const gchar *pfilename, guint8 **pbuf, size_t *bufSize, const size_t maxSize, gboolean failMaxSize) { - gchar *filename = g_strdup_printf("%s%s", ppath != NULL ? ppath : "", pfilename); + gchar *filename, *pseparator; gboolean res; + if (pfilename == NULL) + return FALSE; + + pseparator = ppath != NULL ? ((ppath[strlen(ppath)] != '/') ? "/" : "") : ""; + filename = g_strdup_printf("%s%s%s", ppath, pseparator, pfilename); + if (filename == NULL) return FALSE; @@ -156,6 +162,7 @@ return res; } + /* Copy a given string over in *result. */ gint xs_pstrcpy(gchar **result, const gchar *str)