it* sacc + cursorline and uri preview Err codevoid.de 70 i Err codevoid.de 70 hgit clone git://git.codevoid.de/sacc-sdk URL:git://git.codevoid.de/sacc-sdk codevoid.de 70 1Log /git/sacc-sdk/log.gph codevoid.de 70 1Files /git/sacc-sdk/files.gph codevoid.de 70 1Refs /git/sacc-sdk/refs.gph codevoid.de 70 1LICENSE /git/sacc-sdk/file/LICENSE.gph codevoid.de 70 i--- Err codevoid.de 70 1commit 9ac96c9c33647dba0753904cff89e4aab877c711 /git/sacc-sdk/commit/9ac96c9c33647dba0753904cff89e4aab877c711.gph codevoid.de 70 1parent cee3b87b38eea7f84005bd95883b0e76c414119f /git/sacc-sdk/commit/cee3b87b38eea7f84005bd95883b0e76c414119f.gph codevoid.de 70 hAuthor: Hiltjo Posthuma URL:mailto:hiltjo@codemadness.org codevoid.de 70 iDate: Sat, 11 Aug 2018 15:36:31 +0200 Err codevoid.de 70 i Err codevoid.de 70 idistinguish reserved and undefined types, support plumbing for undefined types Err codevoid.de 70 i Err codevoid.de 70 iDiffstat: Err codevoid.de 70 i M sacc.c | 33 +++++++++++++++++++------------ Err codevoid.de 70 i Err codevoid.de 70 i1 file changed, 20 insertions(+), 13 deletions(-) Err codevoid.de 70 i--- Err codevoid.de 70 1diff --git a/sacc.c b/sacc.c /git/sacc-sdk/file/sacc.c.gph codevoid.de 70 it@@ -230,10 +230,12 @@ typedisplay(char t) Err codevoid.de 70 i return "HTML+"; Err codevoid.de 70 i case 'i': Err codevoid.de 70 i return " |"; Err codevoid.de 70 i- case 's': Err codevoid.de 70 i- return "Snd |"; Err codevoid.de 70 i default: Err codevoid.de 70 i- return "! |"; Err codevoid.de 70 i+ /* "Characters '0' through 'Z' are reserved." (ASCII) */ Err codevoid.de 70 i+ if (t >= '0' && t <= 'Z') Err codevoid.de 70 i+ return "! |"; Err codevoid.de 70 i+ else Err codevoid.de 70 i+ return "UNKN|"; Err codevoid.de 70 i } Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 it@@ -647,13 +649,15 @@ static int Err codevoid.de 70 i dig(Item *entry, Item *item) Err codevoid.de 70 i { Err codevoid.de 70 i char *plumburi = NULL; Err codevoid.de 70 i+ int t; Err codevoid.de 70 i Err codevoid.de 70 i if (item->raw) /* already in cache */ Err codevoid.de 70 i return item->type; Err codevoid.de 70 i if (!item->entry) Err codevoid.de 70 i item->entry = entry ? entry : item; Err codevoid.de 70 i Err codevoid.de 70 i- switch (item->redtype ? item->redtype : item->type) { Err codevoid.de 70 i+ t = item->redtype ? item->redtype : item->type; Err codevoid.de 70 i+ switch (t) { Err codevoid.de 70 i case 'h': /* fallthrough */ Err codevoid.de 70 i if (!strncmp(item->selector, "URL:", 4)) { Err codevoid.de 70 i plumb(item->selector+4); Err codevoid.de 70 it@@ -681,10 +685,6 @@ dig(Item *entry, Item *item) Err codevoid.de 70 i plumb(plumburi); Err codevoid.de 70 i free(plumburi); Err codevoid.de 70 i return 0; Err codevoid.de 70 i- case 'g': Err codevoid.de 70 i- case 'I': Err codevoid.de 70 i- plumbitem(item); Err codevoid.de 70 i- return 0; Err codevoid.de 70 i case 'T': Err codevoid.de 70 i if (asprintf(&plumburi, "tn3270://%s@%s:%s", item->selector, Err codevoid.de 70 i item->host, item->port) < 0) Err codevoid.de 70 it@@ -692,9 +692,14 @@ dig(Item *entry, Item *item) Err codevoid.de 70 i plumb(plumburi); Err codevoid.de 70 i free(plumburi); Err codevoid.de 70 i return 0; Err codevoid.de 70 i+ case 'g': Err codevoid.de 70 i+ case 'I': Err codevoid.de 70 i default: Err codevoid.de 70 i- uistatus("Type %c (%s) not supported", Err codevoid.de 70 i- item->type, typedisplay(item->type)); Err codevoid.de 70 i+ if (t >= '0' && t <= 'Z') Err codevoid.de 70 i+ uistatus("Type %c (%s) not supported", Err codevoid.de 70 i+ item->type, typedisplay(item->type)); Err codevoid.de 70 i+ else Err codevoid.de 70 i+ plumbitem(item); Err codevoid.de 70 i return 0; Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 it@@ -783,6 +788,10 @@ delve(Item *hole) Err codevoid.de 70 i if (searchitem(entry, hole)) Err codevoid.de 70 i entry = hole; Err codevoid.de 70 i break; Err codevoid.de 70 i+ case 0: Err codevoid.de 70 i+ uistatus("Couldn't get %s:%s/%c%s", hole->host, Err codevoid.de 70 i+ hole->port, hole->type, hole->selector); Err codevoid.de 70 i+ break; Err codevoid.de 70 i case '4': Err codevoid.de 70 i case '5': Err codevoid.de 70 i case '6': /* TODO decode? */ Err codevoid.de 70 it@@ -791,11 +800,9 @@ delve(Item *hole) Err codevoid.de 70 i case 'g': Err codevoid.de 70 i case 'I': Err codevoid.de 70 i case 'T': Err codevoid.de 70 i+ default: Err codevoid.de 70 i dig(entry, hole); Err codevoid.de 70 i break; Err codevoid.de 70 i- case 0: Err codevoid.de 70 i- uistatus("Couldn't get %s:%s/%c%s", hole->host, Err codevoid.de 70 i- hole->port, hole->type, hole->selector); Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i if (!entry) Err codevoid.de 70 .