From: <bi...@us...> - 2008-08-18 20:11:23
|
Revision: 3005 http://oorexx.svn.sourceforge.net/oorexx/?rev=3005&view=rev Author: bigrixx Date: 2008-08-18 20:11:27 +0000 (Mon, 18 Aug 2008) Log Message: ----------- [ 2058023 ] add words() to mutable buffer Modified Paths: -------------- main/trunk/interpreter/classes/MutableBufferClass.cpp main/trunk/interpreter/classes/MutableBufferClass.hpp main/trunk/interpreter/execution/CPPCode.cpp main/trunk/interpreter/memory/Setup.cpp Modified: main/trunk/interpreter/classes/MutableBufferClass.cpp =================================================================== --- main/trunk/interpreter/classes/MutableBufferClass.cpp 2008-08-18 20:06:09 UTC (rev 3004) +++ main/trunk/interpreter/classes/MutableBufferClass.cpp 2008-08-18 20:11:27 UTC (rev 3005) @@ -1388,3 +1388,14 @@ { return StringUtil::wordLength(getStringData(), getLength(), position); } + +/** + * Return the count of words in the buffer. + * + * @return The buffer word count. + */ +RexxInteger *RexxMutableBuffer::words() +{ + size_t tempCount = StringUtil::wordCount(this->getStringData(), this->getLength()); + return new_integer(tempCount); +} Modified: main/trunk/interpreter/classes/MutableBufferClass.hpp =================================================================== --- main/trunk/interpreter/classes/MutableBufferClass.hpp 2008-08-18 20:06:09 UTC (rev 3004) +++ main/trunk/interpreter/classes/MutableBufferClass.hpp 2008-08-18 20:11:27 UTC (rev 3005) @@ -111,6 +111,7 @@ RexxString *word(RexxInteger *); RexxInteger *wordIndex(RexxInteger *); RexxInteger *wordLength(RexxInteger *); + RexxInteger *words(); inline const char *getStringData() { return data->getData(); } inline size_t getLength() { return dataLength; } Modified: main/trunk/interpreter/execution/CPPCode.cpp =================================================================== --- main/trunk/interpreter/execution/CPPCode.cpp 2008-08-18 20:06:09 UTC (rev 3004) +++ main/trunk/interpreter/execution/CPPCode.cpp 2008-08-18 20:11:27 UTC (rev 3005) @@ -869,6 +869,7 @@ CPPM(RexxMutableBuffer::word), CPPM(RexxMutableBuffer::wordIndex), CPPM(RexxMutableBuffer::wordLength), +CPPM(RexxMutableBuffer::words), CPPM(RexxSupplier::available), /* Supplier methods */ CPPM(RexxSupplier::next), Modified: main/trunk/interpreter/memory/Setup.cpp =================================================================== --- main/trunk/interpreter/memory/Setup.cpp 2008-08-18 20:06:09 UTC (rev 3004) +++ main/trunk/interpreter/memory/Setup.cpp 2008-08-18 20:11:27 UTC (rev 3005) @@ -957,6 +957,7 @@ defineKernelMethod(CHAR_WORD ,TheMutableBufferBehaviour, CPPM(RexxMutableBuffer::word), 1); defineKernelMethod(CHAR_WORDINDEX ,TheMutableBufferBehaviour, CPPM(RexxMutableBuffer::wordIndex), 1); defineKernelMethod(CHAR_WORDLENGTH ,TheMutableBufferBehaviour, CPPM(RexxMutableBuffer::wordLength), 1); + defineKernelMethod(CHAR_WORDS ,TheMutableBufferBehaviour, CPPM(RexxMutableBuffer::words), 0); /* set the scope of the methods to */ /* this classes oref */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |