summaryrefslogtreecommitdiff
path: root/framebuffer/gui.c
diff options
context:
space:
mode:
authorVincent Sanders <vince@kyllikki.org>2014-01-16 00:01:25 +0000
committerVincent Sanders <vince@kyllikki.org>2014-01-16 00:01:25 +0000
commit38cb39339a8f1f9a0afb69340a404fd767db5a79 (patch)
tree0b5ed63f639e8d8e66011a425ee595545b74300d /framebuffer/gui.c
parentbd065d4a434755e67642a071e255cba596de8d1e (diff)
downloadnetsurf-38cb39339a8f1f9a0afb69340a404fd767db5a79.tar.gz
netsurf-38cb39339a8f1f9a0afb69340a404fd767db5a79.tar.bz2
move filename_from_path and path_add_part into gui operation tables
Diffstat (limited to 'framebuffer/gui.c')
-rw-r--r--framebuffer/gui.c39
1 files changed, 39 insertions, 0 deletions
diff --git a/framebuffer/gui.c b/framebuffer/gui.c
index b2edc030a..76ed397d3 100644
--- a/framebuffer/gui.c
+++ b/framebuffer/gui.c
@@ -1767,6 +1767,43 @@ gui_window_remove_caret(struct gui_window *g)
}
}
+/**
+ * Return the filename part of a full path
+ *
+ * \param path full path and filename
+ * \return filename (will be freed with free())
+ */
+static char *filename_from_path(char *path)
+{
+ char *leafname;
+
+ leafname = strrchr(path, '/');
+ if (!leafname)
+ leafname = path;
+ else
+ leafname += 1;
+
+ return strdup(leafname);
+}
+
+/**
+ * Add a path component/filename to an existing path
+ *
+ * \param path buffer containing path + free space
+ * \param length length of buffer "path"
+ * \param newpart string containing path component to add to path
+ * \return true on success
+ */
+
+static bool path_add_part(char *path, int length, const char *newpart)
+{
+ if(path[strlen(path) - 1] != '/')
+ strncat(path, "/", length);
+
+ strncat(path, newpart, length);
+
+ return true;
+}
static struct gui_window_table framebuffer_window_table = {
.create = gui_window_create,
@@ -1791,6 +1828,8 @@ static struct gui_browser_table framebuffer_browser_table = {
.poll = gui_poll,
.quit = gui_quit,
.get_resource_url = gui_get_resource_url,
+ .filename_from_path = filename_from_path,
+ .path_add_part = path_add_part,
};
/** Entry point from OS.