Commit Graph
38 Commits
Author SHA1 Message Date
Axel Dörfler e6a6424e1c * Added a work-around to _Alloc() to allow R5 NetPositive to work on Haiku;
dunno if we want to keep this, though.
* Improved some methods by no longer calling strlen() more than once.
* We're now using snprintf() instead of sprintf() in the << operators to
  make them more secure (even though the string lengths should be long
  enough).
* Improved << operators by taking the return (the resulting string length) of
  snprintf() into account.
* Replaced calls to _GrowBy() with a negative argument with calls to
  _Alloc() which actually safes some computation.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16783 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-14 12:43:46 +00:00
Oliver Tappe 94a055c10d * fixed broken FindLast() taking a char and an offset
* added two more tests that exhibit the (now fixed) problem in FindLast()



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16586 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-05 18:27:50 +00:00
Michael Lotz c728a74e42 Cleanup. We don't need string_helper anymore as it's only function (strcasestr) is in libroot. It was a temporary solution more than two years ago.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13514 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-06 23:07:32 +00:00
Axel Dörfler ba8e3cf1e4 Now exports B_EMPTY_STRING - maybe there is a better place for it, like
SupportDefs.cpp. Feel free to move it to a better place.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8302 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-05 12:50:22 +00:00
Axel Dörfler cd58ac9968 Minitiure optimizations for BString: eliminated a superfluous variable,
and removed the "newData" calculation, since "dataLen" already contained
the same value.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6613 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-17 04:06:44 +00:00
Stefano Ceccherini 5480b4590e Another patch from Oliver Tappe: BString behaves better when the user supplies out-of bounds values in Insert(), Remove(), etc.
Code is refactored, and it fully complies with our guidelines.
Tests have been updated too (hint: try the replace tests with R5 and our implementation...)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5348 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-13 07:35:16 +00:00
Stefano Ceccherini 1783edd55c Added a big patch from Oliver Tappe. BString now is much faster when it has to deal with very long strings. Thanks Oliver. Fixed the (in)famous LockBuffer(0)->UnlockBuffer(-1) R5 bug.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2686 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-11 19:16:18 +00:00
Stefano Ceccherini a8dee23ea0 A fix for a Replace function, some checks which makes the code
more robust, some style changes, some more comments.
Started to document the class with Doxygen comments.
(I made too many changes to keep the file local :)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2399 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-10 10:19:56 +00:00
ejakowatz d546b00e22 Undid the oh-so-1337 utf_char_len "optimization" (which is not only slower,
but doesn't handle invalid UTF-8 strings correctly) in CountChars().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2002 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-18 03:47:48 +00:00
ejakowatz 202ed890a9 Some bug fixing on BString and it's unit tests. Should now pass all
current tests!  Now included in the build.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1946 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-15 03:36:17 +00:00
Stefano Ceccherini 5f6935dc8c Fixed the build again. It seems that BGA Utf8_char_lenght() function really works :)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1939 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-14 19:14:08 +00:00
ejakowatz 8f1a4e7f89 Implemented BGA's UTF-8 char len suggestion in UTF8.h and used it in
BString::CountChars().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1932 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-14 08:06:18 +00:00
Stefano Ceccherini e0db3523fc Some style changes, some bugfixes
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1903 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-11 11:08:11 +00:00
Stefano Ceccherini bff4272dd4 Fixed ReplaceSet().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1889 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-09 11:51:18 +00:00
Stefano Ceccherini 8d10618461 Some cleanups (more to come)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1871 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-07 14:04:06 +00:00
Stefano Ceccherini 82e052e5a3 Fixed BString so it passes all the committed tests
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1854 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-05 18:05:06 +00:00
Stefano Ceccherini f68e12e5ed Tests are a developer's best friends :)) Fixed an incorrect implementation of the private function _FindAfter.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1762 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-29 19:09:27 +00:00
Stefano Ceccherini ba3487e33a Fixed a typing bug to make it compile again
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1751 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-29 05:42:46 +00:00
Stefano Ceccherini e0060f3ff2 Implemented the last function (ReplaceSet()). Now it's just a matter
of doing tests for the remaining functions.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1734 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-28 15:01:32 +00:00
Stefano Ceccherini 8109fda8d2 Some optimizations in FindFirst functions
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1633 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-24 12:28:50 +00:00
Stefano Ceccherini eae06be465 Er... it seems I found some time to work on this :)))
Added the last two missing FindLast() functions


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1584 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-21 14:29:15 +00:00
Stefano Ceccherini 21b4758ca8 Some fixes, added the missing compare operators
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1532 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-15 19:31:05 +00:00
Stefano Ceccherini 73d1e1fe5e Fixes for bugs exposed by the tests
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1488 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-12 08:11:10 +00:00
Stefano Ceccherini 9a125bf5e0 Some fixes, added the missing operator[], switched to BeOS debug macros,
Implemented the missing Replace functions. Just ReplaceSet is missing
(tests coming)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1483 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-11 15:08:38 +00:00
Stefano Ceccherini 979b68a75b Fixed a stupid bug in BString::CharacterEscape() and committed the correct version of DataIO.cpp (the former was an incorrect version)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1429 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-07 12:51:25 +00:00
Stefano Ceccherini a971d340bb Added Escaping/Deescaping. Fixed a bug in Inserting methods
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1405 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-06 13:44:40 +00:00
Stefano Ceccherini 16444b3971 Added CapitalizeEachWord() (ugly implementation, maybe, but it works). This version passes all checked-in tests
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1357 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-03 23:06:19 +00:00
Stefano Ceccherini d9e38b8715 More functions, more bug fixes.
Just Escaping/Deescaping and some Replacing functions missing


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1336 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-01 07:39:09 +00:00
Stefano Ceccherini 53fd1e70a4 More BString functions. Constructors, CountChars() and operators "=" and "+=" are tested with cppunit and work fine.
Added string_helper.cpp and .h to compile String.cpp correctly. Those will be removed as soon as we have our working libc.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1313 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-30 06:59:26 +00:00
Stefano Ceccherini 39be953e7a Fixed a stupid typing bug, implemented a pair of other functions
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1194 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-26 14:46:27 +00:00
Stefano Ceccherini 7c64b6d7d5 Implemented format-appending operators, more optimizations and bugfixes
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1191 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-26 06:53:49 +00:00
Stefano Ceccherini 0155e3bd85 Some small optimizations
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1126 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-23 10:32:08 +00:00
Stefano Ceccherini 2ffca36a92 Fixed a nasty bug in Append functions. A quick test with BeMamER shows that my BString implementation begin to work :)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1081 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-18 12:58:31 +00:00
Stefano Ceccherini 070e067332 Some new methods (Removing), some bug fixes, some optimisations.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1018 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-12 12:27:22 +00:00
Stefano Ceccherini 8f86fcdc82 Some bug fixes
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1008 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-10 13:38:43 +00:00
Stefano Ceccherini 7c830dc497 More functions and bug fixes, and lot of code from Marc Flerackers
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1001 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-09 06:50:28 +00:00
Stefano Ceccherini 9a82280a11 Merged MallocIO.cpp with DataIO.cpp, some code refactoring,
and let a first, basic BString implementetation enter the game


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@988 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-06 07:14:43 +00:00
ejakowatz 52a3801208 It is accomplished ...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-09 12:24:59 +00:00