Commit Briefs



Omar Polo

sync changelog


Omar Polo

reply-last-input: reply input requests on demand

Telescope now remebers the last URL (per tab!) that replied with 1X (input request.) The new command reply-last-input allows to resend a query to that URL. It's particularly useful with capsules that make a heavy uses of 10 replies (search engines or similar, interactive pages, etc) because it both saves a network roundtrip and the user from looking for the "search" link all across the page ;-) idea from a conversation with thfr@, thanks!



Omar Polo

only memcpy into imsg->data if datalen is not zero

Passing a NULL pointer to memcpy is UB no matter if len is 0 (commit by claudio@, backporting for telescope.)


Omar Polo

set_scroll_position: further semplifications

Simplify it even further. There's no need to keep the curfound variable *at all*: if we end the loop, current_line is not found.


Omar Polo

set_scroll_position: always set current_line

There's a small chance we may end up finding the topline but not the current line if a page content is abruptedly changed. While here also drop `curfound = 1': it's a dead assignment since it returns in that conditions. Bug found while reading the output of clang' scan-build, but not thanks to clang. scan-build complained about the `curfound' variable, and by re-reading the code I spotted the missing case.


Omar Polo

gemini_parse_reply: return code and don't close connection

clang static analyzer found a possible use after free: if the code is not 2X in gemini_parse_reply we call close_conn. Then, in net_read we set req->done_header, but req may have been free'd! Actually, this is almost impossible to trigger. close_conn never ends up calling free(req) on its first try, because tls_close takes a while and is rescheduled by libevent. (The check req->ctx != NULL in close_conn is always true if it's a gemini request.) Nevertheless, it's clear to move close_conn out of gemini_parse_reply and simply return the response code: it feels wrong that a "parsing function" takes logic decisions.



Omar Polo

add some more warnings to the mix


Omar Polo

fix tests for build out-of-tree

now `make distcheck' works as advertised



Omar Polo

move load_page_from_str to telescope.c

I'd like to use parser{,_gophermap,_gemtext}.c in standalone testing programs, and this function is getting in the way since it depends on ui.c