X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=zpm-note.c;h=927f30a45b8443ed6c93f92a25ae2061fdef35c7;hb=17744ae701e5a543ee6fe0d752330f1bbef56a42;hp=05ecda22c95901b3d4f46afd8068ddc2c58a1630;hpb=c1a1e0d495dcfba9577e6cc703745d3f5b03102f;p=zpackage diff --git a/zpm-note.c b/zpm-note.c index 05ecda2..927f30a 100644 --- a/zpm-note.c +++ b/zpm-note.c @@ -12,11 +12,15 @@ void usage(void) { fprintf(stderr, "zpm-note [-I] [-s ...] [-S ] [package]\n"); } +void print_note(struct zpm_note *n) { + printf("%" PRId64 " %s %s\n", n->id, n->pkgid ? n->pkgid : "-", n->note); +} + int main(int ac, char **av){ int opt; struct zpm pkg; char *dbfile; - int fail; + int fail, echo = 0; int select = 1; @@ -38,13 +42,14 @@ int main(int ac, char **av){ * -H hash * -a all * -m note message, otherwise EDITOR/vi to edit a text file + * -e echo note after creating * zpm note -p pkgid -P path -H hash -m 'foo' * zpm note -l * zpm note -D * zpm note -A */ int list = 0, delete = 0, ack = 0; - while ((opt = getopt(ac, av, "f:p:P:H:m:n:lDAa")) != -1) { + while ((opt = getopt(ac, av, "f:p:P:H:m:n:lDAae")) != -1) { switch (opt) { case 'f': dbfile = optarg; break; case 'p': n.pkgid = optarg; break; @@ -53,6 +58,7 @@ int main(int ac, char **av){ case 'm': n.note = optarg; break; case 'n': n.id = strtoll(optarg, NULL, 10); break; case 'l': list = 1; break; + case 'e': echo = 1; break; case 'D': delete = 1; break; case 'A': ack = 1; break; case 'a': select = 3; break; @@ -75,15 +81,17 @@ int main(int ac, char **av){ if (zpm_open(&pkg, dbfile)) { if (list) { while (zpm_note(&pkg, &n, select)) { - printf("%" PRId64 " %s %s\n", n.id, - n.pkgid ? n.pkgid : "-", - n.note); + print_note(&n); zpm_note_free(&n); } } else if (n.note) { n.id = zpm_note_add(&pkg, n.pkgid, n.path, n.hash, "%s", n.note); if (n.id) { - printf("%" PRId64 "\n", n.id); + if (echo) { + print_note(&n); + } else { + printf("%" PRId64 "\n", n.id); + } } else { fprintf(stderr, "unable to create note\n"); pkg.error = 1;