Hello community,

here is the log from the commit of package ooRexx for openSUSE:Factory checked 
in at 2016-07-05 09:52:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ooRexx (Old)
 and      /work/SRC/openSUSE:Factory/.ooRexx.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ooRexx"

Changes:
--------
--- /work/SRC/openSUSE:Factory/ooRexx/ooRexx.changes    2015-07-23 
15:23:15.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.ooRexx.new/ooRexx.changes       2016-07-05 
09:52:09.000000000 +0200
@@ -1,0 +2,14 @@
+Sun Jul  3 04:39:26 UTC 2016 - [email protected]
+
+- add patch ooRexx-4.2.0-gcc6.patch, fixed boo#985384
+  * 'false' is not convertible to a pointer in c++11, use
+    'NULL' instead.
+  * fixed name clash with gcc 6 cmath
+  * upstream bug: https://sourceforge.net/p/oorexx/bugs/1380/ (fixed)
+  * drop next release
+- build with '-O0' instead of '-O2' to avoid segmentation fault.
+  found by upstream in the same bug report but not yet fixed
+- add patch ooRexx-chdir-setgroups.patch
+  * chdir before chroot and setgroups before setuid
+
+-------------------------------------------------------------------

New:
----
  ooRexx-4.2.0-gcc6.patch
  ooRexx-chdir-setgroups.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ooRexx.spec ++++++
--- /var/tmp/diff_new_pack.KjtXSQ/_old  2016-07-05 09:52:10.000000000 +0200
+++ /var/tmp/diff_new_pack.KjtXSQ/_new  2016-07-05 09:52:10.000000000 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package ooRexx
 #
-# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -97,6 +97,10 @@
 
 Patch0:         set_default_rexx_path.patch
 Patch1:         systemd-fixes.patch
+# PATCH-FIX-UPSTREAM [email protected] - cannot convert 'bool' to 
'RexxPackageObject' in return
+Patch2:         ooRexx-4.2.0-gcc6.patch
+# PATCH-FIX-UPSTREAM [email protected] - chdir before chroot and 
setgroups before setuid
+Patch3:         ooRexx-chdir-setgroups.patch
 
 # Specify the libtool library version
 # The order of these looks wrong, but that is how it comes out!
@@ -134,6 +138,8 @@
 
 %patch0 -p1
 %patch1 -p0
+%patch2 -p1
+%patch3 -p1
 
 #******************************************************************************
 %build
@@ -144,9 +150,8 @@
 %if 0%{?suse_version}
 echo "SUSE_VERSION=%{suse_version}"
 %endif
-
-export CFLAGS="$CFLAGS $RPM_OPT_FLAGS"
-#export LDFLAGS="-ldl"
+# to avoid segmentation fault
+export CFLAGS="$CFLAGS `echo $RPM_OPT_FLAGS | sed 's/O2/O0/'`"
 export SUSE_ASNEEDED=0
 
 ./configure --disable-static --prefix=%{_prefix}

++++++ ooRexx-4.2.0-gcc6.patch ++++++
Index: b/interpreter/api/ThreadContextStubs.cpp
===================================================================
--- a/interpreter/api/ThreadContextStubs.cpp
+++ b/interpreter/api/ThreadContextStubs.cpp
@@ -576,7 +576,7 @@ RexxPackageObject RexxEntry GetRoutinePa
     catch (RexxNativeActivation *)
     {
     }
-    return false;
+    return NULLOBJECT;
 }
 
 
@@ -591,7 +591,7 @@ RexxPackageObject RexxEntry GetMethodPac
     catch (RexxNativeActivation *)
     {
     }
-    return false;
+    return NULLOBJECT;
 }
 
 
Index: b/api/oorexxapi.h
===================================================================
--- a/api/oorexxapi.h
+++ b/api/oorexxapi.h
@@ -3694,10 +3694,10 @@ END_EXTERN_C()
 #define argumentOmitted(i) (!argumentExists(i))
 
 
-#define __type(t)   ARGUMENT_TYPE_##t
+#define __rtype(t)   ARGUMENT_TYPE_##t
 #define __arg(p, t) arguments[p].value.value_##t
 #define __ret(t, v) arguments[0].value.value_##t = (v); return NULL;
-#define __adcl(t, n) __type(t) n
+#define __adcl(t, n) __rtype(t) n
 #define __tdcl(t)    REXX_VALUE_##t
 
 #define __methodstub(name) uint16_t * RexxEntry name (RexxMethodContext 
*context, ValueDescriptor *arguments)
@@ -3726,7 +3726,7 @@ END_EXTERN_C()
 
 #define RexxMethod0(returnType, name) \
 /* forward reference definition for method */ \
-__type(returnType) name##_impl (RexxMethodContext * context);  \
+__rtype(returnType) name##_impl (RexxMethodContext * context);  \
                                \
 /* method signature definition */ \
 static uint16_t name##_types[] = {__tdcl(returnType), 
REXX_ARGUMENT_TERMINATOR};    \
@@ -3743,13 +3743,13 @@ __methodstub(name) \
     return name##_types;     /* return the type signature */                   
   \
 } \
 /* the real target method code */  \
-__type(returnType) name##_impl(RexxMethodContext *context)
+__rtype(returnType) name##_impl(RexxMethodContext *context)
 
 
 // method with one argument
 #define RexxMethod1(returnType ,name, t1, n1) \
 /* forward reference definition for method */ \
-__type(returnType) name##_impl (RexxMethodContext * context, __adcl(t1, n1));  
\
+__rtype(returnType) name##_impl (RexxMethodContext * context, __adcl(t1, n1)); 
 \
                                \
 /* method signature definition */ \
 static uint16_t name##_types[] = {__tdcl(returnType), __tdcl(t1), 
REXX_ARGUMENT_TERMINATOR};    \
@@ -3766,13 +3766,13 @@ __methodstub(name) \
     return name##_types;     /* return the type signature */                   
   \
 } \
 /* the real target method code */  \
-__type(returnType) name##_impl(RexxMethodContext *context, __adcl(t1, n1))
+__rtype(returnType) name##_impl(RexxMethodContext *context, __adcl(t1, n1))
 
 
 // method with two arguments
 #define RexxMethod2(returnType ,name, t1, n1, t2, n2) \
 /* forward reference definition for method */ \
-__type(returnType) name##_impl (RexxMethodContext * context, __adcl(t1, n1), 
__adcl(t2, n2));  \
+__rtype(returnType) name##_impl (RexxMethodContext * context, __adcl(t1, n1), 
__adcl(t2, n2));  \
                                \
 /* method signature definition */ \
 static uint16_t name##_types[] = {__tdcl(returnType), __tdcl(t1), __tdcl(t2), 
REXX_ARGUMENT_TERMINATOR};    \
@@ -3789,13 +3789,13 @@ __methodstub(name) \
     return name##_types;     /* return the type signature */                   
   \
 } \
 /* the real target method code */  \
-__type(returnType) name##_impl(RexxMethodContext *context, __adcl(t1, n1), 
__adcl(t2, n2))
+__rtype(returnType) name##_impl(RexxMethodContext *context, __adcl(t1, n1), 
__adcl(t2, n2))
 
 
 // method with three arguments
 #define RexxMethod3(returnType ,name, t1, n1, t2, n2, t3, n3) \
 /* forward reference definition for method */ \
-__type(returnType) name##_impl (RexxMethodContext * context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3));  \
+__rtype(returnType) name##_impl (RexxMethodContext * context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3));  \
                                \
 /* method signature definition */ \
 static uint16_t name##_types[] = {__tdcl(returnType), __tdcl(t1), __tdcl(t2), 
__tdcl(t3), REXX_ARGUMENT_TERMINATOR};    \
@@ -3812,13 +3812,13 @@ __methodstub(name) \
     return name##_types;     /* return the type signature */                   
   \
 } \
 /* the real target method code */  \
-__type(returnType) name##_impl(RexxMethodContext *context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3))
+__rtype(returnType) name##_impl(RexxMethodContext *context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3))
 
 
 // method with four arguments
 #define RexxMethod4(returnType ,name, t1, n1, t2, n2, t3, n3, t4, n4) \
 /* forward reference definition for method */ \
-__type(returnType) name##_impl (RexxMethodContext * context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4));  \
+__rtype(returnType) name##_impl (RexxMethodContext * context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4));  \
                                \
 /* method signature definition */ \
 static uint16_t name##_types[] = {__tdcl(returnType), __tdcl(t1), __tdcl(t2), 
__tdcl(t3), __tdcl(t4), REXX_ARGUMENT_TERMINATOR};    \
@@ -3835,13 +3835,13 @@ __methodstub(name) \
     return name##_types;     /* return the type signature */                   
   \
 } \
 /* the real target method code */  \
-__type(returnType) name##_impl(RexxMethodContext *context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4))
+__rtype(returnType) name##_impl(RexxMethodContext *context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4))
 
 
 // method with five arguments
 #define RexxMethod5(returnType ,name, t1, n1, t2, n2, t3, n3, t4, n4, t5, n5) \
 /* forward reference definition for method */ \
-__type(returnType) name##_impl (RexxMethodContext * context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5));  \
+__rtype(returnType) name##_impl (RexxMethodContext * context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5));  \
                                \
 /* method signature definition */ \
 static uint16_t name##_types[] = {__tdcl(returnType), __tdcl(t1), __tdcl(t2), 
__tdcl(t3), __tdcl(t4), __tdcl(t5), REXX_ARGUMENT_TERMINATOR};    \
@@ -3858,13 +3858,13 @@ __methodstub(name) \
     return name##_types;     /* return the type signature */                   
   \
 } \
 /* the real target method code */  \
-__type(returnType) name##_impl(RexxMethodContext *context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5))
+__rtype(returnType) name##_impl(RexxMethodContext *context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5))
 
 
 // method with six arguments
 #define RexxMethod6(returnType, name, t1, n1, t2, n2, t3, n3, t4, n4, t5, n5, 
t6, n6) \
 /* forward reference definition for method */ \
-__type(returnType) name##_impl (RexxMethodContext * context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, 
n6));  \
+__rtype(returnType) name##_impl (RexxMethodContext * context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, 
n6));  \
                                \
 /* method signature definition */ \
 static uint16_t name##_types[] = {__tdcl(returnType), __tdcl(t1), __tdcl(t2), 
__tdcl(t3), __tdcl(t4), __tdcl(t5), __tdcl(t6), REXX_ARGUMENT_TERMINATOR};    \
@@ -3881,13 +3881,13 @@ __methodstub(name) \
     return name##_types;     /* return the type signature */                   
   \
 } \
 /* the real target method code */  \
-__type(returnType) name##_impl(RexxMethodContext *context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6))
+__rtype(returnType) name##_impl(RexxMethodContext *context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6))
 
 
 // method with seven arguments
 #define RexxMethod7(returnType, name, t1, n1, t2, n2, t3, n3, t4, n4, t5, n5, 
t6, n6, t7, n7) \
 /* forward reference definition for method */ \
-__type(returnType) name##_impl (RexxMethodContext * context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), 
__adcl(t7, n7));  \
+__rtype(returnType) name##_impl (RexxMethodContext * context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), 
__adcl(t7, n7));  \
                                \
 /* method signature definition */ \
 static uint16_t name##_types[] = {__tdcl(returnType), __tdcl(t1), __tdcl(t2), 
__tdcl(t3), __tdcl(t4), __tdcl(t5), __tdcl(t6), __tdcl(t7), 
REXX_ARGUMENT_TERMINATOR};    \
@@ -3904,13 +3904,13 @@ __methodstub(name) \
     return name##_types;     /* return the type signature */                   
   \
 } \
 /* the real target method code */  \
-__type(returnType) name##_impl(RexxMethodContext *context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), 
__adcl(t7, n7))
+__rtype(returnType) name##_impl(RexxMethodContext *context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), 
__adcl(t7, n7))
 
 
 // method with eight arguments
 #define RexxMethod8(returnType, name, t1, n1, t2, n2, t3, n3, t4, n4, t5, n5, 
t6, n6, t7, n7, t8, n8) \
 /* forward reference definition for method */ \
-__type(returnType) name##_impl (RexxMethodContext * context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), 
__adcl(t7, n7), __adcl(t8, n8));  \
+__rtype(returnType) name##_impl (RexxMethodContext * context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), 
__adcl(t7, n7), __adcl(t8, n8));  \
                                \
 /* method signature definition */ \
 static uint16_t name##_types[] = {__tdcl(returnType), __tdcl(t1), __tdcl(t2), 
__tdcl(t3), __tdcl(t4), __tdcl(t5), __tdcl(t6), __tdcl(t7), __tdcl(t8), 
REXX_ARGUMENT_TERMINATOR};    \
@@ -3927,13 +3927,13 @@ __methodstub(name) \
     return name##_types;     /* return the type signature */                   
   \
 } \
 /* the real target method code */  \
-__type(returnType) name##_impl(RexxMethodContext *context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), 
__adcl(t7, n7), __adcl(t8, n8))
+__rtype(returnType) name##_impl(RexxMethodContext *context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), 
__adcl(t7, n7), __adcl(t8, n8))
 
 
 // method with nine arguments
 #define RexxMethod9(returnType, name, t1, n1, t2, n2, t3, n3, t4, n4, t5, n5, 
t6, n6, t7, n7, t8, n8, t9, n9) \
 /* forward reference definition for method */ \
-__type(returnType) name##_impl (RexxMethodContext * context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), 
__adcl(t7, n7), __adcl(t8, n8), __adcl(t9, n9));  \
+__rtype(returnType) name##_impl (RexxMethodContext * context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), 
__adcl(t7, n7), __adcl(t8, n8), __adcl(t9, n9));  \
                                \
 /* method signature definition */ \
 static uint16_t name##_types[] = {__tdcl(returnType), __tdcl(t1), __tdcl(t2), 
__tdcl(t3), __tdcl(t4), __tdcl(t5), __tdcl(t6), __tdcl(t7), __tdcl(t8), 
__tdcl(t9), REXX_ARGUMENT_TERMINATOR};    \
@@ -3950,13 +3950,13 @@ __methodstub(name) \
     return name##_types;     /* return the type signature */                   
   \
 } \
 /* the real target method code */  \
-__type(returnType) name##_impl(RexxMethodContext *context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), 
__adcl(t7, n7), __adcl(t8, n8), __adcl(t9, n9))
+__rtype(returnType) name##_impl(RexxMethodContext *context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), 
__adcl(t7, n7), __adcl(t8, n8), __adcl(t9, n9))
 
 
 // method with 10 arguments
 #define RexxMethod10(returnType, name, t1, n1, t2, n2, t3, n3, t4, n4, t5, n5, 
t6, n6, t7, n7, t8, n8, t9, n9, t10, n10) \
 /* forward reference definition for method */ \
-__type(returnType) name##_impl (RexxMethodContext * context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), 
__adcl(t7, n7), __adcl(t8, n8), __adcl(t9, n9), __adcl(t10, n10));  \
+__rtype(returnType) name##_impl (RexxMethodContext * context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), 
__adcl(t7, n7), __adcl(t8, n8), __adcl(t9, n9), __adcl(t10, n10));  \
                                \
 /* method signature definition */ \
 static uint16_t name##_types[] = {__tdcl(returnType), __tdcl(t1), __tdcl(t2), 
__tdcl(t3), __tdcl(t4), __tdcl(t5), __tdcl(t6), __tdcl(t7), __tdcl(t8), 
__tdcl(t9), __tdcl(t10), REXX_ARGUMENT_TERMINATOR};    \
@@ -3973,7 +3973,7 @@ __methodstub(name) \
     return name##_types;     /* return the type signature */                   
   \
 } \
 /* the real target method code */  \
-__type(returnType) name##_impl(RexxMethodContext *context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), 
__adcl(t7, n7), __adcl(t8, n8), __adcl(t9, n9), __adcl(t10, n10))
+__rtype(returnType) name##_impl(RexxMethodContext *context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), 
__adcl(t7, n7), __adcl(t8, n8), __adcl(t9, n9), __adcl(t10, n10))
 
 
 #define __functionstub(name) uint16_t * RexxEntry name(RexxCallContext 
*context, ValueDescriptor *arguments)
@@ -3990,7 +3990,7 @@ __type(returnType) name##_impl(RexxMetho
 
 #define RexxRoutine0(returnType, name) \
 /* forward reference definition for method */ \
-__type(returnType) name##_impl (RexxCallContext * context);  \
+__rtype(returnType) name##_impl (RexxCallContext * context);  \
                                \
 /* method signature definition */ \
 static uint16_t name##_types[] = {__tdcl(returnType), 
REXX_ARGUMENT_TERMINATOR};    \
@@ -4007,13 +4007,13 @@ __functionstub(name) \
     return name##_types;     /* return the type signature */                   
   \
 } \
 /* the real target method code */  \
-__type(returnType) name##_impl(RexxCallContext *context)
+__rtype(returnType) name##_impl(RexxCallContext *context)
 
 
 // method with one argument
 #define RexxRoutine1(returnType ,name, t1, n1) \
 /* forward reference definition for method */ \
-__type(returnType) name##_impl (RexxCallContext * context, __adcl(t1, n1));  \
+__rtype(returnType) name##_impl (RexxCallContext * context, __adcl(t1, n1));  \
                                \
 /* method signature definition */ \
 static uint16_t name##_types[] = {__tdcl(returnType), __tdcl(t1), 
REXX_ARGUMENT_TERMINATOR};    \
@@ -4030,13 +4030,13 @@ __functionstub(name) \
     return name##_types;     /* return the type signature */                   
   \
 } \
 /* the real target method code */  \
-__type(returnType) name##_impl(RexxCallContext *context, __adcl(t1, n1))
+__rtype(returnType) name##_impl(RexxCallContext *context, __adcl(t1, n1))
 
 
 // method with two arguments
 #define RexxRoutine2(returnType ,name, t1, n1, t2, n2) \
 /* forward reference definition for method */ \
-__type(returnType) name##_impl (RexxCallContext * context, __adcl(t1, n1), 
__adcl(t2, n2));  \
+__rtype(returnType) name##_impl (RexxCallContext * context, __adcl(t1, n1), 
__adcl(t2, n2));  \
                                \
 /* method signature definition */ \
 static uint16_t name##_types[] = {__tdcl(returnType), __tdcl(t1), __tdcl(t2), 
REXX_ARGUMENT_TERMINATOR };    \
@@ -4053,13 +4053,13 @@ __functionstub(name) \
     return name##_types;     /* return the type signature */                   
   \
 } \
 /* the real target method code */  \
-__type(returnType) name##_impl(RexxCallContext *context, __adcl(t1, n1), 
__adcl(t2, n2))
+__rtype(returnType) name##_impl(RexxCallContext *context, __adcl(t1, n1), 
__adcl(t2, n2))
 
 
 // method with three arguments
 #define RexxRoutine3(returnType ,name, t1, n1, t2, n2, t3, n3) \
 /* forward reference definition for method */ \
-__type(returnType) name##_impl (RexxCallContext * context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3));  \
+__rtype(returnType) name##_impl (RexxCallContext * context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3));  \
                                \
 /* method signature definition */ \
 static uint16_t name##_types[] = {__tdcl(returnType), __tdcl(t1), __tdcl(t2), 
__tdcl(t3), REXX_ARGUMENT_TERMINATOR};    \
@@ -4076,13 +4076,13 @@ __functionstub(name) \
     return name##_types;     /* return the type signature */                   
   \
 } \
 /* the real target method code */  \
-__type(returnType) name##_impl(RexxCallContext *context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3))
+__rtype(returnType) name##_impl(RexxCallContext *context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3))
 
 
 // method with four arguments
 #define RexxRoutine4(returnType ,name, t1, n1, t2, n2, t3, n3, t4, n4) \
 /* forward reference definition for method */ \
-__type(returnType) name##_impl (RexxCallContext * context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4));  \
+__rtype(returnType) name##_impl (RexxCallContext * context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4));  \
                                \
 /* method signature definition */ \
 static uint16_t name##_types[] = {__tdcl(returnType), __tdcl(t1), __tdcl(t2), 
__tdcl(t3), __tdcl(t4), REXX_ARGUMENT_TERMINATOR};    \
@@ -4099,13 +4099,13 @@ __functionstub(name) \
     return name##_types;     /* return the type signature */                   
   \
 } \
 /* the real target method code */  \
-__type(returnType) name##_impl(RexxCallContext *context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4))
+__rtype(returnType) name##_impl(RexxCallContext *context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4))
 
 
 // method with five arguments
 #define RexxRoutine5(returnType ,name, t1, n1, t2, n2, t3, n3, t4, n4, t5, n5) 
\
 /* forward reference definition for method */ \
-__type(returnType) name##_impl (RexxCallContext * context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5));  \
+__rtype(returnType) name##_impl (RexxCallContext * context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5));  \
                                \
 /* method signature definition */ \
 static uint16_t name##_types[] = {__tdcl(returnType), __tdcl(t1), __tdcl(t2), 
__tdcl(t3), __tdcl(t4), __tdcl(t5), REXX_ARGUMENT_TERMINATOR};    \
@@ -4122,13 +4122,13 @@ __functionstub(name) \
     return name##_types;     /* return the type signature */                   
   \
 } \
 /* the real target method code */  \
-__type(returnType) name##_impl(RexxCallContext *context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5))
+__rtype(returnType) name##_impl(RexxCallContext *context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5))
 
 
 // method with six arguments
 #define RexxRoutine6(returnType, name, t1, n1, t2, n2, t3, n3, t4, n4, t5, n5, 
t6, n6) \
 /* forward reference definition for method */ \
-__type(returnType) name##_impl (RexxCallContext * context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, 
n6));  \
+__rtype(returnType) name##_impl (RexxCallContext * context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, 
n6));  \
                                \
 /* method signature definition */ \
 static uint16_t name##_types[] = {__tdcl(returnType), __tdcl(t1), __tdcl(t2), 
__tdcl(t3), __tdcl(t4), __tdcl(t5), __tdcl(t6), REXX_ARGUMENT_TERMINATOR};    \
@@ -4145,12 +4145,12 @@ __functionstub(name) \
     return name##_types;     /* return the type signature */                   
   \
 } \
 /* the real target method code */  \
-__type(returnType) name##_impl(RexxCallContext *context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6))
+__rtype(returnType) name##_impl(RexxCallContext *context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6))
 
 // method with seven arguments
 #define RexxRoutine7(returnType, name, t1, n1, t2, n2, t3, n3, t4, n4, t5, n5, 
t6, n6, t7, n7) \
 /* forward reference definition for method */ \
-__type(returnType) name##_impl (RexxCallContext * context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), 
__adcl(t7, n7)); \
+__rtype(returnType) name##_impl (RexxCallContext * context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), 
__adcl(t7, n7)); \
                                \
 /* method signature definition */ \
 static uint16_t name##_types[] = {__tdcl(returnType), __tdcl(t1), __tdcl(t2), 
__tdcl(t3), __tdcl(t4), __tdcl(t5), __tdcl(t6), __tdcl(t7), 
REXX_ARGUMENT_TERMINATOR};    \
@@ -4167,13 +4167,13 @@ __functionstub(name) \
     return name##_types;     /* return the type signature */                   
   \
 } \
 /* the real target method code */  \
-__type(returnType) name##_impl(RexxCallContext *context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), 
__adcl(t7, n7))
+__rtype(returnType) name##_impl(RexxCallContext *context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), 
__adcl(t7, n7))
 
 
 // function with eight arguments
 #define RexxRoutine8(returnType, name, t1, n1, t2, n2, t3, n3, t4, n4, t5, n5, 
t6, n6, t7, n7, t8, n8) \
 /* forward reference definition for method */ \
-__type(returnType) name##_impl (RexxCallContext * context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), 
__adcl(t7, n7), __adcl(t8, n8));  \
+__rtype(returnType) name##_impl (RexxCallContext * context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), 
__adcl(t7, n7), __adcl(t8, n8));  \
                                \
 /* method signature definition */ \
 static uint16_t name##_types[] = {__tdcl(returnType), __tdcl(t1), __tdcl(t2), 
__tdcl(t3), __tdcl(t4), __tdcl(t5), __tdcl(t6), __tdcl(t7), __tdcl(t8), 
REXX_ARGUMENT_TERMINATOR};    \
@@ -4190,13 +4190,13 @@ __functionstub(name) \
     return name##_types;     /* return the type signature */                   
   \
 } \
 /* the real target method code */  \
-__type(returnType) name##_impl(RexxCallContext *context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), 
__adcl(t7, n7), __adcl(t8, n8))
+__rtype(returnType) name##_impl(RexxCallContext *context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), 
__adcl(t7, n7), __adcl(t8, n8))
 
 
 // function with nine arguments
 #define RexxRoutine9(returnType, name, t1, n1, t2, n2, t3, n3, t4, n4, t5, n5, 
t6, n6, t7, n7, t8, n8, t9, n9) \
 /* forward reference definition for method */ \
-__type(returnType) name##_impl (RexxCallContext * context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), 
__adcl(t7, n7), __adcl(t8, n8), __adcl(t9, n9));  \
+__rtype(returnType) name##_impl (RexxCallContext * context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), 
__adcl(t7, n7), __adcl(t8, n8), __adcl(t9, n9));  \
                                \
 /* method signature definition */ \
 static uint16_t name##_types[] = {__tdcl(returnType), __tdcl(t1), __tdcl(t2), 
__tdcl(t3), __tdcl(t4), __tdcl(t5), __tdcl(t6), __tdcl(t7), __tdcl(t8), 
__tdcl(t9), REXX_ARGUMENT_TERMINATOR};    \
@@ -4213,13 +4213,13 @@ __functionstub(name) \
     return name##_types;     /* return the type signature */                   
   \
 } \
 /* the real target method code */  \
-__type(returnType) name##_impl(RexxCallContext *context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), 
__adcl(t7, n7), __adcl(t8, n8), __adcl(t9, n9))
+__rtype(returnType) name##_impl(RexxCallContext *context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), 
__adcl(t7, n7), __adcl(t8, n8), __adcl(t9, n9))
 
 
 // function with ten arguments
 #define RexxRoutine10(returnType, name, t1, n1, t2, n2, t3, n3, t4, n4, t5, 
n5, t6, n6, t7, n7, t8, n8, t9, n9, t10, n10) \
 /* forward reference definition for method */ \
-__type(returnType) name##_impl (RexxCallContext * context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), 
__adcl(t7, n7), __adcl(t8, n8), __adcl(t9, n9), __adcl(t10, n10));  \
+__rtype(returnType) name##_impl (RexxCallContext * context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), 
__adcl(t7, n7), __adcl(t8, n8), __adcl(t9, n9), __adcl(t10, n10));  \
                                \
 /* method signature definition */ \
 static uint16_t name##_types[] = {__tdcl(returnType), __tdcl(t1), __tdcl(t2), 
__tdcl(t3), __tdcl(t4), __tdcl(t5), __tdcl(t6), __tdcl(t7), __tdcl(t8), 
__tdcl(t9), __tdcl(t10), REXX_ARGUMENT_TERMINATOR};    \
@@ -4236,7 +4236,7 @@ __functionstub(name) \
     return name##_types;     /* return the type signature */                   
   \
 } \
 /* the real target method code */  \
-__type(returnType) name##_impl(RexxCallContext *context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), 
__adcl(t7, n7), __adcl(t8, n8), __adcl(t9, n9), __adcl(t10, n10))
+__rtype(returnType) name##_impl(RexxCallContext *context, __adcl(t1, n1), 
__adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), 
__adcl(t7, n7), __adcl(t8, n8), __adcl(t9, n9), __adcl(t10, n10))
 
 
/******************************************************************************/
 /* Types (used in macro expansions and function prototypes)                   
*/
Index: b/interpreter/runtime/Interpreter.hpp
===================================================================
--- a/interpreter/runtime/Interpreter.hpp
+++ b/interpreter/runtime/Interpreter.hpp
@@ -119,7 +119,7 @@ public:
     static inline bool isBigEndian()
     {
         static  const  int mfcone=1;                 // constant 1
-        static  const  char *mfctop=(char *)&mfcone; // -> top byte
+        static  const  char *mfctop=(const char *)&mfcone; // -> top byte
         #define LITEND *mfctop             // named flag; 1=little-endian
 
         return LITEND == 0;
++++++ ooRexx-chdir-setgroups.patch ++++++
Index: b/extensions/platform/unix/rxunixsys/rxunixsys.cpp
===================================================================
--- a/extensions/platform/unix/rxunixsys/rxunixsys.cpp
+++ b/extensions/platform/unix/rxunixsys/rxunixsys.cpp
@@ -180,7 +180,7 @@ RexxRoutine1(RexxObjectPtr,
              SysSetuid,
              int, uid)
 {
-
+    setgroups(0, NULL);
     return context->WholeNumberToObject((wholenumber_t)setuid((uid_t)uid));
 }
 
@@ -549,6 +549,7 @@ RexxRoutine1(int,
              SysChroot,
              CSTRING, path1)
 {
+    chdir("/");
     return chroot(path1);
 }
 

Reply via email to