]> gitweb.factorcode.org Git - factor.git/commitdiff
Fix zlib-error-message to include human-readable version
authorAlec Berryman <alec@thened.net>
Tue, 29 Dec 2009 02:05:09 +0000 (20:05 -0600)
committerSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Fri, 8 Jan 2010 06:51:03 +0000 (19:51 +1300)
The error string is looked up in an array, but because zlib
error codes are negative, the error's string was always "f".

basis/compression/zlib/zlib-tests.factor
basis/compression/zlib/zlib.factor

index 1baeba73d9c8dd140d5b481678a1b50b568560c6..b9bc502d46f301e83f41c8d00506f5a8b43fe95c 100644 (file)
@@ -1,9 +1,12 @@
 ! Copyright (C) 2009 Doug Coleman.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: kernel tools.test compression.zlib classes ;
+USING: accessors kernel tools.test compression.zlib classes ;
+QUALIFIED-WITH: compression.zlib.ffi ffi
 IN: compression.zlib.tests
 
 : compress-me ( -- byte-array ) B{ 1 2 3 4 5 } ;
 
 [ t ] [ compress-me [ compress uncompress ] keep = ] unit-test
 [ t ] [ compress-me compress compressed instance? ] unit-test
+
+[ ffi:Z_DATA_ERROR zlib-error-message ] [ string>> "data error" = ] must-fail-with
index 781817349809dd7075312f18a855d38d387887f9..83c3e4ebb3f2cc004106d433a6bdd250f50b23d0 100644 (file)
@@ -19,7 +19,9 @@ ERROR: zlib-failed n string ;
     dup compression.zlib.ffi:Z_ERRNO = [
         drop errno "native libc error"
     ] [
-        dup {
+        dup
+        -1 * ! zlib error codes are negative
+        {
             "no error" "libc_error"
             "stream error" "data error"
             "memory error" "buffer error" "zlib version error"