Commits
- Commit:
e2089110b6f63056d1a67d5eec3885d677b75b00
- From:
- Omar Polo <op@omarpolo.com>
- Date:
iri: always output file:// urls with the `//' separator
- Commit:
c6432d394ee01ce54bac5def39e490a9de261cc3
- From:
- Omar Polo <op@omarpolo.com>
- Date:
iri: rework iri_unparse()
I'm not actually pround of the %s%s%s%s%s%s... etc, but it works
fine. There's no need to do further escaping here, since consuming
code is not supposed to reach inside the iri struct. It'll be made
opaque maybe in the future.
- Commit:
62c0f697ddc7396384280f2f8bac7a092700f1ba
- From:
- Omar Polo <op@omarpolo.com>
- Date:
fix handling of gopher selectors
Much of telescope works in terms of URI, so we convert each gopher
link to an URI. However, we didn't urlencode the path parameter,
thus failing on every link that contains spaces or similar invalid
(in URI paths) characters.
Issue reported by hryjksn on github, thanks!
https://github.com/omar-polo/telescope/issues/14
- Commit:
91ef5ab4100ad6f754a0945d4ec468a52626ac63
- From:
- Omar Polo <op@omarpolo.com>
- Date:
iri: fix parse_path_absolute with path being "/"
it was mis-parsed as "" causing failures when resolving a relative
URI.
- Commit:
1cbd9b61a25311d671cbb048d9683f2c5beb49fa
- From:
- Omar Polo <op@omarpolo.com>
- Date:
iri: add iri_setport()
takes a string because the internals of telescope makes it easier
to use if a string.
- Commit:
1a69f47149d069693500a0b99c5022959fc5e506
- From:
- Omar Polo <op@omarpolo.com>
- Date:
iri_setquery: avoid needless else block
- Commit:
14728991efc684e1da5955f58ca7810cdafac378
- From:
- Omar Polo <op@omarpolo.com>
- Date:
add missing #include "compat.h"
- Commit:
7bcbb606cd3fc34596f76643e2dd808c0dea09e6
- From:
- Omar Polo <op@omarpolo.com>
- Date:
iri: refactor parse_{query,fragment} into a single function
- Commit:
e32788429f6cf0fd61336ed3eadccfc59f17dbbc
- From:
- Omar Polo <op@omarpolo.com>
- Date:
iri: copy portstr too
- Commit:
69942b73fa48871099028f5c6370c4493d3691cb
- From:
- Omar Polo <op@omarpolo.com>
- Date:
iri: make mergepath take a buffer and strings, not the iri pointers
- Commit:
d2d73a094eb58f7ecf091d401f4d33ca905e17cd
- From:
- Omar Polo <op@omarpolo.com>
- Date:
iri: change remove_dot_segmens to take a buffer instead of an iri
- Commit:
6d0918263815f42917efe14158e8f1c21b1aae22
- From:
- Omar Polo <op@omarpolo.com>
- Date:
iri: zero iri_flags before parsing
- Commit:
21fc67ae053c5b9471bbf16e990cfccdefa9c029
- From:
- Omar Polo <op@omarpolo.com>
- Date:
iri: use a temp buffer for %enc in iri_setquery
- Commit:
a2785a57c07c946ec9269b0871f858fa863d4e6e
- From:
- Omar Polo <op@omarpolo.com>
- Date:
iri: implement iri_setquery
- Commit:
870edfb9f7fcd981eb681c9c59072f82c9a6891f
- From:
- Omar Polo <op@omarpolo.com>
- Date:
iri: fix port parsing
- Commit:
a165601e7e2641edcf7b36be8ce9c03ab281fd99
- From:
- Omar Polo <op@omarpolo.com>
- Date:
iri: support framents and enable fragments tests
- Commit:
8b2b06b5122892c74e4dd58772be73ea2fd2933b
- From:
- Omar Polo <op@omarpolo.com>
- Date:
iri: rewrite remove_dot_segments to be clearer
the previous version was straight out RFC3986 (more or less, it had a
bug I didn't spot), but it's ugly and extremely long. Rewrite it to be
somewhat inspired by canonpath (from kern_pledge.c) and way simpler.
There are some small differences in how UNIX paths and URLs paths are
canonized (in UNIX path you don't care too much of a trailing '/', in
URLs you do.)
The new code is more clear and passes all the tests in RFC3986, so I'm
calling it a win.
- Commit:
cb7621af57ac2abad12fa61893d00199daebdd29
- From:
- Omar Polo <op@omarpolo.com>
- Date:
iri: fix remove_dot_segments algorithm
i've misread the description in the RFC; we should copy up to, but not
including, the next '/' at the end and manually inject some '/' in some
other cases.
- Commit:
a9eac73439353c3222a01235919b74a0ba6dc483
- From:
- Omar Polo <op@omarpolo.com>
- Date:
iri: fix remove_dot_segments: should copy until (including) "/"
- Commit:
30398ec1cb13001ad23b1cb8c6d3e2e93796da2f
- From:
- Omar Polo <op@omarpolo.com>
- Date:
iri: fix typo: should check the first two characters, not three
- Commit:
5cb6cd4da7c71adf2c773f9cc29f8ad523e8fbfa
- From:
- Omar Polo <op@omarpolo.com>
- Date:
iri: fix path check
path should *start* with "/" to enter that branch, not be exactly "/".
- Commit:
a655e85afdbbaa364ec9f8ca1236b18846d0775b
- From:
- Omar Polo <op@omarpolo.com>
- Date:
iri: fix logic in iri_unparse
make sure path starts with "/" only when there's an authority part, not
when it's not there!
- Commit:
172e0e1e7163e57039bb99df7eeb6dab77d843c2
- From:
- Omar Polo <op@omarpolo.com>
- Date:
iri: drop extraneous cpfields(IH_QUERY)
- Commit:
997b9cd04af3eb9e27e6ad8422d915af04902a7a
- From:
- Omar Polo <op@omarpolo.com>
- Date:
iri: set some flags as defined only when actually copying
- Commit:
d59fad58f6a3ce0c11ee5792e21e0ce73a059dd5
- From:
- Omar Polo <op@omarpolo.com>
- Date:
iri: draft iri_unparse