about summary refs log tree commit diff
path: root/command.c
diff options
context:
space:
mode:
authorKlemens Nanni <klemens@posteo.de>2021-06-11 12:30:58 +0000
committerJune McEnroe <june@causal.agency>2021-06-11 20:57:40 -0400
commitcdd4ccf16ff6ccc202d3422fcd0ec7ca9f3a8229 (patch)
tree3e8134723ecc031075b8ae8991ba2322518d4218 /command.c
parentRename file to saveFile (diff)
downloadcatgirl-cdd4ccf16ff6ccc202d3422fcd0ec7ca9f3a8229.tar.gz
catgirl-cdd4ccf16ff6ccc202d3422fcd0ec7ca9f3a8229.zip
Open save file once in uiLoad() and keep it open until uiSave()
Opening the same file *path* twice is a TOCTOU, although not a critical
one: worst case we load from one file and save to another - the impact
depends on how and when catgirl is started the next anyway.

More importantly, keeping the file handle open at runtime allows us to
drop all filesystem related promises for `-s/save' on OpenBSD.

uiLoad() now opens "r+", meaning "Open for reading and writing." up
front so uiSave() can write to it.  In the case of a nonexistent save
file, it now opens with "w" meaning "Open for writing.  The file is
created if it does not exist.", i.e. the same write/create semantics as
"w" except uiLoad() no longer truncates. existing files.

uiSave() now truncates the save file to avoid appending in general.
Diffstat (limited to 'command.c')
0 files changed, 0 insertions, 0 deletions
td/> I'm sorry, I can't keep writing descriptions. It makes posting photos take too long, I often don't know the words for what I'm looking at, and a good description is an entirely different work of art than the photo I took, and I'm just a photographer. It's visual art. 2024-09-23Automatically select the last used lens for a bodyJune McEnroe 2024-09-19Add photos from September 5June McEnroe Had to prefix the folder number onto these file names manually because they must have come out of a different scanner or something. 2024-09-15Add some more film stocks to the listJune McEnroe 2024-09-13Add photos from September 2June McEnroe 2024-09-13Add Fomapan 200 to films listJune McEnroe 2024-09-10Add August 29 picnic photosJune McEnroe 2024-09-08Apply some bold to trips renderingJune McEnroe This seems easier to visually scan. The only other thing I'd like is a nicer date rendering but JavaScript is useless for that. 2024-09-08Render trips hopefully more efficientlyJune McEnroe 2024-09-08Allow removing bodies and lensesJune McEnroe 2024-09-08Limit body width so it looks less silly on desktopJune McEnroe 2024-09-07Handle no film being loadedJune McEnroe 2024-09-07Fancy up the text a littleJune McEnroe