diff options
author | portix <none@none> | 2012-07-17 21:18:01 +0200 |
---|---|---|
committer | portix <none@none> | 2012-07-17 21:18:01 +0200 |
commit | 6bf9b552b0b102c0106e8b173f63b5cd1da5fc75 (patch) | |
tree | c407f08d85043443d531e1664eb16a7cd13850a3 /src | |
parent | ba2f8de50728d4ff8d1026b39bbdfa7d390874c9 (diff) | |
parent | bec6b431b3d5266b73d6fb76956a81e813733049 (diff) | |
download | dwb-6bf9b552b0b102c0106e8b173f63b5cd1da5fc75.zip |
Automated merge with ssh://bitbucket.org/portix/dwb
Diffstat (limited to 'src')
-rw-r--r-- | src/download.c | 3 | ||||
-rw-r--r-- | src/util.c | 9 | ||||
-rw-r--r-- | src/util.h | 1 |
3 files changed, 13 insertions, 0 deletions
diff --git a/src/download.c b/src/download.c index 81827283..9f748489 100644 --- a/src/download.c +++ b/src/download.c @@ -390,6 +390,9 @@ download_start(const char *path) { WebKitNetworkRequest *request = webkit_download_get_network_request(dwb.state.download); dwb.state.download = webkit_download_new(request); + char escape_buffer[255]; + filename = util_normalize_filename(escape_buffer, filename, 255); + if (EMIT_SCRIPT(DOWNLOAD_START)) { if (dwb.state.dl_action == DL_ACTION_EXECUTE) { json = util_create_json(4, @@ -331,6 +331,15 @@ util_expand_home(char *buffer, const char *filename, size_t length) { strncpy(buffer, filename, length); return buffer; } +char * +util_normalize_filename(char *buffer, const char *filename, size_t length) { + char *tmp = buffer; + for (int i=0; *filename != 0 && i<length-1; i++, filename++, buffer++) { + *buffer = *filename == '/' ? '_' : *filename; + } + *buffer = 0; + return tmp; +} /* util_set_file_content(const char *filename, const char *content) {{{*/ gboolean util_set_file_content(const char *filename, const char *content) { @@ -49,6 +49,7 @@ int util_web_settings_sort_first(WebSettings *, WebSettings *); // files char * util_expand_home(char *buffer, const char *filename, size_t length); +char * util_normalize_filename(char *buffer, const char *filename, size_t length); void util_get_directory_content(GString *, const char *, const char *extension); char * util_get_file_content(const char *); char ** util_get_lines(const char *); |