From: <bi...@us...> - 2013-02-28 13:36:07
|
Revision: 9050 http://sourceforge.net/p/oorexx/code-0/9050 Author: bigrixx Date: 2013-02-28 13:36:03 +0000 (Thu, 28 Feb 2013) Log Message: ----------- [feature-requests:#538] inconsistent QUEUE: errors Modified Paths: -------------- main/branches/4.1/trunk/interpreter/expression/BuiltinFunctions.cpp Modified: main/branches/4.1/trunk/interpreter/expression/BuiltinFunctions.cpp =================================================================== --- main/branches/4.1/trunk/interpreter/expression/BuiltinFunctions.cpp 2013-02-28 13:31:58 UTC (rev 9049) +++ main/branches/4.1/trunk/interpreter/expression/BuiltinFunctions.cpp 2013-02-28 13:36:03 UTC (rev 9050) @@ -2074,12 +2074,34 @@ RexxString *name = optional_string(LINES, name); /* get the string name */ RexxString *option = optional_string(LINES, option); RexxObject *result; + + if (option != OREF_NULL) + { + switch (option->getChar(0)) + { /* process the option character */ + case 'C': + case 'c': + break; + case 'N': + case 'n': + break; + default: /* unknown option */ + /* this is an error */ + reportException(Error_Incorrect_call_list, CHAR_ARG, IntegerTwo, "NC", option); + break; + } + } + else + { + option = OREF_NORMAL; + } + if (check_queue(name)) { /* is this "QUEUE:" */ /* get the default output stream */ RexxObject *stream = context->getLocalEnvironment(OREF_REXXQUEUE); /* return count on the queue */ - result = stream->sendMessage(OREF_QUERY); + result = stream->sendMessage(OREF_QUEUED); } else { @@ -2087,27 +2109,6 @@ /* get a stream for this name */ RexxObject *stream = context->resolveStream(name, true, NULL, &added); - if (option != OREF_NULL) - { - switch (option->getChar(0)) - { /* process the option character */ - case 'C': - case 'c': - break; - case 'N': - case 'n': - break; - default: /* unknown option */ - /* this is an error */ - reportException(Error_Incorrect_call_list, CHAR_ARG, IntegerTwo, "NC", option); - break; - } - } - else - { - option = OREF_NORMAL; - } - /* use modified LINES method with quick flag */ result = stream->sendMessage(OREF_LINES, option); } |