X-Git-Url: http://the.earth.li/gitweb/?a=blobdiff_plain;f=onak.c;h=2da86c915cae8708a192c7f0668cda6bc6eb6076;hb=ce8be6edbed5c435a8f957781a26e6f9eac6fcec;hp=870e1bd57d3fc329483b857114d58b3a835a281e;hpb=dd37c5ea8e61e9bec43d01ff1551202bea7402dc;p=onak.git diff --git a/onak.c b/onak.c index 870e1bd..2da86c9 100644 --- a/onak.c +++ b/onak.c @@ -6,6 +6,8 @@ * Jonathan McDowell * * Copyright 2002 Project Purple + * + * $Id: onak.c,v 1.17 2003/09/30 20:40:11 noodles Exp $ */ #include @@ -14,6 +16,7 @@ #include #include "armor.h" +#include "charfuncs.h" #include "keydb.h" #include "keyid.h" #include "keyindex.h" @@ -24,28 +27,6 @@ #include "onak-conf.h" #include "parsekey.h" -int stdin_getchar(void *ctx, size_t count, unsigned char *c) -{ - int ic; - - do { - ic = getchar(); - *c = ic; - c++; - } while ((ic != EOF) && (--count > 0)); - return (ic == EOF); -} - -int stdout_putchar(void *ctx, size_t count, unsigned char *c) -{ - int i; - - for (i = 0; i < count; i++) { - putchar(c[i]); - } - return 0; -} - void find_keys(char *search, uint64_t keyid, bool ishex, bool fingerprint, bool exact, bool verbose) { @@ -132,7 +113,7 @@ int main(int argc, char *argv[]) } else if (!strcmp("add", argv[optind])) { if (binary) { result = read_openpgp_stream(stdin_getchar, NULL, - &packets); + &packets, 0); logthing(LOGTHING_INFO, "read_openpgp_stream: %d", result); } else { @@ -191,7 +172,10 @@ int main(int argc, char *argv[]) } else if (!strcmp("delete", argv[optind])) { delete_key(getfullkeyid(keyid), false); } else if (!strcmp("get", argv[optind])) { - if (fetch_key(keyid, &keys, false)) { + if (!ishex) { + puts("Can't get a key on uid text." + " You must supply a keyid."); + } else if (fetch_key(keyid, &keys, false)) { logthing(LOGTHING_INFO, "Got key."); flatten_publickey(keys, &packets,