Index: ossp-pkg/al/AUTHORS RCS File: /v/ossp/cvs/ossp-pkg/al/AUTHORS,v rcsdiff -q -kk '-r1.1' '-r1.2' -u '/v/ossp/cvs/ossp-pkg/al/AUTHORS,v' 2>/dev/null --- AUTHORS 2002/12/16 12:24:51 1.1 +++ AUTHORS 2005/10/03 08:43:03 1.2 @@ -11,5 +11,5 @@ This is a list of authors who have written or edited major parts of the OSSP al sources. - Michael van Elst + Michael van Elst Index: ossp-pkg/al/ChangeLog RCS File: /v/ossp/cvs/ossp-pkg/al/ChangeLog,v rcsdiff -q -kk '-r1.4' '-r1.5' -u '/v/ossp/cvs/ossp-pkg/al/ChangeLog,v' 2>/dev/null --- ChangeLog 2003/01/06 13:49:24 1.4 +++ ChangeLog 2005/10/03 08:43:03 1.5 @@ -11,13 +11,34 @@ This is a list of all changes to OSSP al. For a more brief summary please have a look at the NEWS file. + Changes between 0.9.1 and 0.9.2 (16-Dec-2002 to 02-Oct-2005) + + o Upgraded build environment to GNU autoconf 2.59, + GNU libtool 1.5.20 and GNU shtool 2.0.3 + [Ralf S. Engelschall ] + + o Provide Autoconf check (AC_CHECK_VA_COPY) for va_copy(d,s) macro + and fallback implementations and now that we can be sure that + va_copy() exists for us, use it in var_formatv() and ts.c instead + of the direct assignments (which are not sufficiently portable). + [Ralf S. Engelschall ] + + o Adjusted copyright messages for year 2005. + [Ralf S. Engelschall ] + Changes between 0.9.0 and 0.9.1 (16-Dec-2002 to 16-Dec-2002) o Adjusted copyright messages for new year 2003. + [Ralf S. Engelschall ] o Fixed ex support in al_test + [Ralf S. Engelschall ] o Proper inclusion of autoconf headers + [Ralf S. Engelschall ] Initial release 0.9.0 (16-Dec-2002) + + o *GENESIS* + [Michael van Elst ] Index: ossp-pkg/al/Makefile.in RCS File: /v/ossp/cvs/ossp-pkg/al/Makefile.in,v rcsdiff -q -kk '-r1.3' '-r1.4' -u '/v/ossp/cvs/ossp-pkg/al/Makefile.in,v' 2>/dev/null --- Makefile.in 2003/01/06 13:49:24 1.3 +++ Makefile.in 2005/10/03 08:43:03 1.4 @@ -1,9 +1,9 @@ ## ## OSSP al - Assembly Line -## Copyright (c) 2002-2003 Ralf S. Engelschall -## Copyright (c) 2002-2003 The OSSP Project -## Copyright (c) 2002-2003 Cable & Wireless Deutschland -## Copyright (c) 2002-2003 Michael van Elst +## Copyright (c) 2002-2005 Ralf S. Engelschall +## Copyright (c) 2002-2005 The OSSP Project +## Copyright (c) 2002-2005 Cable & Wireless +## Copyright (c) 2002-2005 Michael van Elst ## ## This file is part of OSSP al, an abstract datatype of a data buffer ## that can assemble, move and truncate data but avoids actual copying Index: ossp-pkg/al/README RCS File: /v/ossp/cvs/ossp-pkg/al/README,v rcsdiff -q -kk '-r1.5' '-r1.6' -u '/v/ossp/cvs/ossp-pkg/al/README,v' 2>/dev/null --- README 2003/01/06 13:49:24 1.5 +++ README 2005/10/03 08:43:03 1.6 @@ -19,10 +19,10 @@ COPYRIGHT AND LICENSE - Copyright (c) 2002-2003 Ralf S. Engelschall - Copyright (c) 2002-2003 The OSSP Project - Copyright (c) 2002-2003 Cable & Wireless Deutschland - Copyright (c) 2002-2003 Michael van Elst + Copyright (c) 2002-2005 Ralf S. Engelschall + Copyright (c) 2002-2005 The OSSP Project + Copyright (c) 2002-2005 Cable & Wireless + Copyright (c) 2002-2005 Michael van Elst This file is part of OSSP al, an abstract data type of a data buffer that can assemble, move and truncate data but avoids actual copying. Index: ossp-pkg/al/aclocal.m4 RCS File: /v/ossp/cvs/ossp-pkg/al/aclocal.m4,v rcsdiff -q -kk '-r1.2' '-r1.3' -u '/v/ossp/cvs/ossp-pkg/al/aclocal.m4,v' 2>/dev/null --- aclocal.m4 2003/01/06 13:49:24 1.2 +++ aclocal.m4 2005/10/03 08:43:03 1.3 @@ -1,9 +1,9 @@ dnl ## dnl ## al - OSSP Assembly Line -dnl ## Copyright (c) 2002-2003 Ralf S. Engelschall -dnl ## Copyright (c) 2002-2003 The OSSP Project -dnl ## Copyright (c) 2002-2003 Cable & Wireless Deutschland -dnl ## Copyright (c) 2002-2003 Michael van Elst +dnl ## Copyright (c) 2002-2005 Ralf S. Engelschall +dnl ## Copyright (c) 2002-2005 The OSSP Project +dnl ## Copyright (c) 2002-2005 Cable & Wireless +dnl ## Copyright (c) 2002-2005 Michael van Elst dnl ## dnl ## This file is part of OSSP al, an abstract datatype of a data buffer dnl ## that can assemble, move and truncate data but avoids actual copying. @@ -227,3 +227,112 @@ AC_MSG_RESULT([$with_$2]) ])dnl +dnl ## +dnl ## Check for C99 va_copy() implementation +dnl ## (and provide fallback implementation if neccessary) +dnl ## +dnl ## configure.in: +dnl ## CHECK_VA_COPY +dnl ## foo.c: +dnl ## #include "config.h" +dnl ## [...] +dnl ## va_copy(d,s) +dnl ## +dnl ## This check is rather complex: first because we really have to +dnl ## try various possible implementations in sequence and second, we +dnl ## cannot define a macro in config.h with parameters directly. +dnl ## + +dnl # test program for va_copy() implementation +changequote(<<,>>) +m4_define(__va_copy_test, <<[ +#include +#include +#include +#define DO_VA_COPY(d, s) $1 +void test(char *str, ...) +{ + va_list ap, ap2; + int i; + va_start(ap, str); + DO_VA_COPY(ap2, ap); + for (i = 1; i <= 9; i++) { + int k = (int)va_arg(ap, int); + if (k != i) + abort(); + } + DO_VA_COPY(ap, ap2); + for (i = 1; i <= 9; i++) { + int k = (int)va_arg(ap, int); + if (k != i) + abort(); + } + va_end(ap); +} +int main(int argc, char *argv[]) +{ + test("test", 1, 2, 3, 4, 5, 6, 7, 8, 9); + exit(0); +} +]>>) +changequote([,]) + +dnl # test driver for va_copy() implementation +m4_define(__va_copy_check, [ + AH_VERBATIM($1, +[/* Predefined possible va_copy() implementation (id: $1) */ +#define __VA_COPY_USE_$1(d, s) $2]) + if test ".$ac_cv_va_copy" = .; then + AC_TRY_RUN(__va_copy_test($2), [ac_cv_va_copy="$1"]) + fi +]) + +dnl # Autoconf check for va_copy() implementation checking +AC_DEFUN(CHECK_VA_COPY,[ + dnl # provide Autoconf display check message + AC_MSG_CHECKING(for va_copy() function) + dnl # check for various implementations in priorized sequence + AC_CACHE_VAL(ac_cv_va_copy, [ + ac_cv_va_copy="" + dnl # 1. check for standardized C99 macro + __va_copy_check(C99, [va_copy((d), (s))]) + dnl # 2. check for alternative/deprecated GCC macro + __va_copy_check(GCM, [VA_COPY((d), (s))]) + dnl # 3. check for internal GCC macro (high-level define) + __va_copy_check(GCH, [__va_copy((d), (s))]) + dnl # 4. check for internal GCC macro (built-in function) + __va_copy_check(GCB, [__builtin_va_copy((d), (s))]) + dnl # 5. check for assignment approach (assuming va_list is a struct) + __va_copy_check(ASS, [do { (d) = (s); } while (0)]) + dnl # 6. check for assignment approach (assuming va_list is a pointer) + __va_copy_check(ASP, [do { *(d) = *(s); } while (0)]) + dnl # 7. check for memory copying approach (assuming va_list is a struct) + __va_copy_check(CPS, [memcpy((void *)&(d), (void *)&(s)), sizeof((s))]) + dnl # 8. check for memory copying approach (assuming va_list is a pointer) + __va_copy_check(CPP, [memcpy((void *)(d), (void *)(s)), sizeof(*(s))]) + if test ".$ac_cv_va_copy" = .; then + AC_ERROR([no working implementation found]) + fi + ]) + dnl # optionally activate the fallback implementation + if test ".$ac_cv_va_copy" = ".C99"; then + AC_DEFINE(HAVE_VA_COPY, 1, [Define if va_copy() macro exists (and no fallback implementation is required)]) + fi + dnl # declare which fallback implementation to actually use + AC_DEFINE_UNQUOTED([__VA_COPY_USE], [__VA_COPY_USE_$ac_cv_va_copy], + [Define to id of used va_copy() implementation]) + dnl # provide activation hook for fallback implementation + AH_VERBATIM([__VA_COPY_ACTIVATION], +[/* Optional va_copy() implementation activation */ +#ifndef HAVE_VA_COPY +#define va_copy(d, s) __VA_COPY_USE(d, s) +#endif +]) + dnl # provide Autoconf display result message + if test ".$ac_cv_va_copy" = ".C99"; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no (using fallback implementation)]) + fi +]) + Index: ossp-pkg/al/al-config.in RCS File: /v/ossp/cvs/ossp-pkg/al/al-config.in,v rcsdiff -q -kk '-r1.3' '-r1.4' -u '/v/ossp/cvs/ossp-pkg/al/al-config.in,v' 2>/dev/null --- al-config.in 2003/01/06 13:49:24 1.3 +++ al-config.in 2005/10/03 08:43:03 1.4 @@ -1,10 +1,10 @@ #!/bin/sh ## ## OSSP al - Assembly Line -## Copyright (c) 2002-2003 Ralf S. Engelschall -## Copyright (c) 2002-2003 The OSSP Project -## Copyright (c) 2002-2003 Cable & Wireless Deutschland -## Copyright (c) 2002-2003 Michael van Elst +## Copyright (c) 2002-2005 Ralf S. Engelschall +## Copyright (c) 2002-2005 The OSSP Project +## Copyright (c) 2002-2005 Cable & Wireless +## Copyright (c) 2002-2005 Michael van Elst ## ## This file is part of OSSP al, an abstract datatype of a data buffer ## that can assemble, move and truncate data but avoids actual copying Index: ossp-pkg/al/al.c RCS File: /v/ossp/cvs/ossp-pkg/al/al.c,v rcsdiff -q -kk '-r1.4' '-r1.5' -u '/v/ossp/cvs/ossp-pkg/al/al.c,v' 2>/dev/null --- al.c 2003/01/06 13:49:24 1.4 +++ al.c 2005/10/03 08:43:03 1.5 @@ -1,9 +1,9 @@ /* ** OSSP al -- Assembly Line -** Copyright (c) 2002-2003 The OSSP Project -** Copyright (c) 2002-2003 Cable & Wireless Deutschland -** Copyright (c) 2002-2003 Ralf S. Engelschall -** Copyright (c) 2002-2003 Michael van Elst +** Copyright (c) 2002-2005 The OSSP Project +** Copyright (c) 2002-2005 Cable & Wireless +** Copyright (c) 2002-2005 Ralf S. Engelschall +** Copyright (c) 2002-2005 Michael van Elst ** ** This file is part of OSSP al, an abstract datatype of a data buffer ** that can assemble, move and truncate data but avoids actual copying Index: ossp-pkg/al/al.h RCS File: /v/ossp/cvs/ossp-pkg/al/al.h,v rcsdiff -q -kk '-r1.3' '-r1.4' -u '/v/ossp/cvs/ossp-pkg/al/al.h,v' 2>/dev/null --- al.h 2003/01/06 13:49:24 1.3 +++ al.h 2005/10/03 08:43:03 1.4 @@ -1,9 +1,9 @@ /* ** OSSP al -- Assembly Line -** Copyright (c) 2002-2003 The OSSP Project -** Copyright (c) 2002-2003 Cable & Wireless Deutschland -** Copyright (c) 2002-2003 Ralf S. Engelschall -** Copyright (c) 2002-2003 Michael van Elst +** Copyright (c) 2002-2005 The OSSP Project +** Copyright (c) 2002-2005 Cable & Wireless +** Copyright (c) 2002-2005 Ralf S. Engelschall +** Copyright (c) 2002-2005 Michael van Elst ** ** This file is part of OSSP al, an abstract datatype of a data buffer ** that can assemble, move and truncate data but avoids actual copying Index: ossp-pkg/al/al.pod RCS File: /v/ossp/cvs/ossp-pkg/al/al.pod,v rcsdiff -q -kk '-r1.4' '-r1.5' -u '/v/ossp/cvs/ossp-pkg/al/al.pod,v' 2>/dev/null --- al.pod 2003/01/06 13:49:24 1.4 +++ al.pod 2005/10/03 08:43:03 1.5 @@ -1,9 +1,9 @@ ## ## OSSP al - Assembly Line -## Copyright (c) 2002-2003 The OSSP Project -## Copyright (c) 2002-2003 Cable & Wireless Deutschland -## Copyright (c) 2002-2003 Ralf S. Engelschall -## Copyright (c) 2002-2003 Michael van Elst +## Copyright (c) 2002-2005 The OSSP Project +## Copyright (c) 2002-2005 Cable & Wireless +## Copyright (c) 2002-2005 Ralf S. Engelschall +## Copyright (c) 2002-2005 Michael van Elst ## ## This file is part of OSSP al, an abstract datatype of a data buffer ## that can assemble, move and truncate data but avoids actual copying @@ -461,14 +461,14 @@ =head1 HISTORY B was invented in October 2002 by Michael van Elst -Emlelstv@dev.de.cw.netE under contract with Cable & Wireless +Emlelstv@serpens.deE under contract with Cable & Wireless Germany Ehttp://www.cw.com/deE for use inside the OSSP project Ehttp://www.ossp.org/E. =head1 AUTHORS Michael van Elst - mlelstv@dev.de.cw.net + mlelstv@serpens.de =cut Index: ossp-pkg/al/configure.ac RCS File: /v/ossp/cvs/ossp-pkg/al/configure.ac,v rcsdiff -q -kk '-r1.4' '-r1.5' -u '/v/ossp/cvs/ossp-pkg/al/configure.ac,v' 2>/dev/null --- configure.ac 2003/01/06 13:49:25 1.4 +++ configure.ac 2005/10/03 08:43:04 1.5 @@ -1,9 +1,9 @@ dnl ## dnl ## OSSP al - Assembly Line -dnl ## Copyright (c) 2002-2003 Ralf S. Engelschall -dnl ## Copyright (c) 2002-2003 The OSSP Project -dnl ## Copyright (c) 2002-2003 Cable & Wireless Deutschland -dnl ## Copyright (c) 2002-2003 Michael van Elst +dnl ## Copyright (c) 2002-2005 Ralf S. Engelschall +dnl ## Copyright (c) 2002-2005 The OSSP Project +dnl ## Copyright (c) 2002-2005 Cable & Wireless +dnl ## Copyright (c) 2002-2005 Michael van Elst dnl ## dnl ## This file is part of OSSP al, an abstract datatype of a data buffer dnl ## that can assemble, move and truncate data but avoids actual copying Index: ossp-pkg/al/devtool.conf RCS File: /v/ossp/cvs/ossp-pkg/al/devtool.conf,v rcsdiff -q -kk '-r1.7' '-r1.8' -u '/v/ossp/cvs/ossp-pkg/al/devtool.conf,v' 2>/dev/null --- devtool.conf 2003/06/30 10:36:53 1.7 +++ devtool.conf 2005/10/03 08:43:04 1.8 @@ -3,9 +3,9 @@ ## %autogen - @autogen shtool 1.6.2 "1.6.*" all - @autogen libtool 1.5 "1.5*" - @autogen autoconf 2.57 "2.5[3-9]*" + @autogen shtool 2.0.3 "1.6.*" all + @autogen libtool 1.5.20 "1.5*" + @autogen autoconf 2.59 "2.5[3-9]*" %autoclean @autoclean shtool Index: ossp-pkg/al/devtool.func RCS File: /v/ossp/cvs/ossp-pkg/al/devtool.func,v rcsdiff -q -kk '-r1.1' '-r1.2' -u '/v/ossp/cvs/ossp-pkg/al/devtool.func,v' 2>/dev/null --- devtool.func 2002/12/16 12:24:52 1.1 +++ devtool.func 2005/10/03 08:43:04 1.2 @@ -1,6 +1,6 @@ ## ## devtool.func -- Development Tool Functions -## Copyright (c) 2001-2002 Ralf S. Engelschall +## Copyright (c) 2001-2005 Ralf S. Engelschall ## devtool_require () { Index: ossp-pkg/al/list.h RCS File: /v/ossp/cvs/ossp-pkg/al/list.h,v rcsdiff -q -kk '-r1.2' '-r1.3' -u '/v/ossp/cvs/ossp-pkg/al/list.h,v' 2>/dev/null --- list.h 2003/01/06 13:49:25 1.2 +++ list.h 2005/10/03 08:43:04 1.3 @@ -1,9 +1,9 @@ /* ** OSSP al -- Assembly Line -** Copyright (c) 2002-2003 The OSSP Project -** Copyright (c) 2002-2003 Cable & Wireless Deutschland -** Copyright (c) 2002-2003 Ralf S. Engelschall -** Copyright (c) 2002-2003 Michael van Elst +** Copyright (c) 2002-2005 The OSSP Project +** Copyright (c) 2002-2005 Cable & Wireless +** Copyright (c) 2002-2005 Ralf S. Engelschall +** Copyright (c) 2002-2005 Michael van Elst ** ** This file is part of OSSP al, an abstract datatype of a data buffer ** that can assemble, move and truncate data but avoids actual copying. Index: ossp-pkg/al/ts.c RCS File: /v/ossp/cvs/ossp-pkg/al/ts.c,v rcsdiff -q -kk '-r1.2' '-r1.3' -u '/v/ossp/cvs/ossp-pkg/al/ts.c,v' 2>/dev/null --- ts.c 2003/02/06 13:43:47 1.2 +++ ts.c 2005/10/03 08:43:04 1.3 @@ -1,11 +1,11 @@ /* -** TS - OSSP Test Suite Library -** Copyright (c) 2001-2002 Ralf S. Engelschall -** Copyright (c) 2001-2002 The OSSP Project -** Copyright (c) 2001-2002 Cable & Wireless Deutschland +** OSSP ts - Test Suite Library +** Copyright (c) 2001-2005 Ralf S. Engelschall +** Copyright (c) 2001-2005 The OSSP Project +** Copyright (c) 2001-2005 Cable & Wireless ** -** This file is part of OSSP TS, a small test suite library which -** can be found at http://www.ossp.org/pkg/ts/. +** This file is part of OSSP ts, a small test suite library which +** can be found at http://www.ossp.org/pkg/lib/ts/. ** ** Permission to use, copy, modify, and distribute this software for ** any purpose with or without fee is hereby granted, provided that @@ -206,7 +206,7 @@ if (format == NULL) return NULL; - ap2 = ap; + va_copy(ap2, ap); if ((n = ts_suite_mvxprintf(NULL, 0, format, ap)) == -1) return NULL; if ((buffer = (char *)malloc(n+1)) == NULL) Index: ossp-pkg/al/ts.h RCS File: /v/ossp/cvs/ossp-pkg/al/ts.h,v rcsdiff -q -kk '-r1.1' '-r1.2' -u '/v/ossp/cvs/ossp-pkg/al/ts.h,v' 2>/dev/null --- ts.h 2002/12/16 12:24:52 1.1 +++ ts.h 2005/10/03 08:43:04 1.2 @@ -1,8 +1,8 @@ /* ** TS - OSSP Test Suite Library -** Copyright (c) 2001-2002 Ralf S. Engelschall -** Copyright (c) 2001-2002 The OSSP Project -** Copyright (c) 2001-2002 Cable & Wireless Deutschland +** Copyright (c) 2001-2005 Ralf S. Engelschall +** Copyright (c) 2001-2005 The OSSP Project +** Copyright (c) 2001-2005 Cable & Wireless ** ** This file is part of OSSP TS, a small test suite library which ** can be found at http://www.ossp.org/pkg/ts/.