diff options
author | Vincent Sanders <vince@kyllikki.org> | 2014-01-16 00:01:25 +0000 |
---|---|---|
committer | Vincent Sanders <vince@kyllikki.org> | 2014-01-16 00:01:25 +0000 |
commit | 38cb39339a8f1f9a0afb69340a404fd767db5a79 (patch) | |
tree | 0b5ed63f639e8d8e66011a425ee595545b74300d /monkey/main.c | |
parent | bd065d4a434755e67642a071e255cba596de8d1e (diff) | |
download | netsurf-38cb39339a8f1f9a0afb69340a404fd767db5a79.tar.gz netsurf-38cb39339a8f1f9a0afb69340a404fd767db5a79.tar.bz2 |
move filename_from_path and path_add_part into gui operation tables
Diffstat (limited to 'monkey/main.c')
-rw-r--r-- | monkey/main.c | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/monkey/main.c b/monkey/main.c index 22aaf1e06..1922393a8 100644 --- a/monkey/main.c +++ b/monkey/main.c @@ -114,12 +114,53 @@ static bool nslog_stream_configure(FILE *fptr) return true; } +/** + * 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_browser_table monkey_browser_table = { .poll = monkey_poll, .quit = monkey_quit, .get_resource_url = gui_get_resource_url, .launch_url = gui_launch_url, .cert_verify = gui_cert_verify, + .filename_from_path = filename_from_path, + .path_add_part = path_add_part, }; int |