tHandle search (type '7') URIs - sacc - sacc(omys), simple console gopher client (mirror) HTML git clone https://git.parazyd.org/sacc DIR Log DIR Files DIR Refs DIR LICENSE --- DIR commit 3399f31a720905a2ebd03191945307b9aafb0ad4 DIR parent 408fd866df1036c0a51e58a2029dc9c1f41e979c HTML Author: Quentin Rameau <quinq@fifth.space> Date: Tue, 21 Aug 2018 15:12:27 +0200 Handle search (type '7') URIs Diffstat: M sacc.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) --- DIR diff --git a/sacc.c b/sacc.c t@@ -756,8 +756,9 @@ searchitem(Item *entry, Item *item) if (!(sel = searchselector(item))) return 0; - if (sel != item->tag) { + if (sel != item->tag) clearitem(item); + if (!item->dat) { selector = item->selector; item->selector = item->tag = sel; dig(entry, item); t@@ -780,6 +781,7 @@ printout(Item *hole) fputs(hole->raw, stdout); return; case '1': + case '7': if (dig(hole, hole)) printdir(hole); return; t@@ -797,7 +799,6 @@ printout(Item *hole) download(hole, 1); case '2': case '3': - case '7': case '8': case 'T': return; t@@ -902,6 +903,15 @@ moldentry(char *url) entry = xcalloc(sizeof(Item)); entry->type = gopherpath[0]; entry->username = entry->selector = ++gopherpath; + if (entry->type == '7') { + for (; *p; ++p) { + if (*p == '\t') { + asprintf(&entry->tag, "%s", gopherpath); + *p = '\0'; + break; + } + } + } entry->host = host; entry->port = port; entry->entry = entry;