summaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
Diffstat (limited to 'utils')
-rw-r--r--utils/url.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/utils/url.c b/utils/url.c
index 3fb04170c..09c2816bf 100644
--- a/utils/url.c
+++ b/utils/url.c
@@ -240,6 +240,12 @@ char *url_join(const char *rel, const char *base)
}
/* 2) */
+ /* base + "#s" = (current document)#s (see Appendix C.1) */
+ /** \todo does (current document) include the query? */
+ if (rel_match[9].rm_so != -1) {
+ fragment = rel + rel_match[9].rm_so;
+ fragment_len = rel_match[9].rm_eo - rel_match[9].rm_so;
+ }
if (rel_match[5].rm_so == rel_match[5].rm_eo &&
rel_match[2].rm_so == -1 &&
rel_match[4].rm_so == -1 &&
@@ -250,10 +256,6 @@ char *url_join(const char *rel, const char *base)
query = rel + rel_match[7].rm_so;
query_len = rel_match[7].rm_eo - rel_match[7].rm_so;
}
- if (rel_match[9].rm_so != -1) {
- fragment = rel + rel_match[9].rm_so;
- fragment_len = rel_match[9].rm_eo - rel_match[9].rm_so;
- }
/* 3) */
if (rel_match[2].rm_so != -1) {