X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=tfc_skein.c;h=a3685783d28333bf58aa5de9b1c32007e8081e9f;hb=HEAD;hp=e2c31f9a2e7d69c35b7f239b2a5057650fed5775;hpb=e16562d4f4180c1364181c92d6d8f285f322f12c;p=tfcrypt.git diff --git a/tfc_skein.c b/tfc_skein.c index e2c31f9..a368578 100644 --- a/tfc_skein.c +++ b/tfc_skein.c @@ -29,6 +29,11 @@ #include "tfcrypt.h" #include "tfcore.h" +static void exit_sigterm_skein(int signal) +{ + exit_sigterm(signal); +} + void skein(void *hash, size_t bits, const void *key, const void *data, size_t szdata) { struct skein sk; @@ -112,7 +117,7 @@ _again: lio = xread(fd, pblk, lrem); skein_final(hash, &sk); if (ctr_mode == TFC_MODE_SKSUM) { if (verbose || status_timer) { - print_crypt_status(-1); + print_crypt_status(TFC_SIGSTAT); tfc_esay("\n"); } total_processed_src = total_processed_dst = delta_processed = 0; @@ -135,8 +140,6 @@ void do_sksum(char *spec, char **fargv) int x = 0, xx; size_t bits; - xexit_no_nl = YES; - if (macbits < TF_MAX_BITS) { bits = macbits; goto _dothat; @@ -179,7 +182,7 @@ _dothat: sigaction(SIGQUIT, &sigact, NULL); sigact.sa_handler = change_status_timer; sigaction(SIGUSR2, &sigact, NULL); - sigact.sa_handler = exit_sigterm; + sigact.sa_handler = exit_sigterm_skein; sigaction(SIGINT, &sigact, NULL); sigaction(SIGTERM, &sigact, NULL); sigact.sa_handler = handle_sigtstp; @@ -219,7 +222,7 @@ _dothat: s = strchr(shash, ' '); if (s && s[1] == ' ') *s = 0; - fd = open(fname, O_RDONLY | O_LARGEFILE); + fd = xxopen(YES, fname, O_RDONLY | O_LARGEFILE); if (fd == -1) { xerror(YES, NO, YES, "%s", fname); exitcode = 1; @@ -271,7 +274,7 @@ _dothat: for (x = 0; fargv[x] && xx; x++) { if (!strcmp(fargv[x], "-")) fd = 0; - else fd = open(fargv[x], O_RDONLY | O_LARGEFILE); + else fd = xxopen(YES, fargv[x], O_RDONLY | O_LARGEFILE); if (fd == -1) { xerror(YES, NO, YES, "%s", fargv[x]); exitcode = 1;