From 0c7b50499d41dbb90e1aedbd188ae18a2ddd8ddf Mon Sep 17 00:00:00 2001 From: Witold Filipczyk Date: Thu, 2 Jan 2025 16:56:30 +0100 Subject: [PATCH] [marks] another try for #352 If uri contains fragment (anchor), try to strip it. Previous version stripped it from all copies of uri AFAIK. --- src/viewer/text/marks.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/viewer/text/marks.c b/src/viewer/text/marks.c index 94d94cd32..a626e9939 100644 --- a/src/viewer/text/marks.c +++ b/src/viewer/text/marks.c @@ -91,7 +91,7 @@ goto_mark(unsigned char mark, struct view_state *vs) assert(is_valid_mark_index(i)); /* TODO: Support for cross-document marks. --pasky */ - if (!marks[i] || !compare_uri(marks[i]->uri, vs->uri, 0)) { + if (!marks[i] || !compare_uri(marks[i]->uri, vs->uri, URI_HTTP_REFERRER)) { return; } @@ -143,7 +143,14 @@ set_mark(unsigned char mark, struct view_state *mark_vs) if (!vs) return; copy_vs(vs, mark_vs); - vs->uri->fragmentlen = 0; + if (vs->uri->fragmentlen) { + struct uri *new_uri = get_composed_uri(vs->uri, URI_HTTP_REFERRER); + + if (new_uri) { + done_uri(vs->uri); + vs->uri = new_uri; + } + } marks[i] = vs; }