diff options
author | Jaakko Keränen <jaakko.keranen@iki.fi> | 2021-06-30 08:20:38 +0300 |
---|---|---|
committer | Jaakko Keränen <jaakko.keranen@iki.fi> | 2021-06-30 08:20:38 +0300 |
commit | 73a721fc93c3be7b13361dea41d4431ad14a3fdd (patch) | |
tree | e6de1687d1932509789e21ed4232fe2c6def32ad /src/gempub.c | |
parent | 42d461f32eb77a83c0f9d7b4fb202de72c64a97f (diff) |
Canonical URIs
Internally, all URIs should be converted to a canonical form so that they can be compared against each other.
The canonical form is an IRI with spaces and reserved characters percent-encoded.
Diffstat (limited to 'src/gempub.c')
-rw-r--r-- | src/gempub.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/gempub.c b/src/gempub.c index 1f5d58ce..23846414 100644 --- a/src/gempub.c +++ b/src/gempub.c | |||
@@ -246,10 +246,10 @@ size_t navSize_Gempub(const iGempub *d) { | |||
246 | 246 | ||
247 | size_t navIndex_Gempub(const iGempub *d, const iString *url) { | 247 | size_t navIndex_Gempub(const iGempub *d, const iString *url) { |
248 | parseNavigationLinks_Gempub_(d); | 248 | parseNavigationLinks_Gempub_(d); |
249 | const iString *normUrl = withSpacesEncoded_String(url); | 249 | const iString *canonUrl = withSpacesEncoded_String(url); |
250 | iConstForEach(Array, i, d->navLinks) { | 250 | iConstForEach(Array, i, d->navLinks) { |
251 | const iGempubNavLink *nav = i.value; | 251 | const iGempubNavLink *nav = i.value; |
252 | if (equalCase_String(&nav->url, normUrl)) { | 252 | if (equalCase_String(&nav->url, canonUrl)) { |
253 | return index_ArrayConstIterator(&i); | 253 | return index_ArrayConstIterator(&i); |
254 | } | 254 | } |
255 | } | 255 | } |