]> gitweb.factorcode.org Git - factor.git/commitdiff
libc: fix for linux using GNU strerror_r (for now).
authorJohn Benediktsson <mrjbq7@gmail.com>
Sun, 6 Jul 2014 17:41:51 +0000 (10:41 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Sun, 6 Jul 2014 17:41:51 +0000 (10:41 -0700)
basis/libc/libc.factor
basis/libc/linux/linux.factor
basis/libc/macosx/macosx.factor
basis/libc/unix/authors.txt [deleted file]
basis/libc/unix/platforms.txt [deleted file]
basis/libc/unix/unix.factor [deleted file]

index 9930128b5e669bb12d53830e452a29735e4ab3d0..05b27af46144dbce5a6891f548950f10b3ef44bd 100644 (file)
@@ -46,8 +46,6 @@ FUNCTION-ALIAS: strerror_unsafe
 ! Add a default strerror even though it's not threadsafe
 M: object strerror strerror_unsafe ;
 
-FUNCTION: int strerror_r ( int errno, char* buf, size_t buflen ) ;
-
 ERROR: libc-error errno message ;
 
 : (io-error) ( -- * ) errno dup strerror libc-error ;
index b012bad107ef91a4caa76c6f6a8e77fe18ff472a..aa872866c2b9ae728caef9c1b969666e4475d448 100644 (file)
@@ -1,4 +1,4 @@
-USING: alien.syntax ;
+USING: alien.c-types alien.syntax destructors kernel system ;
 IN: libc
 
 LIBRARY: libc
@@ -169,3 +169,10 @@ CONSTANT: SIGIO           29
 ALIAS:    SIGPOLL         SIGIO
 CONSTANT: SIGPWR          30
 CONSTANT: SIGSYS          31
+
+FUNCTION: c-string strerror_r ( int errno, char* buf, size_t buflen ) ;
+
+M: linux strerror ( errno -- str )
+    [
+        1024 [ malloc &free ] keep strerror_r
+    ] with-destructors ;
index c637d697453d6444226c72e913b27965b2a412a5..5740836f0ae492953b5f2ca3c225258e6756555e 100644 (file)
@@ -1,4 +1,5 @@
-USING: alien.syntax ;
+USING: alien.c-types alien.strings alien.syntax destructors
+kernel system ;
 IN: libc
 
 LIBRARY: libc
@@ -139,3 +140,11 @@ CONSTANT: SIGWINCH  28
 CONSTANT: SIGINFO   29
 CONSTANT: SIGUSR1   30
 CONSTANT: SIGUSR2   31
+
+FUNCTION: int strerror_r ( int errno, char* buf, size_t buflen ) ;
+
+M: macosx strerror ( errno -- str )
+    [
+        1024 [ malloc &free ] keep [ strerror_r ] 2keep drop nip
+        alien>native-string
+    ] with-destructors ;
diff --git a/basis/libc/unix/authors.txt b/basis/libc/unix/authors.txt
deleted file mode 100644 (file)
index 7c1b2f2..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Doug Coleman
diff --git a/basis/libc/unix/platforms.txt b/basis/libc/unix/platforms.txt
deleted file mode 100644 (file)
index 509143d..0000000
+++ /dev/null
@@ -1 +0,0 @@
-unix
diff --git a/basis/libc/unix/unix.factor b/basis/libc/unix/unix.factor
deleted file mode 100644 (file)
index f474d61..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-! Copyright (C) 2014 Doug Coleman.
-! See http://factorcode.org/license.txt for BSD license.
-USING: alien.strings destructors kernel libc system ;
-IN: libc.unix
-
-M: unix strerror ( errno -- str )
-    [
-        1024 [ malloc &free ] keep [ strerror_r ] 2keep drop nip
-        alien>native-string
-    ] with-destructors ;