diff options
author | Dan McGee <dan@archlinux.org> | 2012-04-12 08:57:26 -0500 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2012-04-12 08:57:26 -0500 |
commit | d7b728591ad68712be2c0ade7c2dd8e45bc2dfed (patch) | |
tree | 679076addb5e80513151236151c4735e75cdee48 /lib/libalpm/dload.c | |
parent | 6a8e50a69ec419cc95ee513cd2e73944c4ac57f9 (diff) | |
parent | ded66fbb62cdad37d577dc048e37f7cea7f7a4da (diff) |
Merge branch 'maint'
Diffstat (limited to 'lib/libalpm/dload.c')
-rw-r--r-- | lib/libalpm/dload.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/lib/libalpm/dload.c b/lib/libalpm/dload.c index b3ac024c..49bfa26f 100644 --- a/lib/libalpm/dload.c +++ b/lib/libalpm/dload.c @@ -335,9 +335,9 @@ static void mask_signal(int signal, void (*handler)(int), sigaction(signal, &newaction, NULL); } -static void unmask_signal(int signal, struct sigaction sa) +static void unmask_signal(int signal, struct sigaction *sa) { - sigaction(signal, &sa, NULL); + sigaction(signal, sa, NULL); } static FILE *create_tempfile(struct dload_payload *payload, const char *localpath) @@ -405,7 +405,8 @@ static int curl_download_internal(struct dload_payload *payload, RET_ERR(handle, ALPM_ERR_SERVER_BAD_URL, -1); } - if(strlen(payload->remote_name) > 0 && strcmp(payload->remote_name, ".sig") != 0) { + if(payload->remote_name && strlen(payload->remote_name) > 0 && + strcmp(payload->remote_name, ".sig") != 0) { payload->destfile_name = get_fullpath(localpath, payload->remote_name, ""); payload->tempfile_name = get_fullpath(localpath, payload->remote_name, ".part"); if(!payload->destfile_name || !payload->tempfile_name) { @@ -582,8 +583,8 @@ cleanup: } /* restore the old signal handlers */ - unmask_signal(SIGINT, orig_sig_int); - unmask_signal(SIGPIPE, orig_sig_pipe); + unmask_signal(SIGINT, &orig_sig_int); + unmask_signal(SIGPIPE, &orig_sig_pipe); /* if we were interrupted, trip the old handler */ if(dload_interrupted) { raise(SIGINT); |