diff options
Diffstat (limited to 'src/tools')
-rw-r--r-- | src/tools/http_download.c | 54 | ||||
-rw-r--r-- | src/tools/http_download.h | 17 | ||||
-rw-r--r-- | src/tools/http_upload.c | 31 | ||||
-rw-r--r-- | src/tools/http_upload.h | 19 |
4 files changed, 64 insertions, 57 deletions
diff --git a/src/tools/http_download.c b/src/tools/http_download.c index 3d4003f9..09e6bb6e 100644 --- a/src/tools/http_download.c +++ b/src/tools/http_download.c @@ -58,12 +58,12 @@ #define FALLBACK_MSG "" -GSList *download_processes = NULL; +GSList* download_processes = NULL; static int -_xferinfo(void *userdata, curl_off_t dltotal, curl_off_t dlnow, curl_off_t ultotal, curl_off_t ulnow) +_xferinfo(void* userdata, curl_off_t dltotal, curl_off_t dlnow, curl_off_t ultotal, curl_off_t ulnow) { - HTTPDownload *download = (HTTPDownload *)userdata; + HTTPDownload* download = (HTTPDownload*)userdata; pthread_mutex_lock(&lock); @@ -84,7 +84,7 @@ _xferinfo(void *userdata, curl_off_t dltotal, curl_off_t dlnow, curl_off_t ultot dlperc = (100 * dlnow) / dltotal; } - char *msg; + char* msg; if (asprintf(&msg, "Downloading '%s': %d%%", download->url, dlperc) == -1) { msg = strdup(FALLBACK_MSG); } @@ -98,20 +98,20 @@ _xferinfo(void *userdata, curl_off_t dltotal, curl_off_t dlnow, curl_off_t ultot #if LIBCURL_VERSION_NUM < 0x072000 static int -_older_progress(void *p, double dltotal, double dlnow, double ultotal, double ulnow) +_older_progress(void* p, double dltotal, double dlnow, double ultotal, double ulnow) { return _xferinfo(p, (curl_off_t)dltotal, (curl_off_t)dlnow, (curl_off_t)ultotal, (curl_off_t)ulnow); } #endif -void * -http_file_get(void *userdata) +void* +http_file_get(void* userdata) { - HTTPDownload *download = (HTTPDownload *)userdata; + HTTPDownload* download = (HTTPDownload*)userdata; - char *err = NULL; + char* err = NULL; - CURL *curl; + CURL* curl; CURLcode res; download->cancel = 0; @@ -125,7 +125,7 @@ http_file_get(void *userdata) win_print_http_transfer(download->window, msg, download->url); free(msg); - char *cert_path = prefs_get_string(PREF_TLS_CERTPATH); + char* cert_path = prefs_get_string(PREF_TLS_CERTPATH); pthread_mutex_unlock(&lock); curl_global_init(CURL_GLOBAL_ALL); @@ -133,16 +133,16 @@ http_file_get(void *userdata) curl_easy_setopt(curl, CURLOPT_URL, download->url); - #if LIBCURL_VERSION_NUM >= 0x072000 +#if LIBCURL_VERSION_NUM >= 0x072000 curl_easy_setopt(curl, CURLOPT_XFERINFOFUNCTION, _xferinfo); curl_easy_setopt(curl, CURLOPT_XFERINFODATA, download); - #else +#else curl_easy_setopt(curl, CURLOPT_PROGRESSFUNCTION, _older_progress); curl_easy_setopt(curl, CURLOPT_PROGRESSDATA, download); - #endif +#endif curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 0L); - curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void *)download->filehandle); + curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void*)download->filehandle); curl_easy_setopt(curl, CURLOPT_USERAGENT, "profanity"); @@ -165,7 +165,7 @@ http_file_get(void *userdata) g_free(cert_path); if (err) { - char *msg; + char* msg; if (download->cancel) { if (asprintf(&msg, "Downloading '%s' failed: Download was canceled", download->url) == -1) { msg = strdup(FALLBACK_MSG); @@ -200,11 +200,11 @@ http_file_get(void *userdata) } void -http_download_cancel_processes(ProfWin *window) +http_download_cancel_processes(ProfWin* window) { - GSList *download_process = download_processes; + GSList* download_process = download_processes; while (download_process) { - HTTPDownload *download = download_process->data; + HTTPDownload* download = download_process->data; if (download->window == window) { download->cancel = 1; break; @@ -214,21 +214,23 @@ http_download_cancel_processes(ProfWin *window) } void -http_download_add_download(HTTPDownload *download) +http_download_add_download(HTTPDownload* download) { download_processes = g_slist_append(download_processes, download); } -char *http_basename_from_url(const char *url) { - const char *default_name = "index.html"; +char* +http_basename_from_url(const char* url) +{ + const char* default_name = "index.html"; - GFile *file = g_file_new_for_uri(url); - char *filename = g_file_get_basename(file); + GFile* file = g_file_new_for_uri(url); + char* filename = g_file_get_basename(file); g_object_unref(file); if (g_strcmp0(filename, ".") == 0 - || g_strcmp0(filename, "..") == 0 - || g_strcmp0(filename, G_DIR_SEPARATOR_S) == 0) { + || g_strcmp0(filename, "..") == 0 + || g_strcmp0(filename, G_DIR_SEPARATOR_S) == 0) { g_free(filename); return strdup(default_name); } diff --git a/src/tools/http_download.h b/src/tools/http_download.h index 868b99f2..ba8b5023 100644 --- a/src/tools/http_download.h +++ b/src/tools/http_download.h @@ -46,20 +46,21 @@ #include "ui/win_types.h" -typedef struct http_download_t { - char *url; - FILE *filehandle; +typedef struct http_download_t +{ + char* url; + FILE* filehandle; curl_off_t bytes_received; - ProfWin *window; + ProfWin* window; pthread_t worker; int cancel; } HTTPDownload; -void* http_file_get(void *userdata); +void* http_file_get(void* userdata); -void http_download_cancel_processes(ProfWin *window); -void http_download_add_download(HTTPDownload *download); +void http_download_cancel_processes(ProfWin* window); +void http_download_add_download(HTTPDownload* download); -char *http_basename_from_url(const char *url); +char* http_basename_from_url(const char* url); #endif diff --git a/src/tools/http_upload.c b/src/tools/http_upload.c index 2fb32062..fcdd582a 100644 --- a/src/tools/http_upload.c +++ b/src/tools/http_upload.c @@ -128,9 +128,11 @@ _data_callback(void* ptr, size_t size, size_t nmemb, void* data) return realsize; } -int format_alt_url(char *original_url, char *new_scheme, char *new_fragment, char **new_url) { +int +format_alt_url(char* original_url, char* new_scheme, char* new_fragment, char** new_url) +{ int ret = 0; - CURLU *h = curl_url(); + CURLU* h = curl_url(); if ((ret = curl_url_set(h, CURLUPART_URL, original_url, 0)) != 0) { goto out; @@ -155,12 +157,12 @@ out: return ret; } -void * -http_file_put(void *userdata) +void* +http_file_put(void* userdata) { HTTPUpload* upload = (HTTPUpload*)userdata; - FILE *fh = NULL; + FILE* fh = NULL; char* err = NULL; char* content_type_header; @@ -283,10 +285,10 @@ http_file_put(void *userdata) win_mark_received(upload->window, upload->put_url); free(msg); - char *url = NULL; + char* url = NULL; if (format_alt_url(upload->get_url, upload->alt_scheme, upload->alt_fragment, &url) != 0) { - char *msg; - if (asprintf(&msg, "Uploading '%s' failed: Bad URL ('%s')", upload->filename, upload->get_url)== -1) { + char* msg; + if (asprintf(&msg, "Uploading '%s' failed: Bad URL ('%s')", upload->filename, upload->get_url) == -1) { msg = strdup(FALLBACK_MSG); } cons_show_error(msg); @@ -295,21 +297,21 @@ http_file_put(void *userdata) switch (upload->window->type) { case WIN_CHAT: { - ProfChatWin *chatwin = (ProfChatWin*)(upload->window); + ProfChatWin* chatwin = (ProfChatWin*)(upload->window); assert(chatwin->memcheck == PROFCHATWIN_MEMCHECK); cl_ev_send_msg(chatwin, url, url); break; } case WIN_PRIVATE: { - ProfPrivateWin *privatewin = (ProfPrivateWin*)(upload->window); + ProfPrivateWin* privatewin = (ProfPrivateWin*)(upload->window); assert(privatewin->memcheck == PROFPRIVATEWIN_MEMCHECK); cl_ev_send_priv_msg(privatewin, url, url); break; } case WIN_MUC: { - ProfMucWin *mucwin = (ProfMucWin*)(upload->window); + ProfMucWin* mucwin = (ProfMucWin*)(upload->window); assert(mucwin->memcheck == PROFMUCWIN_MEMCHECK); cl_ev_send_muc_msg(mucwin, url, url); break; @@ -342,14 +344,14 @@ file_mime_type(const char* const filename) { char* out_mime_type; char file_header[FILE_HEADER_BYTES]; - FILE *fh; + FILE* fh; if (!(fh = fopen(filename, "rb"))) { return strdup(FALLBACK_MIMETYPE); } size_t file_header_size = fread(file_header, 1, FILE_HEADER_BYTES, fh); fclose(fh); - char *content_type = g_content_type_guess(filename, (unsigned char*)file_header, file_header_size, NULL); + char* content_type = g_content_type_guess(filename, (unsigned char*)file_header, file_header_size, NULL); if (content_type != NULL) { char* mime_type = g_content_type_get_mime_type(content_type); out_mime_type = strdup(mime_type); @@ -361,7 +363,8 @@ file_mime_type(const char* const filename) return out_mime_type; } -off_t file_size(int filedes) +off_t +file_size(int filedes) { struct stat st; fstat(filedes, &st); diff --git a/src/tools/http_upload.h b/src/tools/http_upload.h index 9e801973..4e95d4d8 100644 --- a/src/tools/http_upload.h +++ b/src/tools/http_upload.h @@ -45,17 +45,18 @@ #include "ui/win_types.h" -typedef struct http_upload_t { - char *filename; - FILE *filehandle; +typedef struct http_upload_t +{ + char* filename; + FILE* filehandle; off_t filesize; curl_off_t bytes_sent; - char *mime_type; - char *get_url; - char *put_url; - char *alt_scheme; - char *alt_fragment; - ProfWin *window; + char* mime_type; + char* get_url; + char* put_url; + char* alt_scheme; + char* alt_fragment; + ProfWin* window; pthread_t worker; int cancel; } HTTPUpload; |