| improve realpath lookup for relative paths - geomyidae - A small C-based gopher… | |
| git clone git://bitreich.org/geomyidae/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfri… | |
| Log | |
| Files | |
| Refs | |
| Tags | |
| README | |
| LICENSE | |
| --- | |
| commit a10c97c30ba60dc3a6f04007944add595226060d | |
| parent e32a3c324c94aa302f866d422ac6f1340593c01c | |
| Author: Hiltjo Posthuma <[email protected]> | |
| Date: Sun, 18 Nov 2018 13:09:50 +0100 | |
| improve realpath lookup for relative paths | |
| - don't lookup when the path is empty. | |
| - allow relative paths for 'h' types. | |
| - allow URL: in filenames for non-'h' types. | |
| Signed-off-by: Christoph Lohmann <[email protected]> | |
| Diffstat: | |
| M ind.c | 17 +++++++++-------- | |
| 1 file changed, 9 insertions(+), 8 deletions(-) | |
| --- | |
| diff --git a/ind.c b/ind.c | |
| @@ -428,14 +428,15 @@ printelem(int fd, Elems *el, char *file, char *base, char… | |
| * some URL and ignore various types that have different semantics but | |
| * to point to some file or directory. | |
| */ | |
| - if (el->e[2][0] != '/' | |
| - && strncmp(el->e[2], "URL:", 4) | |
| - && el->e[0][0] != 'i' | |
| - && el->e[0][0] != '2' | |
| - && el->e[0][0] != '3' | |
| - && el->e[0][0] != '8' | |
| - && el->e[0][0] != 'w' | |
| - && el->e[0][0] != 'T') { | |
| + if ((el->e[2][0] != '\0' | |
| + && el->e[2][0] != '/' | |
| + && el->e[0][0] != 'i' | |
| + && el->e[0][0] != '2' | |
| + && el->e[0][0] != '3' | |
| + && el->e[0][0] != '8' | |
| + && el->e[0][0] != 'w' | |
| + && el->e[0][0] != 'T') && | |
| + !(el->e[0][0] == 'h' && !strncmp(el->e[2], "URL:", 4))) { | |
| path = file + strlen(base); | |
| if ((p = strrchr(path, '/'))) | |
| len = p - path; |