aboutsummaryrefslogtreecommitdiff
path: root/common/str.cpp
AgeCommit message (Collapse)Author
2011-06-03COMMON: Let Common::normalizePath normalize '..' in pathsMax Horn
There are some unit tests to verify that this works correctly. There is a small chance that this causes regressions in weird setups.
2011-05-23COMMON: Provide our own implementations for scumm_str(n)icmpMax Horn
This takes up a tiny little bit of extra binary size, but gets rid of some awful #ifdef hackery.
2011-05-12GIT: Clean up: Suppress SVN tags, now uselessstrangerke
2010-11-01COMMON: Rename String::printf() to String::format()Max Horn
This is a first step towards getting rid of all uses of regular printf, fprintf, vprintf, vfprintf, puts, fputs, etc. in our codebase. The name format() reflects the purpose of the function, and parallels String.format() in Java, boost::format, and others. svn-id: r54004
2010-10-18Revert "COMMON: Implement Common::vprintf(). Patch by littleboy"Eugene Sandulenko
svn-id: r53586
2010-10-18COMMON: Implement Common::vprintf(). Patch by littleboyEugene Sandulenko
svn-id: r53576
2010-10-10COMMON: work around different vsnprintf behaviour on IRIXJoost Peters
The return value of vsnprintf when the provided buffer is not large enough to hold the formatted string is implementation-dependent: C99: The size the formatted string would take up. MSVC: -1, with no indication of how large the buffer should be. IRIX: The number of characters actually written, which is at most the size of the buffer minus one, as the string is truncated to fit. This means the only way to be sure the entire string is written is if the return value is less than the capacity - 1. This change means that whenever we try to format a string where the size is 1 below the built-in capacity, that the capacity will be needlessly increased. If this turns out to be problematic we could make this behaviour __sgi conditional. svn-id: r53143
2010-09-07COMMON: Fix edge case for wildcard in matchStringWillem Jan Palenstijn
svn-id: r52618
2010-08-17COMMON: fix MSVC assert when using umlauts (or other characters > 127) in ↵Florian Kagerer
the global save/load menu svn-id: r52173
2010-08-17COMMON: Remove redundant include from str.cppEugene Sandulenko
If it is needed for your specific platform, then readd it, but for that platform. Although to me it looks all redundant. svn-id: r52155
2010-08-16Common: Fix bug in lastPathComponent.Johannes Schickel
Prior to this change lastPathComponent would not create a correct result, when the input of lastPathComponent did not contain a single separator. I also added a test case for this in our unit tests. svn-id: r52123
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