[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#55673] [PATCH] cache: Catch valid integer for 'last-expiry-cleanup'
From: |
Maxime Devos |
Subject: |
[bug#55673] [PATCH] cache: Catch valid integer for 'last-expiry-cleanup'. |
Date: |
Fri, 27 May 2022 11:54:08 +0200 |
User-agent: |
Evolution 3.38.3-1 |
zimoun schreef op vr 27-05-2022 om 10:25 [+0200]:
> (catch 'system-error
> (lambda ()
> - (call-with-input-file expiry-file read))
> + (match (call-with-input-file expiry-file read)
> + ((? integer? date) date)
> + (_ 0)))
It might be possible to end up wit hsomething more bogus on some file
system, it's possible to end up with something even more boguse (e.g.,
"unterminated-string), which 'read' doesn't understand. I suggest
using 'get-string-all' + 'number->string'.
For completeness, a comment like
;; Handle the 'write' below being interrupted before the write
;; could complete (e.g. with C-c) and handle file system crashes
;; causing empty files or corrupted contents.
and a regression test in tets/cache.scm would be nice.
Also, I'd switch the catch and the (match ...) because 'read' and
integer? shouldn't raise any 'system-error'.
Greetings,
Maxime.
signature.asc
Description: This is a digitally signed message part
- [bug#55673] [PATCH] cache: Catch valid integer for 'last-expiry-cleanup'., zimoun, 2022/05/27
- [bug#55673] [PATCH] cache: Catch valid integer for 'last-expiry-cleanup'.,
Maxime Devos <=
- [bug#55673] [PATCH] cache: Catch valid integer for 'last-expiry-cleanup'., zimoun, 2022/05/27
- [bug#55673] [PATCH] cache: Catch valid integer for 'last-expiry-cleanup'., Maxime Devos, 2022/05/27
- [bug#55673] [PATCH] cache: Catch valid integer for 'last-expiry-cleanup'., zimoun, 2022/05/27
- [bug#55673] [PATCH] cache: Catch valid integer for 'last-expiry-cleanup'., Maxime Devos, 2022/05/27
- [bug#55673] [PATCH] cache: Catch valid integer for 'last-expiry-cleanup'., zimoun, 2022/05/27
- [bug#55673] [PATCH] cache: Catch valid integer for 'last-expiry-cleanup'., Maxime Devos, 2022/05/27
- [bug#55673] [PATCH] cache: Catch valid integer for 'last-expiry-cleanup'., zimoun, 2022/05/27
- [bug#55673] [PATCH] cache: Catch valid integer for 'last-expiry-cleanup'., zimoun, 2022/05/27
- [bug#55673] [PATCH] cache: Catch valid integer for 'last-expiry-cleanup'., Maxime Devos, 2022/05/27
- [bug#55673] [PATCH] cache: Catch valid integer for 'last-expiry-cleanup'., zimoun, 2022/05/27