projects
/
onak.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
cscvs to tla changeset 34
[onak.git]
/
onak.c
diff --git
a/onak.c
b/onak.c
index 87b65e806ade99f0bc3cfb94dedfad709333070e..7a50d7a728feca5b019291eef9050c870be1b838 100644
(file)
--- a/
onak.c
+++ b/
onak.c
@@
-92,21
+92,27
@@
int main(int argc, char *argv[])
uint64_t keyid = 0;
bool ishex = false;
bool verbose = false;
uint64_t keyid = 0;
bool ishex = false;
bool verbose = false;
+ bool update = false;
bool binary = false;
int optchar;
bool binary = false;
int optchar;
- while ((optchar = getopt(argc, argv, "bv")) != -1 ) {
+ while ((optchar = getopt(argc, argv, "b
u
v")) != -1 ) {
switch (optchar) {
case 'b':
binary = true;
break;
switch (optchar) {
case 'b':
binary = true;
break;
+ case 'u':
+ update = true;
+ break;
case 'v':
verbose = true;
break;
}
}
case 'v':
verbose = true;
break;
}
}
+ readconfig();
+
if ((argc - optind) < 1) {
usage();
} else if (!strcmp("add", argv[optind])) {
if ((argc - optind) < 1) {
usage();
} else if (!strcmp("add", argv[optind])) {
@@
-126,6
+132,16
@@
int main(int argc, char *argv[])
initdb();
fprintf(stderr, "Got %d new keys.\n",
update_keys(&keys, verbose));
initdb();
fprintf(stderr, "Got %d new keys.\n",
update_keys(&keys, verbose));
+ if (keys != NULL && update) {
+ flatten_publickey(keys,
+ &packets,
+ &list_end);
+ armor_openpgp_stream(stdout_putchar,
+ NULL,
+ packets);
+ free_packet_list(packets);
+ packets = NULL;
+ }
cleanupdb();
} else {
rc = 1;
cleanupdb();
} else {
rc = 1;
@@
-167,6
+183,8
@@
int main(int argc, char *argv[])
armor_openpgp_stream(stdout_putchar,
NULL,
packets);
armor_openpgp_stream(stdout_putchar,
NULL,
packets);
+ free_packet_list(packets);
+ packets = NULL;
} else {
puts("Key not found");
}
} else {
puts("Key not found");
}