* tfcrypt -- high security Threefish encryption tool.
*
* tfcrypt is copyrighted:
- * Copyright (C) 2012-2018 Andrey Rys. All rights reserved.
+ * Copyright (C) 2012-2019 Andrey Rys. All rights reserved.
*
* tfcrypt is licensed to you under the terms of std. MIT/X11 license:
*
size_t lblock, lio, lrem;
tfc_byte *pblk;
+ xexit_no_nl = YES;
+
for (x = 1; x < NSIG; x++) signal(x, SIG_IGN);
memset(&sigact, 0, sizeof(sigact));
sigact.sa_flags = SA_RESTART;
sigact.sa_handler = print_crypt_status;
sigaction(SIGUSR1, &sigact, NULL);
- sigaction(SIGTSTP, &sigact, NULL);
sigaction(SIGALRM, &sigact, NULL);
- if (status_timer) setup_next_alarm(status_timer);
+ if (status_timer) setup_next_alarm(status_timer > 1000000 ? 1000000 : status_timer);
sigact.sa_handler = change_status_width;
sigaction(SIGQUIT, &sigact, NULL);
sigact.sa_handler = change_status_timer;
sigact.sa_handler = print_crypt_status;
sigaction(SIGINT, &sigact, NULL);
sigaction(SIGTERM, &sigact, NULL);
+ sigaction(SIGTSTP, &sigact, NULL);
}
else {
sigact.sa_handler = exit_sigterm;
sigaction(SIGINT, &sigact, NULL);
sigaction(SIGTERM, &sigact, NULL);
+ sigact.sa_handler = handle_sigtstp;
+ sigaction(SIGTSTP, &sigact, NULL);
}
memset(&sigact, 0, sizeof(struct sigaction));
if (offset) {
if (lseek(fd, offset, SEEK_SET) == -1)
- xerror(YES, NO, NO, "%s: seek failed", foutname);
+ xerror(ignore_seek_errors, NO, NO, "%s: seek failed", foutname);
}
if (ctr_mode == TFC_MODE_PLAIN) memset(srcblk, 0, sizeof(srcblk));
if (verbose) tfc_nfsay(stderr, "%s: writing %lld bytes to %s ... ",
- progname, nrbytes, foutname);
+ tfc_format_pid(progname), nrbytes, foutname);
errno = 0;
do_stop = NO;
if (verbose) tfc_esay("done!");
if (verbose || status_timer) print_crypt_status(0);
+ if (verbose) tfc_esay("\n");
xclose(fd);
xexit(0);