From d2f6f99954c8434441aee0bc229cbd69c6b6b470 Mon Sep 17 00:00:00 2001 From: Jeremy Hughes Date: Sun, 5 Jul 2009 21:40:08 +1200 Subject: [PATCH] alien.inline: types->effect>params-return: fix for stack order and void return type --- basis/alien/inline/inline.factor | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/basis/alien/inline/inline.factor b/basis/alien/inline/inline.factor index f9d7f06d88..2b1e9dd186 100644 --- a/basis/alien/inline/inline.factor +++ b/basis/alien/inline/inline.factor @@ -18,7 +18,9 @@ SYMBOL: c-strings [ "(" subseq? not ] filter swap parse-arglist ; : types-effect>params-return ( types effect -- params return ) - [ nip out>> first ] [ in>> zip ] 2bi ; + [ in>> zip ] + [ nip out>> dup length 0 > [ first ] [ drop "void" ] if ] + 2bi ; : arg-list ( types -- params ) CHAR: a swap length CHAR: a + [a,b]