X-Git-Url: https://git.distorted.org.uk/~mdw/catacomb/blobdiff_plain/9b1663a5574182a66c6de8ad2fce7b3e4cbf277b..403e8ab1a17561b95d70cf307aa4f3a87d53decc:/progs/catsign.c diff --git a/progs/catsign.c b/progs/catsign.c index 47a951e7..3cce9c93 100644 --- a/progs/catsign.c +++ b/progs/catsign.c @@ -40,6 +40,7 @@ #include #include +#include #include #include #include @@ -394,7 +395,6 @@ static void sigtobuffer(sigmsg *s, buf *b, int hashp) static void dohash(ghash *h, const void *p, size_t n) { -/* trace_block(1, "hashing", p, n); */ GH_HASH(h, p, n); } @@ -436,11 +436,12 @@ static void sig_writeheader(enc *e, sigmsg *s) static void sig_writesig(enc *e, sigmsg *s) { chunk_write(e, s->sig.buf, s->sig.len); } -static void diechoke(const char *m, void *p) +static void NORETURN diechoke(const char *m, void *p) { die(EXIT_FAILURE, "%s%s%s", (const char *)p, p ? ": " : "", m); } static void sig_readheader(enc *e, sigmsg *s, - void (*choke)(const char *, void *), void *p) + void NORETURN (*choke)(const char *, void *), + void *p) { uint16 f; octet bb[MSGBUFSZ]; @@ -613,7 +614,7 @@ static int vrfbdry(const char *b, void *p) return (0); } -static void vrfchoke(const char *m, void *p) +static void NORETURN vrfchoke(const char *m, void *p) { vrfctx *v = p; if (v->verb) printf("FAIL %s: %s\n", v->what, m); @@ -714,7 +715,7 @@ static int verify(int argc, char *argv[]) (unsigned long)s.keyid); exit(EXIT_FAILURE); } - if (kk && k->id != kk->id) { + if (kk && k != kk) { if (v.verb) { dstr_reset(&d); key_fulltag(k, &d); dstr_reset(&dd); key_fulltag(kk, &dd); @@ -748,14 +749,14 @@ static int verify(int argc, char *argv[]) } else if (!of || strcmp(of, "-") == 0) { v.f |= F_BUFFER; ofp = stdout; - } - if (of && !(v.f & F_BUFFER)) { + } else if (of && !(v.f & F_BUFFER)) { if ((ofp = fopen(of, (v.f & F_BINARY) ? "wb" : "w")) == 0) { die(EXIT_FAILURE, "couldn't open file `%s' for output: %s", of, strerror(errno)); } rfp = ofp; - } else if ((rfp = tmpfile()) == 0) + } + if ((v.f & F_BUFFER) && (rfp = tmpfile()) == 0) die(EXIT_FAILURE, "couldn't create temporary file: %s", strerror(errno)); /* --- Read the message and verify the signature --- */ @@ -984,7 +985,7 @@ static int format(int argc, char *argv[]) return (0); } -static void infochoke(const char *m, void *p) +static void NORETURN infochoke(const char *m, void *p) { vrfctx *v = p; printf("BAD %s: %s\n", v->what, m); @@ -1220,7 +1221,6 @@ int main(int argc, char *argv[]) sub_init(); rand_noisesrc(RAND_GLOBAL, &noise_source); rand_seed(RAND_GLOBAL, 160); -/* trace_on(stderr, 1); */ /* --- Parse options --- */