iPrint better URI - sacc - sacc(omys), simple console gopher client Err bitreich.org 70 hgit clone git://bitreich.org/sacc/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/sacc/ URL:git://bitreich.org/sacc/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/sacc/ bitreich.org 70 1Log /scm/sacc/log.gph bitreich.org 70 1Files /scm/sacc/files.gph bitreich.org 70 1Refs /scm/sacc/refs.gph bitreich.org 70 1Tags /scm/sacc/tag bitreich.org 70 1LICENSE /scm/sacc/file/LICENSE.gph bitreich.org 70 i--- Err bitreich.org 70 1commit 3a53a319d4ade0631accac3fd9177e6fbfc49c7f /scm/sacc/commit/3a53a319d4ade0631accac3fd9177e6fbfc49c7f.gph bitreich.org 70 1parent 26bc04284d9becc870a6a036a9a6f9bdfba8ba2a /scm/sacc/commit/26bc04284d9becc870a6a036a9a6f9bdfba8ba2a.gph bitreich.org 70 hAuthor: Quentin Rameau URL:mailto:quinq@fifth.space bitreich.org 70 iDate: Mon, 28 Oct 2019 02:12:50 +0100 Err bitreich.org 70 i Err bitreich.org 70 iPrint better URI Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M ui_ti.c | 20 ++++++++++++++------ Err bitreich.org 70 i M ui_txt.c | 27 ++++++++++++++++++++++----- Err bitreich.org 70 i Err bitreich.org 70 i2 files changed, 36 insertions(+), 11 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/ui_ti.c b/ui_ti.c /scm/sacc/file/ui_ti.c.gph bitreich.org 70 i@@ -218,12 +218,20 @@ displayuri(Item *item) Err bitreich.org 70 i item->selector, item->host, item->port); Err bitreich.org 70 i break; Err bitreich.org 70 i default: Err bitreich.org 70 i- fmt = strcmp(item->port, "70") ? Err bitreich.org 70 i- "gopher://%1$s:%4$s/%2$c%3$s" : Err bitreich.org 70 i- "gopher://%s/%c%s"; Err bitreich.org 70 i- n = snprintf(bufout, sizeof(bufout), fmt, Err bitreich.org 70 i- item->host, item->type, Err bitreich.org 70 i- item->selector, item->port); Err bitreich.org 70 i+ n = snprintf(bufout, sizeof(bufout), "gopher://%s", item->host); Err bitreich.org 70 i+ Err bitreich.org 70 i+ if (n < sizeof(bufout) && strcmp(item->port, "70")) { Err bitreich.org 70 i+ n += snprintf(bufout+n, sizeof(bufout)-n, ":%s", Err bitreich.org 70 i+ item->port); Err bitreich.org 70 i+ } Err bitreich.org 70 i+ if (n < sizeof(bufout)) { Err bitreich.org 70 i+ n += snprintf(bufout+n, sizeof(bufout)-n, "/%c%s", Err bitreich.org 70 i+ item->type, item->selector); Err bitreich.org 70 i+ } Err bitreich.org 70 i+ if (n < sizeof(bufout) && item->type == '7' && item->tag) { Err bitreich.org 70 i+ n += snprintf(bufout+n, sizeof(bufout)-n, " %s", Err bitreich.org 70 i+ item->tag + strlen(item->selector)); Err bitreich.org 70 i+ } Err bitreich.org 70 i break; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 1diff --git a/ui_txt.c b/ui_txt.c /scm/sacc/file/ui_txt.c.gph bitreich.org 70 i@@ -199,11 +199,28 @@ printuri(Item *item, size_t i) Err bitreich.org 70 i item->selector, item->host, item->port); Err bitreich.org 70 i break; Err bitreich.org 70 i default: Err bitreich.org 70 i- fmt = strcmp(item->port, "70") ? Err bitreich.org 70 i- "%1$zu: %2$s: gopher://%3$s:%6$s/%4$c%5$s" : Err bitreich.org 70 i- "%zu: %s: gopher://%s/%c%s"; Err bitreich.org 70 i- n = snprintf(bufout, sizeof(bufout), fmt, i, item->username, Err bitreich.org 70 i- item->host, item->type, item->selector, item->port); Err bitreich.org 70 i+ n = snprintf(bufout, sizeof(bufout), "%zu: ", i); Err bitreich.org 70 i+ Err bitreich.org 70 i+ if (n < sizeof(bufout) && *item->username) { Err bitreich.org 70 i+ n += snprintf(bufout+n, sizeof(bufout)-n, "%s: ", Err bitreich.org 70 i+ item->username); Err bitreich.org 70 i+ } Err bitreich.org 70 i+ if (n < sizeof(bufout)) { Err bitreich.org 70 i+ n += snprintf(bufout+n, sizeof(bufout)-n, "gopher://%s", Err bitreich.org 70 i+ item->host); Err bitreich.org 70 i+ } Err bitreich.org 70 i+ if (n < sizeof(bufout) && strcmp(item->port, "70")) { Err bitreich.org 70 i+ n += snprintf(bufout+n, sizeof(bufout)-n, ":%s", Err bitreich.org 70 i+ item->port); Err bitreich.org 70 i+ } Err bitreich.org 70 i+ if (n < sizeof(bufout)) { Err bitreich.org 70 i+ n += snprintf(bufout+n, sizeof(bufout)-n, "/%c%s", Err bitreich.org 70 i+ item->type, item->selector); Err bitreich.org 70 i+ } Err bitreich.org 70 i+ if (n < sizeof(bufout) && item->type == '7' && item->tag) { Err bitreich.org 70 i+ n += snprintf(bufout+n, sizeof(bufout)-n, " %s", Err bitreich.org 70 i+ item->tag + strlen(item->selector)); Err bitreich.org 70 i+ } Err bitreich.org 70 i break; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 .