From: <bi...@us...> - 2007-10-09 15:48:06
|
Revision: 904 http://oorexx.svn.sourceforge.net/oorexx/?rev=904&view=rev Author: bigrixx Date: 2007-10-09 08:48:06 -0700 (Tue, 09 Oct 2007) Log Message: ----------- [ 1810239 ] date("F", "", "T") crashes interpreter. [ 1810243 ] DateTime/TimeSpan from* error messages Modified Paths: -------------- interpreter-3.x/trunk/kernel/RexxClasses/CoreClasses.orx interpreter-3.x/trunk/kernel/messages/DocErrorMessages.sgml interpreter-3.x/trunk/kernel/messages/RexxErrorCodes.h interpreter-3.x/trunk/kernel/messages/RexxMessageNumbers.h interpreter-3.x/trunk/kernel/messages/RexxMessageTable.h interpreter-3.x/trunk/kernel/messages/rexxmsg.xml interpreter-3.x/trunk/kernel/platform/windows/winmsgtb.rc interpreter-3.x/trunk/kernel/runtime/Numerics.cpp Modified: interpreter-3.x/trunk/kernel/RexxClasses/CoreClasses.orx =================================================================== --- interpreter-3.x/trunk/kernel/RexxClasses/CoreClasses.orx 2007-10-09 13:21:17 UTC (rev 903) +++ interpreter-3.x/trunk/kernel/RexxClasses/CoreClasses.orx 2007-10-09 15:48:06 UTC (rev 904) @@ -2052,74 +2052,120 @@ -- separator character can be specified. ::METHOD fromNormalDate class use strict arg date, sep = (" ") + + signal on syntax return self~new(date('F', date, 'N', , sep)) + syntax: + raise syntax 88.918 array("date", date) + -- Create a DateTime object from a European date string. An optional -- separator character can be specified. ::METHOD fromEuropeanDate class use strict arg date, sep = ("/") + signal on syntax return self~new(date('F', date, 'E', , sep)) + syntax: + raise syntax 88.918 array("date", date) + -- Create a DateTime object from an Ordered date string. An optional -- separator character can be specified. ::METHOD fromOrderedDate class use strict arg date, sep = ("/") + signal on syntax return self~new(date('F', date, 'O', , sep)) + syntax: + raise syntax 88.918 array("date", date) + -- Create a DateTime object from a Standard date string. An optional -- separator character can be specified. ::METHOD fromStandardDate class use strict arg date, sep = ("") + signal on syntax return self~new(date('F', date, 'S', , sep)) + syntax: + raise syntax 88.918 array("date", date) + -- Create a DateTime object from a Usa date string. An optional -- separator character can be specified. ::METHOD fromUsaDate class use strict arg date, sep = ("/") + signal on syntax return self~new(date('F', date, 'U', , sep)) + syntax: + raise syntax 88.918 array("date", date) + -- Create a DateTime object from a Normal time string. ::METHOD fromNormalTime class use strict arg time + signal on syntax return self~new(time('F', time, 'N')) + syntax: + raise syntax 88.918 array("time", time) + -- Create a DateTime object from a Civil time string. ::METHOD fromCivilTime class use strict arg time + signal on syntax return self~new(time('F', time, 'C')) + syntax: + raise syntax 88.918 array("time", time) + -- Create a DateTime object from a Long time string. ::METHOD fromLongTime class use strict arg time + signal on syntax return self~new(time('F', time, 'L')) + syntax: + raise syntax 88.918 array("time", time) + -- Create a DateTime object from a Iso date/time string. ::METHOD fromIsoDate class use strict arg time parse var time date 'T' time numeric digits 18 + + signal on syntax return self~new(date('F', date, 'S',,"-") + time("F", time, "L")) + syntax: + raise syntax 88.918 array("date", date) + -- Create a DateTime object from Unix Ticks value ::METHOD fromTicks class use strict arg date + signal on syntax return self~new(date('F', date, 'T')) + syntax: + raise syntax 88.918 array("ticks", date) + -- Create a DateTime object from a basedate value ::METHOD fromBaseDate class use strict arg date + signal on syntax return self~new(date('F', date, 'B')) + syntax: + raise syntax 88.918 array("date", date) + -- initialize a DateTime instance. There are multiple forms of this: -- -- init(fulltime) @@ -2712,19 +2758,31 @@ -- Create a timespan object representing the interval from a Civil time ::METHOD fromCivilTime class use strict arg time + signal on syntax return self~new(Time('F', time, 'C')) + syntax: + raise syntax 88.918 array("time", time) + -- Create a timespan object representing the interval from a Normal time ::METHOD fromNormalTime class use strict arg time + signal on syntax return self~new(Time('F', time, 'N')) + syntax: + raise syntax 88.918 array("time", time) + -- Create a timespan object representing the interval from a Long time ::METHOD fromLongTime class use strict arg time + signal on syntax return self~new(Time('F', time, 'L')) + syntax: + raise syntax 88.918 array("time", time) + -- Initialize a timespan object -- initialize a TimeSpan instance. There are multiple forms of this: -- Modified: interpreter-3.x/trunk/kernel/messages/DocErrorMessages.sgml =================================================================== --- interpreter-3.x/trunk/kernel/messages/DocErrorMessages.sgml 2007-10-09 13:21:17 UTC (rev 903) +++ interpreter-3.x/trunk/kernel/messages/DocErrorMessages.sgml 2007-10-09 15:48:06 UTC (rev 904) @@ -2523,6 +2523,12 @@ </para> </listitem> </varlistentry> +<varlistentry> +<term>918</term> +<listitem> +<para>Argument <emphasis>argument</emphasis> is not in a valid format; found "<emphasis>value</emphasis>"</para> +</listitem> +</varlistentry> </variablelist> </section> <section id="ERR89"> Modified: interpreter-3.x/trunk/kernel/messages/RexxErrorCodes.h =================================================================== --- interpreter-3.x/trunk/kernel/messages/RexxErrorCodes.h 2007-10-09 13:21:17 UTC (rev 903) +++ interpreter-3.x/trunk/kernel/messages/RexxErrorCodes.h 2007-10-09 15:48:06 UTC (rev 904) @@ -406,6 +406,7 @@ #define Error_Invalid_argument_argType 88915 #define Error_Invalid_argument_list 88916 #define Error_Invalid_argument_general 88917 +#define Error_Invalid_argument_format 88918 #define Error_Variable_expected 89000 #define Error_Variable_expected_USE 89001 #define Error_Variable_expected_PARSE 89002 Modified: interpreter-3.x/trunk/kernel/messages/RexxMessageNumbers.h =================================================================== --- interpreter-3.x/trunk/kernel/messages/RexxMessageNumbers.h 2007-10-09 13:21:17 UTC (rev 903) +++ interpreter-3.x/trunk/kernel/messages/RexxMessageNumbers.h 2007-10-09 15:48:06 UTC (rev 904) @@ -615,6 +615,7 @@ #define Error_Invalid_argument_list_msg 687 #define Error_Invalid_argument_general_msg 688 #define Error_Translation_duplicate_attribute_msg 689 +#define Error_Invalid_argument_format_msg 690 #endif Modified: interpreter-3.x/trunk/kernel/messages/RexxMessageTable.h =================================================================== --- interpreter-3.x/trunk/kernel/messages/RexxMessageTable.h 2007-10-09 13:21:17 UTC (rev 903) +++ interpreter-3.x/trunk/kernel/messages/RexxMessageTable.h 2007-10-09 15:48:06 UTC (rev 904) @@ -408,6 +408,7 @@ MINOR(Error_Invalid_argument_argType) MINOR(Error_Invalid_argument_list) MINOR(Error_Invalid_argument_general) + MINOR(Error_Invalid_argument_format) MAJOR(Error_Variable_expected) MINOR(Error_Variable_expected_USE) MINOR(Error_Variable_expected_PARSE) Modified: interpreter-3.x/trunk/kernel/messages/rexxmsg.xml =================================================================== --- interpreter-3.x/trunk/kernel/messages/rexxmsg.xml 2007-10-09 13:21:17 UTC (rev 903) +++ interpreter-3.x/trunk/kernel/messages/rexxmsg.xml 2007-10-09 15:48:06 UTC (rev 904) @@ -3410,6 +3410,15 @@ <SymbolicName>Error_Invalid_argument_general</SymbolicName> <Text>Argument <Sub position="1" name="argument"/> <Sub position="2" name="reason"/></Text> </SubMessage> + <SubMessage> + <Code>88</Code> + <Subcode>918</Subcode> + <MessageNumber>690</MessageNumber> + <Component>Rexx</Component> + <Severity>Warning</Severity> + <SymbolicName>Error_Invalid_argument_format</SymbolicName> + <Text>Argument <Sub position="1" name="argument"/> is not in a valid format; found <q><Sub position="2" name="value"/></q></Text> + </SubMessage> </Subcodes> </Message> <Message> Modified: interpreter-3.x/trunk/kernel/platform/windows/winmsgtb.rc =================================================================== --- interpreter-3.x/trunk/kernel/platform/windows/winmsgtb.rc 2007-10-09 13:21:17 UTC (rev 903) +++ interpreter-3.x/trunk/kernel/platform/windows/winmsgtb.rc 2007-10-09 15:48:06 UTC (rev 904) @@ -615,6 +615,7 @@ Error_Invalid_argument_list "Argument &1 must be one of &2; found ""&3""" Error_Invalid_argument_general "Argument &1 &2" Error_Translation_duplicate_attribute "Duplicate ::ATTRIBUTE directive instruction" + Error_Invalid_argument_format "Argument &1 is not in a valid format; found ""&2""" END Modified: interpreter-3.x/trunk/kernel/runtime/Numerics.cpp =================================================================== --- interpreter-3.x/trunk/kernel/runtime/Numerics.cpp 2007-10-09 13:21:17 UTC (rev 903) +++ interpreter-3.x/trunk/kernel/runtime/Numerics.cpp 2007-10-09 15:48:06 UTC (rev 904) @@ -160,7 +160,7 @@ // get this as a numberstring (which it might already be) RexxNumberString *nString = source->numberString(); // not convertible to number string? get out now - if (source == OREF_NULL) + if (nString == OREF_NULL) { return false; } @@ -209,7 +209,7 @@ // get this as a numberstring (which it might already be) RexxNumberString *nString = source->numberString(); // not convertible to number string? get out now - if (source == OREF_NULL) + if (nString == OREF_NULL) { return false; } @@ -261,7 +261,7 @@ // get this as a numberstring (which it might already be) RexxNumberString *nString = source->numberString(); // not convertible to number string? get out now - if (source == OREF_NULL) + if (nString == OREF_NULL) { return false; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |