]> gitweb.factorcode.org Git - factor.git/commitdiff
leb128: simplify write-leb128
authorJohn Benediktsson <mrjbq7@gmail.com>
Sun, 3 Sep 2023 17:07:45 +0000 (10:07 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Sun, 3 Sep 2023 17:07:45 +0000 (10:07 -0700)
extra/leb128/leb128.factor

index 6c1bddde6a83eedfe9e67457a3137ae330fcc48f..728c7c10c2f2029d036c68f1849c5cd1fc55dbfc 100644 (file)
@@ -50,10 +50,10 @@ TYPED: uleb128> ( byte-array: byte-array -- n )
     n [
         [ -7 shift dup ] [ 0x7f bitand ] bi :> ( i b )
         {
-            { [ i  0 = ] [ b 6 bit? not ] }
-            { [ i -1 = ] [ b 6 bit? ] }
-            [ f ]
-        } cond [ f b ] [ t b 0x80 bitor ] if quot call
+            { [ i  0 = ] [ b 6 bit? ] }
+            { [ i -1 = ] [ b 6 bit? not ] }
+            [ t ]
+        } cond b over [ 0x80 bitor ] when quot call
     ] loop drop ; inline
 
 HINTS: (write-leb128) { fixnum object } ;