From: <bi...@us...> - 2009-05-02 11:28:55
|
Revision: 4578 http://oorexx.svn.sourceforge.net/oorexx/?rev=4578&view=rev Author: bigrixx Date: 2009-05-02 11:28:40 +0000 (Sat, 02 May 2009) Log Message: ----------- [ oorexx-Bugs-2785531 ] CONDITION(O) object different on 4.0 for NOTREADY error. Modified Paths: -------------- main/trunk/api/oorexxapi.h main/trunk/interpreter/api/ThreadContextStubs.cpp main/trunk/interpreter/streamLibrary/StreamNative.cpp Modified: main/trunk/api/oorexxapi.h =================================================================== --- main/trunk/api/oorexxapi.h 2009-05-02 04:21:16 UTC (rev 4577) +++ main/trunk/api/oorexxapi.h 2009-05-02 11:28:40 UTC (rev 4578) @@ -573,7 +573,7 @@ void (RexxEntry *RaiseException1)(RexxThreadContext *, size_t, RexxObjectPtr); void (RexxEntry *RaiseException2)(RexxThreadContext *, size_t, RexxObjectPtr, RexxObjectPtr); void (RexxEntry *RaiseException)(RexxThreadContext *, size_t, RexxArrayObject); - void (RexxEntry *RaiseCondition)(RexxThreadContext *, CSTRING, RexxStringObject, RexxArrayObject, RexxObjectPtr); + void (RexxEntry *RaiseCondition)(RexxThreadContext *, CSTRING, RexxStringObject, RexxObjectPtr, RexxObjectPtr); logical_t (RexxEntry *CheckCondition)(RexxThreadContext *); RexxDirectoryObject (RexxEntry *GetConditionInfo)(RexxThreadContext *); void (RexxEntry *DecodeConditionInfo)(RexxThreadContext *, RexxDirectoryObject, RexxCondition *); @@ -1290,7 +1290,7 @@ { functions->RaiseException(this, n, ao); } - void RaiseCondition(CSTRING s1, RexxStringObject s2, RexxArrayObject ao, RexxObjectPtr o) + void RaiseCondition(CSTRING s1, RexxStringObject s2, RexxObjectPtr ao, RexxObjectPtr o) { functions->RaiseCondition(this, s1, s2, ao, o); } @@ -1934,7 +1934,7 @@ { threadContext->RaiseException(n, ao); } - void RaiseCondition(CSTRING s1, RexxStringObject s2, RexxArrayObject ao, RexxObjectPtr o) + void RaiseCondition(CSTRING s1, RexxStringObject s2, RexxObjectPtr ao, RexxObjectPtr o) { threadContext->RaiseCondition(s1, s2, ao, o); } @@ -2635,7 +2635,7 @@ { threadContext->RaiseException(n, ao); } - void RaiseCondition(CSTRING s1, RexxStringObject s2, RexxArrayObject ao, RexxObjectPtr o) + void RaiseCondition(CSTRING s1, RexxStringObject s2, RexxObjectPtr ao, RexxObjectPtr o) { threadContext->RaiseCondition(s1, s2, ao, o); } @@ -3342,7 +3342,7 @@ { threadContext->RaiseException(n, ao); } - void RaiseCondition(CSTRING s1, RexxStringObject s2, RexxArrayObject ao, RexxObjectPtr o) + void RaiseCondition(CSTRING s1, RexxStringObject s2, RexxObjectPtr ao, RexxObjectPtr o) { threadContext->RaiseCondition(s1, s2, ao, o); } Modified: main/trunk/interpreter/api/ThreadContextStubs.cpp =================================================================== --- main/trunk/interpreter/api/ThreadContextStubs.cpp 2009-05-02 04:21:16 UTC (rev 4577) +++ main/trunk/interpreter/api/ThreadContextStubs.cpp 2009-05-02 11:28:40 UTC (rev 4578) @@ -1719,13 +1719,13 @@ } } -void RexxEntry RaiseCondition(RexxThreadContext *c, CSTRING name, RexxStringObject desc, RexxArrayObject add, RexxObjectPtr result) +void RexxEntry RaiseCondition(RexxThreadContext *c, CSTRING name, RexxStringObject desc, RexxObjectPtr add, RexxObjectPtr result) { ApiContext context(c); try { context.context->enableConditionTrap(); - context.activity->raiseCondition(new_upper_string(name), OREF_NULL, (RexxString *)desc, (RexxArray *)add, (RexxObject *)result); + context.activity->raiseCondition(new_upper_string(name), OREF_NULL, (RexxString *)desc, (RexxObject *)add, (RexxObject *)result); } catch (RexxNativeActivation *) { Modified: main/trunk/interpreter/streamLibrary/StreamNative.cpp =================================================================== --- main/trunk/interpreter/streamLibrary/StreamNative.cpp 2009-05-02 04:21:16 UTC (rev 4577) +++ main/trunk/interpreter/streamLibrary/StreamNative.cpp 2009-05-02 11:28:40 UTC (rev 4578) @@ -306,7 +306,8 @@ errorInfo = error_code; fileInfo.clearErrors(); // clear any errors if the stream is open // raise this as a notready condition - context->RaiseCondition("NOTREADY", context->String(stream_name), context->ArrayOfOne(self), result); + // NOTE: The additional information only needs to + context->RaiseCondition("NOTREADY", context->String(stream_name), self, result); // throw the stream object as an exception to unwind throw this; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |