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