summaryrefslogtreecommitdiff
path: root/indra/llcommon/llstring.cpp
AgeCommit message (Collapse)Author
2014-10-22Update to build on Xcode 6.0 (fix unit tests): minor fix for debug only unit ↵callum_linden
test
2013-10-15renamed TimeBlock to BlockTimerStatHandleRichard Linden
2013-09-05changed fast timer over to using macroRichard Linden
another attempt to move mem stat into base class
2013-08-09second phase summer cleaningRichard Linden
replace llinfos, lldebugs, etc with new LL_INFOS(), LL_DEBUGS(), etc.
2013-07-19BUILDFIX: #include and dependency cleanupRichard Linden
2013-06-05merge with viewer-releaseRichard Linden
2013-05-22CHUI-967: fix display of % escapes in chatGilbert Gonzales
2013-03-29Update Mac and Windows breakpad builds to latestGraham Madarasz
2012-11-19merge with viewer-developmentRichard Linden
2012-11-14SH-3406 WIP convert fast timers to lltrace systemRichard Linden
cleaning up build moved most includes of windows.h to llwin32headers.h to disable min/max macros, etc streamlined Time class and consolidated functionality in BlockTimer class llfasttimer is no longer included via llstring.h, so had to add it manually in several places
2012-07-12Crashfix: in ll_safe_string not only guard against 0 pointer, but against ↵Nicky
illegal length of buffer too.
2012-02-24Add LLStringUtil::getTokens() overload handling quoted substrings.Nat Goodspeed
We didn't have any tokenizer suitable for scanning something like a bash command line. We do have a couple hacks, e.g. LLExternalEditor::tokenize() and LLCommandLineParser::parseCommandLineString(). Both try to work around boost::tokenizer limitations; but existing boost::tokenizer support just doesn't address this case. Neither of the above is available as a general scanner anyway, and parseCommandLineString() fails outright when passed "". New getTokens() also distinguishes between "drop delimiters" (e.g. space, return, newline) to be discarded from the token stream, versus "keep delimiters" (e.g. "+-*/") to be returned as tokens in their own right. There's an overload that honors escapes and a more efficient one that doesn't; each has a convenience overload that returns the scanned string vector rather than requiring a separate declaration. Tweak and comment older getTokens() implementation. Add unit tests for both old and new getTokens() implementations. Break out StringVec and std::ostream << StringVec from indra/llcommon/tests/listener.h to StringVec.h: that's coming in handy for a number of different TUT test sources.
2011-08-19fix for not properly handling nested brackets inRichard Linden
string replacement, e.g. [[FOO]]
2010-09-27MergeLeyla Farazha
2010-09-03Post-convert merge by convert_monolith.py from ↵Aimee Linden
/Users/Aimee/Documents/Work/Linden-Lab/Development/viewer/convert/viewer-identity-evolution
2010-09-16STORM-180 FIXED Fixed crash on login in Japanese locale.Andrew Dyukov
The crash was caused by erroneous getting of month name from vector with week day names in LLStringUtil::formatDatetime(). This code woth introduced in June, so though it didn't work properly, it didn't cause the crash(cause June is 5th month). But when number of current month exceeded number of days in week(this happened in August cause it is 8th) code started getting 8th element from vector with 7. This caused the crash. It reproduced only on Japanese locale because only there code that caused it was used(see STORM-177 for details). This changeset seems to fix STORM-177 too. - Used vector with months names where it should be.
2010-08-20Merge from dessie/viewer-releaseLeyla Farazha
2010-08-13Change license from GPL to LGPL (version 2.1)Oz Linden
2010-08-05EXT-8309 FIXED Incorrect French date format in place profile and status bar.Vadim Savchuk
Changes: - Added support for formatting day of the month without leading zero ("sday"). - Changed date format in place profile (landmark info) and in the top status bar according to bug reporter's request. Technical details: Actually implementation of strftime() in Linux and Windows supports stripping the leading zero (with "%-d" and "%#d" respectively). But that's not supported in MacOSX, so I had to reimplement it. Reviewed by Sergey Litovchuk at https://codereview.productengine.com/secondlife/r/842/ --HG-- branch : product-engine
2010-07-30Merge with dessie/viewer-releaseLeyla Farazha
2010-07-26EXT-8318 FIX IMPROVED converted EOLsMike Antipov
--HG-- branch : product-engine
2010-07-26EXT-8318 FIX IMPROVED Code is refactored - avoid using of a separate call of ↵Mike Antipov
the MultiByteToWideChar to get length of output string. Assumprion is: wide char buffer requires not more than input string length plus one for a null terminator. Reviewed by Richard Nelson at https://codereview.productengine.com/secondlife/r/775/ --HG-- branch : product-engine
2010-07-23EXT-8318 ADDITIONAL FIXED avoid an extra copy of std::stringMike Antipov
Reviewed by Richard Nelson at https://codereview.productengine.com/secondlife/r/775/ --HG-- branch : product-engine
2010-07-23EXT-8318 ADDITIONAL FIXED ensure that thousands separator is in utf8 format ↵Mike Antipov
(on Windows) before converting it to LLWString. Problem on Windows: ================== LLPanelMainInventory::updateItemcountText() formats number using viewer locale. non-break space is detected as unknown symbols while converting utf8str_to_wstring when formatted text is set to LLTextBox. FIX: === Added converting of string to multi-byte string and then to utf8 string while formatting on Windows. created opposite to "ll_convert_wide_to_string" function "ll_convert_string_to_wide" and helper function to call both of them. It is used now to convert result of formatted string while formatting integer number in locale. Fix affects Windows only. Reviewed by Richard Nelson at https://codereview.productengine.com/secondlife/r/775/ --HG-- branch : product-engine
2010-07-06Merge from dessie/viewer-releaseLeyla Farazha
2010-06-22EXT-7926: Remove unreferenced catch-clause variable (MSVC error).Nat Goodspeed
2010-06-22EXT-7926 FIXED Minor typo correction.Lynx Linden
2010-06-22EXT-7926 FIXED Fixed crash opening About for non-English locales.Lynx Linden
Calling std::locale("fr_FR.UTF-8") crashes on Linux and Mac. Or rather, it throws an exception when it doesn't know the locale and we didn't handle the exception. I now catch the exception and output an error rather than crash. Note, this happened because of change 703f3bcf7069, which made us actually pass a real locale string instead of just "C". So, we were never actually supporting a locale for LLStringUtil::formatNumber(). There is therefore an open task of making formatNumber() actually respect the locale. I'll report a separate JIRA to capture that task.
2010-06-01Merge with dessie/viewer-public in prep to land code thereJames Cook
2010-05-29FIXED Linux build.Sergei Litovchuk
Added forward specialization of LLStringUtil::format before use in LLStringUtil::formatDatetime. --HG-- branch : product-engine
2010-05-28EXT-7013 FIX time formatting function didn't work for some parameters for ↵Yuri Chebotarev
Japanise (like weekdays). reviewed by Vadim Savchuk https://codereview.productengine.com/secondlife/r/457/ --HG-- branch : product-engine
2010-05-27DEV-50013 Friendlier info if you can't change name due to time lockoutJames Cook
Reviewed with Leyla
2010-03-26Fixed bug EXT-6399 (System locale is the same for all languages).Vadim Savchuk
Problem: * English locale was set for all languages. * Specifying a correct locale didn't affect anything, including date/time formatting. My investigation has shown that LLStringUtil was instantiated twice: in the main binary and in libllcommon.so. Because LLStringUtil::setLocale() was called from newview and getLocale() was called from llcommon, they effectively used *different* instances of LLStringUtil::sLocale. Hence getLocale() always returned empty string. This seems to be caused by get/setLocale() methods not being dllexported. The fix instantiates get/setLocale() and sLocale in llcommon and exposes them to use from newview (i.e. prevents multiple instantiation). Besides, I specified correct locale names for all languages and platforms. Reviewed by Leyla: https://codereview.productengine.com/secondlife/r/104/ --HG-- branch : product-engine
2009-12-02fixed normal bug EXT-2738 ([BSI] 12-hour clock format should not have a ↵Paul Guslisty
leading zero) --HG-- branch : product-engine
2009-11-29Fix for Windows crash (incorrect date format crashes windows)Steve Bennetts
2009-11-27fixed normal bug EXT-2738. 12-hour clock format should not have a leading zeroPaul Guslisty
--HG-- branch : product-engine
2009-11-02Fix unclear function names around Pacific versus "SLT" time in string ↵James Cook
operations. Reviewed with Brad.
2009-10-30EXT-1565 Menu bar clock now shows Pacific (PDT/PST) time, as does any otherJames Cook
UI widget that references "slt" in the XML.
2009-10-08* EXT-1282 Fixed a crash when attempting to display strings with [] in themSteven Bennetts
(merged from viewer-2.0-qa-4)
2009-09-25SNOW-194 DEV-40415: pulling this snowglobe patch into viewer 2.0. ThisMartin Reddy
fixes all of the parentheses warnings in the code. Original patch was reviewed by merov (and others).
2009-09-11merge ↵Steven Bennetts
https://svn.aws.productengine.com/secondlife/export-from-ll/viewer-2-0@1634 https://svn.aws.productengine.com/secondlife/pe/stable-2@1648 -> viewer-2.0.0-3 * Bugs: EXT-888 EXT-866 EXT-861 EXT-858 EXT-864 EXT-875 EXT-884 EXT-718 EXT-786 EXT-885 EXT-910 EXT-845 EXT-312 EXT-823 EXT-868 * New Development: EXT-748 EXT-863 EXT-835 QA: Please test Recent List to verify it has no troubles.
2009-09-04Reorder some of the new LLStringUtil methods introduced in DEV-39441Martin Reddy
to avoid specialisation after instantiation build errors on Mac and Linux.
2009-09-04DEV-39441 - Eliminate boost:regexp from LLString::formatSteven Bennetts
Also removed a missing setting (merge bug)
2009-08-24merge -r 130399-131510 skinning-21 -> viewer-2.0.0-3Richard Nelson
DEV-11254 DEV-11254 DEV-2003: DEV-21567 DEV-37301 EXT-104 EXT-138 EXT-217 EXT-256 EXT-259 EXT-259 EXT-328 EXT-348 EXT-386 EXT-399 EXT-403 EXT-460 EXT-492 EXT-492 EXT-531 EXT-537 EXT-684 improved text editor (handles multiple fonts simultaneously as well as inline widgets)
2009-06-21merge -r 122421-124917 viewer-2.0.0-2 -> viewer-2.0.0-3Steven Bennetts
ignore-dead-branch
2009-01-19Merging from the server/server-1.25 branchRobert Knop
svn merge -r107352:108210 svn+ssh://svn.lindenlab.com/svn/linden/branches/server/server-1.25 Merge conflicts were resolved: scripts/start-server : one conflict, kept the "working" version indra/llcommon/llversionserver.h : reverted indra/newview/Info-SecondLife.plist : reverted indra/newview/res/viewerRes.rc : reverted indra/newsim/llagentinfo.cpp : kept *both*... "working" had is_agent_online, which nothing else had, and the merge had isGodAllowed(), part of SEC resolution indra/backbone/agent_router.py : kartic & rdw merged and reviewed using brains and things indra/newsim/llsimhttpresponder.cpp : doesn't exist in trunk, and that's OK (even though there was a change for it)
2009-01-08Result of svn merge -r107256:107258 ↵Aaron Brashears
svn+ssh://svn/svn/user/phoenix/license_2009_merge into trunk. QAR-1165
2008-06-26QAR-628 merge string-cleanup-5 -r 90476:90508 -> releaseSteven Bennetts
dataserver-is-deprecated
2008-06-06svn merge -r 88872:89137 svn+ssh://svn.lindenlab.com/svn/linden/qa/qar-652 ↵Josh Bell
--> release Effectively: svn merge -r 87048:88773 svn+ssh://svn.lindenlab.com/svn/linden/branches/Branch_1-22-Server * Plus some gcc4.x fixes In detail: * Bump version numbers to 1.22.0 Server * Updated files for enabled conductor. * Added tarball pulling during deploy for central servers. * DEV-15160 Logins not remembering start location on beta grid * DEV-15167 Random failure with set-classified-stats * DEV-15193 Viewer Passing Through Unsanitized Strings to DB when creating classifieds. * Add --location to the curl invocation in fetch_agni_ws_snapshot * QAR-609 Some Havok4 bug fixes * QAR-460 Automatic XUI selection & Kick-ass Linux Fonts MergeMe * DEV-14704 1.21.1.86182 revealing hidden groups in profile * DEV-14641 Change automated Subject Line messages for IM-to-Email to avoid SPAM association * DEV-15387 Write unit test for LLStringFn::strip_invalid_xml(). * Changed getpass.getuser() to os.getuid() as getuser() was returning the saved-UID of the process (root user, which kic ks off parabuild as parabuild u ser). We want os.getuid() as it correctly returns the parabuild user's uid. / Stupid mistake using os.getuid().. .fixed by using the pwd module to return the unix username given the userid from os.getuid() * QAR-623 More single ref attachment awesomeness testing * Committed temporary fix for running dwell and query-cache on deneb.lindenlab.com, since it's in the DFW colo with the current asset cluster. * DEV-15783 Groups not shown in search wont appear in your profile while using webservice * QAR-642 Even more single ref attachment awesomeness testing From Branch_1-21-Server (which didn't go directly into release) * addinng the phputf8 library found from http://phputf8.sourceforge.net/ and liscensed LGPL. For DEV-15202 * Checking in a fix for settle balance portion proc - the event query was moved. * fix for DEV-15202 - replace non-utf8 with REPLACEMENT CHAR. See jira for more info. * Checking return value from /proc/vault/charge, must get back a string. * removed code used for the browser hud AB test. * Changed TTL from stupid default of 1234 to 5 * DEV-15788 Fixing crashloganalyzer.py cleanup of unparseable crash reports. * DEV-15737 offline scripted IMs not working inprocess_im_using_ws Merge conflict resolutions/fixes include: * Addition of indra/test/llstring_tut.cpp to indra/test/test.vcproj migrated to CMakeLists.txt * Changes to BuildParams, scripts/automated_build_scripts/* reviewed w/ cg * Changes to deploy scripts (scripts/farm, install_indra.py, farm_deploy) based on the 1.22 changes except for mkpersist dir addition (retained from release) * Changes to scripts/crash_report/crashloganalyzer.py retained from 1.22, per Mani * scripts/generate_indra_xml.py, etc/services-station.dtd, indra/newsim/llagentinfo.cpp analyzed carefully by josh * indra/llcommon/llstring.h required fix for client build ("" --> std::basic_string<T>()) in LLStringBase<T> initializer * indra/llphysics/abstract/llphysicsshape.h #include syntax changed from <llmath/llvolume.h> to "llvolume.h" Psst, don't tell anyone, but the dataserver-is-deprecated
2008-06-02svn merge -r88066:88786 ↵Bryan O'Sullivan
svn+ssh://svn.lindenlab.com/svn/linden/branches/cmake-9-merge dataserver-is-deprecated for-fucks-sake-whats-with-these-commit-markers