aboutsummaryrefslogtreecommitdiff
path: root/common/str.cpp
AgeCommit message (Collapse)Author
2010-07-05Note Common::String's behaviour may be undefined with \0 characters.Willem Jan Palenstijn
Also make operator=(char) and String(char) behave the same. svn-id: r50712
2010-06-19Fix an issue in String::ensureCapacity() when the string is shared. It could ↵Thierry Crozat
allocate two much memory as it was at least doubling the current capacity even when this one was sufficient. It fixes a crash in GUI::Widget::cleanupHotkey() as the capacity of the string was doubled at each iteration once it was too long for the internal storage (only to add one character to the string). This ended up in a bad_alloc exception after a few iterations. svn-id: r50050
2010-05-05Add a custom implementation of OpenBSD's strlcat and strlcpy.Johannes Schickel
This includes both an implementation and some basic unit tests for the above mentioned functions. svn-id: r48953
2010-03-18COMMON: Move tag2str from util.h to str.hMax Horn
svn-id: r48281
2010-01-31Slight formatting fixes to comply to our coding guidelines.Johannes Schickel
svn-id: r47744
2009-12-30Get rid of Common::String::emptyString, and also of some port specific ↵Max Horn
hackery (getting rid of certain global C++ objs) svn-id: r46781
2009-10-12Fix broken size in Common::String::printf output in MSVCWillem Jan Palenstijn
svn-id: r44979
2009-10-03Use buffer in Common::String::printf slightly more efficientlyWillem Jan Palenstijn
svn-id: r44562
2009-10-01Fix Common::String::printf in MSVCWillem Jan Palenstijn
svn-id: r44520
2009-09-23COMMON: Add "ignoreCase" parameter to matchString.Johannes Schickel
svn-id: r44265
2009-07-25FormattingEugene Sandulenko
svn-id: r42746
2009-07-25Add Common::String::printf to format a stringWillem Jan Palenstijn
svn-id: r42743
2009-06-07Fixed appending a (substring of a) string to itselfMax Horn
svn-id: r41337
2009-06-07Added some new method variants to Common::StringMax Horn
svn-id: r41333
2009-05-04Fixed new[] / delete mismatch in Common::StringMax Horn
svn-id: r40302
2009-05-03COMMON: Check for failed memory allocations; changed Common::String to use ↵Max Horn
new/delete instead of malloc/free svn-id: r40291
2009-02-15Merged internal 'matchPath' method of class Archive into global matchString ↵Max Horn
function (via an optional 'path mode' in the latter). Also changed Archive::listMatchingMembers to use path mode when matching, just like FSDirectory::listMatchingMembers svn-id: r38277
2008-12-22Fixed indentation and removed whitespaces at the end of lineJordi Vilalta Prat
svn-id: r35481
2008-10-12COMMON: Added a new ObjectPool class, with matching operator new/delete ↵Max Horn
overloads svn-id: r34785
2008-10-02Ignore String::deleteLastChar when called on an empty stringMax Horn
svn-id: r34718
2008-09-24Changed Common::String to use a MemoryPool for its refcountsMax Horn
svn-id: r34642
2008-09-20Little readability tweakMax Horn
svn-id: r34615
2008-09-05Optimized matchString for the common case where there is a trailing * (if ↵Max Horn
that is the case, abort immediately instead of scanning the rest of the string) svn-id: r34367
2008-09-05Moved matchString from util.* to str.*; added new String::matchString ↵Max Horn
method; fixed matchString doxygen comment (it confused pattern & string); added unit tests for matchString svn-id: r34364
2008-09-03Fix nasty off-by-one errorsMax Horn
svn-id: r34317
2008-09-03Modified Common::Str to use exponential growth for its storage; also changed ↵Max Horn
the meaning of 'capacity' from 'max length of string' to 'size of storage' (i.e. added one) svn-id: r34313
2008-09-02Added two new global funcs which ease proper handling of 'path' strings: ↵Max Horn
Common::lastPathComponent() and Common::normalizePath() svn-id: r34272
2008-08-20Unified member names in container/storage classes Array, HashMap and String: ↵Max Horn
_storage, _size, _capacity svn-id: r34052
2008-07-23Reorder stuff a little bit, moving private String methods together: cleanupMax Horn
svn-id: r33248
2008-07-23Added convenience method String::makeUnique(); simplified ↵Max Horn
String::operator=(char c); extended String unit tests svn-id: r33246
2008-07-23Fix String::trim to work right for shared strings; augemented test cases to ↵Max Horn
cover this svn-id: r33234
2008-07-22Added String::trim() methodMax Horn
svn-id: r33203
2008-07-20Fixed potential issue in Common::String when asserting a substring of a ↵Max Horn
string X back to X (memcpy -> memmove); also added some other sanity checks, and merged some duplicate code into a new method String::initWithCStr svn-id: r33137
2008-03-30Removed char &operator [] from class String -- it had the potential to wreak ↵Max Horn
havoc when used on shared strings (thanks to tramboi for pointing this out) svn-id: r31334
2008-02-08Added a simple non-optimized StringTokenizer-class for tokenizing strings. ↵Kari Salminen
Also added a contains(char)-function to the String-class because it was handy in implementing the StringTokenizer. svn-id: r30828
2007-09-19Merged common/stdafx.h into common/scummsys.h. All referencing files have ↵Nicola Mettifogo
been updated. svn-id: r28966
2007-06-02Enhanced Common::String by adding char constructor and operator+ for charsMax Horn
svn-id: r27051
2007-05-30Updated legal headers in source files, based on what Pidgin (the IM client ↵Max Horn
formerly knowns as Gaim) does; added new (incomplete) COPYRIGHT file; updated copyright dates in a few spots svn-id: r27024
2007-04-15Added Common::String::contains() methodMax Horn
svn-id: r26514
2007-03-09Removing some unnecessary #includesMax Horn
svn-id: r26044
2007-02-13made rtrim() and ltrim() global functions, to reduce code duplication (it ↵Gregory Montoir
seems parallaction/parser.cpp code re-use them too svn-id: r25564
2006-12-17replace ensureCapacity(_len-1) by ensureCapacity(_len) (fixes bug #1617410)Willem Jan Palenstijn
svn-id: r24865
2006-11-27Changed the way String::_storage is initialised, to help GCC 2.95 (see ↵Gregory Montoir
tracker item #1602879) svn-id: r24793
2006-09-30Rewrote class String to use an internal (stack based) storage for small ↵Max Horn
strings, thus avoiding a couple ten thousand heap allocations svn-id: r24043
2006-07-30Added explicit string equals/hash functors to a new header ↵Max Horn
common/hash-str.h; removed Hash functor specialization for String and char pointers; changed all code using hashmaps with string keys to explicitly specify whether they honor or ignore case svn-id: r23634
2006-07-30Added new equals(IgnoreCase) and compareTo(IgnoreCase) methods to class StringMax Horn
svn-id: r23633
2006-06-10Patch #1503718: "Strange results from Common::computeCapacity"Eugene Sandulenko
svn-id: r22998
2006-06-05Lazily allocate _refCount in class StringMax Horn
svn-id: r22935
2006-06-04When ensureCapacity() does not have an old string to copy, make sure the newlyTorbjörn Andersson
allocated one is terminated. Hopefully this will keep the SCUMM save dialog from randomly adding garbage to my savegame names. svn-id: r22908
2006-06-03Allocate and grow Common::String objects in multiples of 32, and leave at ↵Max Horn
least 16 spare bytes at the end, in case the string grows a little bit. svn-id: r22896