head 1.2; access; symbols pkgsrc-2013Q2:1.2.0.30 pkgsrc-2013Q2-base:1.2 pkgsrc-2012Q4:1.2.0.28 pkgsrc-2012Q4-base:1.2 pkgsrc-2011Q4:1.2.0.26 pkgsrc-2011Q4-base:1.2 pkgsrc-2011Q2:1.2.0.24 pkgsrc-2011Q2-base:1.2 pkgsrc-2009Q4:1.2.0.22 pkgsrc-2009Q4-base:1.2 pkgsrc-2008Q4:1.2.0.20 pkgsrc-2008Q4-base:1.2 pkgsrc-2008Q3:1.2.0.18 pkgsrc-2008Q3-base:1.2 cube-native-xorg:1.2.0.16 cube-native-xorg-base:1.2 pkgsrc-2008Q2:1.2.0.14 pkgsrc-2008Q2-base:1.2 pkgsrc-2008Q1:1.2.0.12 pkgsrc-2008Q1-base:1.2 pkgsrc-2007Q4:1.2.0.10 pkgsrc-2007Q4-base:1.2 pkgsrc-2007Q3:1.2.0.8 pkgsrc-2007Q3-base:1.2 pkgsrc-2007Q2:1.2.0.6 pkgsrc-2007Q2-base:1.2 pkgsrc-2007Q1:1.2.0.4 pkgsrc-2007Q1-base:1.2 pkgsrc-2006Q4:1.2.0.2 pkgsrc-2006Q4-base:1.2; locks; strict; comment @# @; 1.2 date 2006.11.16.21.52.19; author agc; state dead; branches; next 1.1; 1.1 date 2006.10.27.20.43.27; author agc; state Exp; branches; next ; desc @@ 1.2 log @Upgrade arena from version 0.9.8 to 0.9.9. Changes in this version include: This release fixes a possible double free problem in the printf() implementation. The problem occurred when more conversion specifiers than function arguments were present and the format required a cast from the dummy void value used by the implementation to another type. Thanks to Dennis Heuer for reporting the problem. Also based on a suggestion by Dennis, the interpreter no longer allows non-terminated escape sequences in string literals. In other words, a string literal may no longer end in a backslash character. Alistair Crooks provided a couple of new example scripts that include interfacing to native C libraries under NetBSD. He also suggested to allow hexadecimal integer literals. These are now allowed and need to be prefixed with "0x". For example, "0xFF" or "0xff" is the same as writing "255". Fabian Tschiatschek provided a patch to allow extra arguments to be passed to map, filter, foldl, foldr, drop_while, and take_while. These are passed down into the function provided as the first argument. Fabian also noticed that the documentation and implementation of foldr did not agree about the order of arguments. The implementation was changed to match the language manual. There is a new library function called is_null that can check whether a memory resource contains a C NULL pointer. patch-ab has now been removed since, with the inclusion of is_null(), there is no need for it. @ text @$NetBSD: patch-ab,v 1.1 2006/10/27 20:43:27 agc Exp $ --- libstdlib/foreign.c 2006/10/27 18:48:01 1.1 +++ libstdlib/foreign.c 2006/10/27 18:48:35 @@@@ -262,7 +262,7 @@@@ break; case 'p': pres = ptrcall(func, args, dargs); - res = mem_make_pointer(pres, mfree); + res = (pres) ? mem_make_pointer(pres, mfree) : value_make_void(); break; default: res = value_make_void(); @ 1.1 log @Bump package to 0.9.7nb1 Fix two things: + in the internal tests, as a last resort, look for libc.so + when calling a foreign function from arena which returns a pointer, if the foreign function returns NULL, make the return value from dyn_call_ptr() into a void arena value. Patch has been fed back upstream. @ text @d1 1 a1 1 $NetBSD$ @