]> Repositorios git - scryer-prolog.git/commitdiff
better error handling for options
authorMarkus Triska <[email protected]>
Wed, 22 Jul 2020 22:27:31 +0000 (00:27 +0200)
committerMarkus Triska <[email protected]>
Wed, 22 Jul 2020 22:27:31 +0000 (00:27 +0200)
src/lib/charsio.pl

index dd41a597d9dcc5dddb8128755c5274db84005a9c..712238844841793e7ca2933a31904637a4c841d9 100644 (file)
@@ -200,6 +200,8 @@ read_line_to_chars(Stream, Cs0, Cs) :-
    Relation between a list of characters Cs and its Base64 encoding Bs,
    also a list of characters.
 
+   At least one of the arguments must be instantiated.
+
    Options are:
 
       - padding(Boolean)
@@ -226,6 +228,10 @@ chars_base64(Cs, Bs, Options) :-
             )
         ),
         must_be(boolean, Padding),
+        must_be(atom, Charset),
+        (   member(Charset, [standard,url]) -> true
+        ;   domain_error(charset, Charset, chars_base64/3)
+        ),
         (   var(Cs) ->
             must_be(list, Bs),
             maplist(must_be(character), Bs),