tDownload non-interactive and unknown types with not term output - 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 408fd866df1036c0a51e58a2029dc9c1f41e979c DIR parent bb8924f35719c580e9fa543a4cbea1258f764acf HTML Author: Quentin Rameau <quinq@fifth.space> Date: Mon, 20 Aug 2018 12:02:35 +0200 Download non-interactive and unknown types with not term output Diffstat: M sacc.c | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) --- DIR diff --git a/sacc.c b/sacc.c t@@ -769,10 +769,12 @@ searchitem(Item *entry, Item *item) static void printout(Item *hole) { + char t; + if (!hole) return; - switch (hole->redtype ? hole->redtype : hole->type) { + switch (hole->redtype ? hole->redtype : (t = hole->type)) { case '0': if (dig(hole, hole)) fputs(hole->raw, stdout); t@@ -780,7 +782,24 @@ printout(Item *hole) case '1': if (dig(hole, hole)) printdir(hole); + return; default: + if (t >= '0' && t <= 'Z') { + diag("Type %c (%s) not supported", t, typedisplay(t)); + return; + } + case '4': + case '5': + case '6': + case '9': + case 'g': + case 'I': + download(hole, 1); + case '2': + case '3': + case '7': + case '8': + case 'T': return; } }