From 5145dd3aa0c02c9fc496d1432fc4410674206e1d Mon Sep 17 00:00:00 2001 From: Bryan Newbold Date: Mon, 20 Feb 2017 00:05:31 -0800 Subject: Import Upstream version 3a2 --- html4each.scm | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) (limited to 'html4each.scm') diff --git a/html4each.scm b/html4each.scm index 02e666e..f115616 100644 --- a/html4each.scm +++ b/html4each.scm @@ -225,16 +225,28 @@ (reverse fields)) ((eqv? #\> chr) (cons element (reverse fields))) ((char-whitespace? chr) (read-char port) (loop (peek-char port))) - ((case (fscanf port "%[a-zA-Z0-9]%[=]%[-.a-zA-Z0-9]" name junk value) + ((case (fscanf port "%[a-zA-Z0-9]%[=]%[-.a-zA-Z0-9]" + name junk value) ((3 1) #t) ((2) (case (peek-char port) - ((#\") (eqv? 1 (fscanf port "\"%[^\"]\"" value))) - ((#\') (eqv? 1 (fscanf port "'%[^']'" value))) + ((#\") (cond ((eqv? 1 (fscanf port "\"%[^\"]\"" value))) + ((eqv? #\" (peek-char port)) + (read-char port) + (set! value "")) + (else #f))) + ((#\') (cond ((eqv? 1 (fscanf port "'%[^']'" value))) + ((eqv? #\' (peek-char port)) + (read-char port) + (set! value "")) + (else #f))) (else #f))) (else #f)) (set! fields (cons (cons (string-ci->symbol name) - (or (string->number value) value)) + (if (string? value) + (or (string->number value) value) + value)) fields)) (loop (peek-char port))) - (else (slib:warn 'htm-fields 'bad 'field htm) (reverse fields)))))))) + (else (slib:warn 'htm-fields 'bad 'field htm) + (reverse fields)))))))) -- cgit v1.2.3