iens

Manager of links to read
git clone https://git.instinctive.eu/iens.git
Log | Files | Refs | README | LICENSE

commit c301271101c2005ce7967da0e99b6c02eb521ea3
parent 698dd2786e8185e00e69c381dada56e38bac1d8d
Author: Natasha Kerensikova <natgh@instinctive.eu>
Date:   Thu,  5 Mar 2026 20:00:49 +0000

Required input variable checks are refactored
Diffstat:
Msrc/cgi.scm | 39+++++++++++++++------------------------
1 file changed, 15 insertions(+), 24 deletions(-)

diff --git a/src/cgi.scm b/src/cgi.scm @@ -45,6 +45,9 @@ (cond ((null? rest) #f) ((string=? (caar rest) name) (cadar rest)) (else (loop (cdr rest)))))) +(define (required-input-var name) + (let ((val (input-var name))) + (if val val (bad-input (conc "missing " name))))) (define start-html "Content-Type: text/html\r\n\r\n<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">") @@ -310,59 +313,47 @@ (current-seconds) new-v old-v id)) (define (do-marked) - (let ((id (input-var "id")) - (submit (input-var "submit"))) + (let ((id (required-input-var "id")) + (submit (required-input-var "submit"))) (cond - ((not id) (bad-input "missing id")) - ((not submit) (bad-input "missing submit")) ((string=? submit "Edit") (redirect (conc "/gruik/" id))) ((string=? submit "Unmark") (db-set-mark id 0 -1) (redirect "/")) (else (bad-input "bad value for submit"))))) (define (xdo-marked) - (let ((id (input-var "id")) - (submit (input-var "submit"))) + (let ((id (required-input-var "id")) + (submit (required-input-var "submit"))) (cond - ((not id) (bad-input "missing id")) - ((not submit) (bad-input "missing submit")) ((string=? submit "Edit") (redirect (conc "/gruik/" id))) ((string=? submit "Unmark") (db-set-mark id 1 0) (post-htmx id)) (else (bad-input "bad value for submit"))))) (define (do-undelete) - (let ((id (input-var "id")) - (submit (input-var "submit"))) + (let ((id (required-input-var "id")) + (submit (required-input-var "submit"))) (cond - ((not id) (bad-input "missing id")) - ((not submit) (bad-input "missing submit")) ((string=? submit "Restore") (db-set-mark id -1 0) (redirect "/")) (else (bad-input "bad value for submit"))))) (define (xdo-undelete) - (let ((id (input-var "id")) - (submit (input-var "submit"))) + (let ((id (required-input-var "id")) + (submit (required-input-var "submit"))) (cond - ((not id) (bad-input "missing id")) - ((not submit) (bad-input "missing submit")) ((string=? submit "Restore") (db-set-mark id -1 0) (htmx-output '())) (else (bad-input "bad value for submit"))))) (define (do-unmarked) - (let ((id (input-var "id")) - (submit (input-var "submit"))) + (let ((id (required-input-var "id")) + (submit (required-input-var "submit"))) (cond - ((not id) (bad-input "missing id")) - ((not submit) (bad-input "missing submit")) ((string=? submit "Mark") (db-set-mark id 0 1) (redirect "/")) ((string=? submit "Delete") (db-set-mark id 0 -1) (redirect "/")) (else (bad-input "bad value for submit"))))) (define (xdo-unmarked) - (let ((id (input-var "id")) - (submit (input-var "submit"))) + (let ((id (required-input-var "id")) + (submit (required-input-var "submit"))) (cond - ((not id) (bad-input "missing id")) - ((not submit) (bad-input "missing submit")) ((string=? submit "Mark") (db-set-mark id 0 1) (post-htmx id)) ((string=? submit "Delete") (db-set-mark id 0 -1) (htmx-output '())) (else (bad-input "bad value for submit")))))