mescc: support \x00 strings in M1.
authorrain1 <rain1@openmailbox.org>
Sun, 30 Jul 2017 12:28:19 +0000 (08:28 -0400)
committerJan Nieuwenhuizen <janneke@gnu.org>
Sun, 30 Jul 2017 12:28:19 +0000 (08:28 -0400)
* module/mes/M1.mes (object->m1): Support \x00 strings.

module/mes/M1.mes

index 908312a86905b0c469d870b4b017af2122742d3b..3c68d69f2b3df3297b2d2def4f0da363e171c9c2 100644 (file)
         (cond ((and (< len string-max)
                     (char? (car data))
                     (eq? (last data) #\nul)
-                    (not (find (cut memq <> '(#\nul #\backspace #\return #\" #\')) (list-head data (1- (length data))))))
+                    (not (find (cut memq <> '(#\nul #\backspace #\return #\" #\')) (list-head data (1- (length data)))))
+                    (not (any (lambda (ch) (>= (char->integer ch) #x80)) data)))
                (format #t "\"~a\"" (list->string (list-head data (1- (length data))))))
               (else (format #t "~a" (string-join (map text->M1 data) " "))))
         (newline)))