X-Git-Url: https://git.distorted.org.uk/~mdw/catacomb/blobdiff_plain/0f00dc4c8eb47e67bc0f148c2dd109f73a451e0a..f5e84ec9d76d027f395687277fb734191fa41b7e:/key/key-io.c diff --git a/key/key-io.c b/key/key-io.c index df7cd53f..5a7ce5c3 100644 --- a/key/key-io.c +++ b/key/key-io.c @@ -139,7 +139,7 @@ static int insert(key_file *f, key *k) * Use: Translates an expiry or deletion time. */ -time_t exptime(const char *p) +static time_t exptime(const char *p) { size_t sz = strlen(p); if (strncmp(p, "expired", sz) == 0) @@ -352,7 +352,7 @@ int key_extract(key_file *f, key *k, FILE *fp, const key_filter *kf) key_fulltag(k, &d); DPUTC(&d, ' '); - key_write(k->k, &d, kf); + if (!key_write(k->k, &d, kf)) dstr_puts(&d, "struct:[]"); DPUTC(&d, ' '); dstr_write(&d, fp); DRESET(&d); @@ -439,7 +439,7 @@ int key_open(key_file *f, const char *file, unsigned how, if ((how & KOPEN_MASK) == KOPEN_READ) { f->f &= ~KF_WRITE; - fclose(f->fp); + if (f->fp) fclose(f->fp); f->fp = 0; } @@ -552,12 +552,12 @@ int key_new(key_file *f, uint32 id, const char *type, time_t exp, key **kk) k->exp = k->del = exp; k->c = 0; k->type = (char *)type; /* temporarily */ - sym_create(&k->a); if ((e = insert(f, k)) != 0) DESTROY(k); else { k->k = key_newstring(KCAT_SHARE, ""); k->type = xstrdup(type); + sym_create(&k->a); *kk = k; f->f |= KF_MODIFIED; }