diff options
author | Case Duckworth | 2020-06-01 14:58:51 -0500 |
---|---|---|
committer | Case Duckworth | 2020-06-01 14:58:51 -0500 |
commit | 228c930ffd2697cfbed0aecf8f25ffcd58733cde (patch) | |
tree | 8f84b169b092c399287b03fa6457405a843904ae /LICENSE | |
parent | Accept but ignore pre lines with alt text (diff) | |
download | bollux-228c930ffd2697cfbed0aecf8f25ffcd58733cde.tar.gz bollux-228c930ffd2697cfbed0aecf8f25ffcd58733cde.zip |
Add rudimentary history support.
This commit adds `history_init`, `history_append`, `history_back`, and `history_forward` functions. The history is implemented as an array, HISTORY, which is appended to with history_append when pages are visited, and a pointer, HN, which points to the current position in the array. When history_back is called, it moves the pointer back 2 and calls blastoff to the URL there. When history_forward is called, it does not move the pointer and blastsoff to the URL. Why back and forward basically have an off-by-one error is beyond me at this time. ISSUES: - if the user goes back then forward, the history is not rewritten for later URLs. for example, if the history is 1.gmi 2.gmi 3.gmi* where the * indicates the current history position, when the user goes back 2, it looks like this: 1.gmi* 2.gmi 3.gmi if the user then navigates to another page: 1.gmi 4.gmi* 3.gmi 3.gmi is still in the history, so the user can go forward from 4. This is unexpected as far as every other client that I know of goes.
Diffstat (limited to 'LICENSE')
0 files changed, 0 insertions, 0 deletions