iimprove realpath lookup for relative paths - geomyidae - A small C-based gopherd. Err bitreich.org 70 hgit clone git://bitreich.org/geomyidae/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/geomyidae/ URL:git://bitreich.org/geomyidae/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/geomyidae/ bitreich.org 70 1Log /scm/geomyidae/log.gph bitreich.org 70 1Files /scm/geomyidae/files.gph bitreich.org 70 1Refs /scm/geomyidae/refs.gph bitreich.org 70 1Tags /scm/geomyidae/tag bitreich.org 70 1README /scm/geomyidae/file/README.gph bitreich.org 70 1LICENSE /scm/geomyidae/file/LICENSE.gph bitreich.org 70 i--- Err bitreich.org 70 1commit a10c97c30ba60dc3a6f04007944add595226060d /scm/geomyidae/commit/a10c97c30ba60dc3a6f04007944add595226060d.gph bitreich.org 70 1parent e32a3c324c94aa302f866d422ac6f1340593c01c /scm/geomyidae/commit/e32a3c324c94aa302f866d422ac6f1340593c01c.gph bitreich.org 70 hAuthor: Hiltjo Posthuma URL:mailto:hiltjo@codemadness.org bitreich.org 70 iDate: Sun, 18 Nov 2018 13:09:50 +0100 Err bitreich.org 70 i Err bitreich.org 70 iimprove realpath lookup for relative paths Err bitreich.org 70 i Err bitreich.org 70 i- don't lookup when the path is empty. Err bitreich.org 70 i- allow relative paths for 'h' types. Err bitreich.org 70 i- allow URL: in filenames for non-'h' types. Err bitreich.org 70 i Err bitreich.org 70 iSigned-off-by: Christoph Lohmann <20h@r-36.net> Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M ind.c | 17 +++++++++-------- Err bitreich.org 70 i Err bitreich.org 70 i1 file changed, 9 insertions(+), 8 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/ind.c b/ind.c /scm/geomyidae/file/ind.c.gph bitreich.org 70 i@@ -428,14 +428,15 @@ printelem(int fd, Elems *el, char *file, char *base, char *addr, char *port) Err bitreich.org 70 i * some URL and ignore various types that have different semantics but Err bitreich.org 70 i * to point to some file or directory. Err bitreich.org 70 i */ Err bitreich.org 70 i- if (el->e[2][0] != '/' Err bitreich.org 70 i- && strncmp(el->e[2], "URL:", 4) Err bitreich.org 70 i- && el->e[0][0] != 'i' Err bitreich.org 70 i- && el->e[0][0] != '2' Err bitreich.org 70 i- && el->e[0][0] != '3' Err bitreich.org 70 i- && el->e[0][0] != '8' Err bitreich.org 70 i- && el->e[0][0] != 'w' Err bitreich.org 70 i- && el->e[0][0] != 'T') { Err bitreich.org 70 i+ if ((el->e[2][0] != '\0' Err bitreich.org 70 i+ && el->e[2][0] != '/' Err bitreich.org 70 i+ && el->e[0][0] != 'i' Err bitreich.org 70 i+ && el->e[0][0] != '2' Err bitreich.org 70 i+ && el->e[0][0] != '3' Err bitreich.org 70 i+ && el->e[0][0] != '8' Err bitreich.org 70 i+ && el->e[0][0] != 'w' Err bitreich.org 70 i+ && el->e[0][0] != 'T') && Err bitreich.org 70 i+ !(el->e[0][0] == 'h' && !strncmp(el->e[2], "URL:", 4))) { Err bitreich.org 70 i path = file + strlen(base); Err bitreich.org 70 i if ((p = strrchr(path, '/'))) Err bitreich.org 70 i len = p - path; Err bitreich.org 70 .