]> gitweb.factorcode.org Git - factor.git/blobdiff - basis/base64/base64.factor
mason: temporary kludge until mason.db@factorcode.org is manually updated
[factor.git] / basis / base64 / base64.factor
index 38016ed41759fbc45a787073bf716ce75ad6642e..abd7023bb3935842145c1ea1001d12bede25758a 100644 (file)
@@ -1,5 +1,5 @@
 ! Copyright (C) 2008 Doug Coleman, Daniel Ehrenberg.
-! See http://factorcode.org/license.txt for BSD license.
+! See https://factorcode.org/license.txt for BSD license.
 USING: arrays assocs byte-arrays combinators growable io
 io.encodings.binary io.streams.byte-array kernel kernel.private
 literals math math.bitwise namespaces sbufs sequences
@@ -17,7 +17,7 @@ CONSTANT: alphabet $[
 ]
 
 : alphabet-inverse ( alphabet -- seq )
-    dup supremum 1 + f <array> [
+    dup maximum 1 + f <array> [
         '[ swap _ set-nth ] each-index
     ] keep ;
 >>
@@ -77,12 +77,12 @@ PRIVATE>
 <PRIVATE
 
 : read1-ignoring ( ignoring stream -- ch )
-    dup stream-read1 pick over member-eq-of?
+    dup stream-read1 pick dupd member-eq?
     [ drop read1-ignoring ] [ 2nip ] if ; inline recursive
 
 : read-ignoring ( n ignoring stream -- accum )
     pick <sbuf> [
-        '[ _ _ read1-ignoring [ ] _ push-if ] times
+        '[ _ _ read1-ignoring [ ] _ push-when ] times
     ] keep ;
 
 : decode4 ( a b c d -- x y z )
@@ -95,7 +95,7 @@ PRIVATE>
 
 :: (decode-base64) ( input output -- )
     3 <byte-array> :> data
-    [ B{ CHAR: \n CHAR: \r } input read1-ignoring dup ] [
+    [ B{ CHAR: \n CHAR: \r } input read1-ignoring ] [
         B{ CHAR: \n CHAR: \r } input read1-ignoring CHAR: = or
         B{ CHAR: \n CHAR: \r } input read1-ignoring CHAR: = or
         B{ CHAR: \n CHAR: \r } input read1-ignoring CHAR: = or
@@ -103,7 +103,7 @@ PRIVATE>
         [ CHAR: = eq? 1 0 ? ] tri@ + +
         [ head-slice* ] unless-zero
         output stream-write
-    ] while drop ;
+    ] while* ;
 
 PRIVATE>