Commit Graph

418 Commits

Author SHA1 Message Date
scc%mozilla.org
e52e438806 bug #49817: fix |normalize_forward|, |normalize_backward|; make |Begin(Read|Writ)ing| call |normalize_forward|; pass iterators by reference. r=mjudge 2000-09-02 04:10:44 +00:00
scc%mozilla.org
387fffdcbc don't know how I omitted this last night, particularly since mscott tested. must shift the bit in the mask to get a new position. This should fix the string hang 2000-08-31 17:56:28 +00:00
scc%mozilla.org
cc2d66fff1 make |Last| not try to adjust an iterator into an empty string (stops illegal calls to |Last| on an empty string from going into an infinite looop), r=mscott 2000-08-31 06:12:35 +00:00
beard%netscape.com
b1ef2faa2c fixing build bustage. r=scc 2000-08-31 06:00:21 +00:00
mscott%netscape.com
7e54962a72 back out my change until we can get it to build on the mac. This re-introduces the infinite loops when you run the browser though
so be warned.
2000-08-31 05:43:21 +00:00
mscott%netscape.com
57a58f3599 Bug #50853 --> fix a nasty infinite loop on windows. The compiler was choosing the wrong overloader method for nsPromiseConcatenation::operator+
which caused it to fail to inherit a mask bit which in turn led to the infinite loop.

this code came from scc.
r=mscott
2000-08-31 04:29:42 +00:00
akkana%netscape.com
bd7f472335 From scc, to help with bug 44372: add NS_NAMED_LITERAL_STRING macros. r=me 2000-08-30 00:24:57 +00:00
jst%netscape.com
42f438ff51 Fixing AIX and SunOS 5.7 bustage. r=scc&vidur 2000-08-24 22:17:25 +00:00
jdunn%netscape.com
7eb04ed28d fixing hpux bustage
r=vidur@netscape.com
2000-08-23 23:57:00 +00:00
jst%netscape.com
5da5a8ecc8 Fix to ToUpperCase and ToLowerCase so that we actually hit all characters. r=scc 2000-08-23 19:23:15 +00:00
jst%netscape.com
9abec73fbe DOM string changes. All nsString& in DOM interfaces (and interfaces needed by DOM implementations) have been changed to nsAReadableString& and nsAWritableString&. String implementation additions (sanctioned by scc) to support DOM needs. Bug 49091. r=vidur,jst,scc 2000-08-23 17:27:06 +00:00
warren%netscape.com
a94aa1aa52 Fix for hash code performance problem discovered by bienvenu. 'Sampling' hash code was statistically evil. 2000-08-20 21:29:10 +00:00
waterson%netscape.com
179f993e8b Fix nsCString::AppendWithConversion() to work. 2000-08-20 20:41:31 +00:00
scc%mozilla.org
794bf08cde temporarily backing out the headers with the explicit change (we haven't finished platform specific code or commercial yet) 2000-08-20 07:40:30 +00:00
scc%mozilla.org
ad963283c3 fixing code that relied on implicit string construction 2000-08-20 06:59:07 +00:00
scc%mozilla.org
aae8dfd4db adding |AppendWithConverison(const PRUnichar*, PRInt32)|, the need for which was brought out by making constructors |explicit| 2000-08-19 19:34:00 +00:00
pinkerton%netscape.com
b7e5078b6c add a |do_AppendFromElement(PRUnichar)| to help speed up some things in wallet initialization (bug 44514) r/a=scc. 2000-08-18 04:48:29 +00:00
scc%mozilla.org
4e46a37d08 not part of the build; temporarily patching these files to use the old (what is currently in the tree) |GetReadableFragment| scheme, so that clients can start using this now both on the tip and on the DOMAPI... branch 2000-08-17 21:07:45 +00:00
scc%mozilla.org
959c07dea2 not yet part of the build, this new class provides a more consistent and flexible answer to the need for functions like |AppendInt| and |AppendFloat|. It is a short readable string produced with printf. 2000-08-17 01:08:30 +00:00
scc%mozilla.org
5082251b3e bug #48464. explicitly picking my own or the auto-generated function, in particular |operator=|. r={vidur, waterson}, a=vidur 2000-08-11 00:42:41 +00:00
scc%mozilla.org
cc67834dfe fixes needed to get multi-fragment strings working; r|a=waterson 2000-08-10 06:36:54 +00:00
warren%netscape.com
84b5fd67e3 Bug 46711. Removed nsAutoString travisty from nsStringKey. Introduced nsCStringKey. Made them both share the underlying string when possible. r=waterson 2000-08-10 06:19:37 +00:00
scc%mozilla.org
d369a0d0d0 not part of the build; further work on multi-fragment strings. They are now limping along and can actually be used. They pass all tests not related to |Substring| and |nsPromiseConcatenation|. 2000-08-10 00:45:33 +00:00
scc%mozilla.org
333974e822 better comments re: the formal specification of |SetCapacity|; jag's |ToInteger| patch as per bug #46898; r|a=waterson 2000-08-09 08:26:23 +00:00
scc%mozilla.org
332cbbead7 fixed |nsCharSinkTraits<T>::write| as per bug #46462; r=beard, a=waterson 2000-08-09 08:26:12 +00:00
scc%mozilla.org
7a4bbc2688 fixed |BeginWriting| and |EndWriting| to no longer take an offset, fallout from the new multi-fragment string implementation; fixed a bug in |operator-=| exposed by the change to |EndWriting|; fixed |nsWritingIterator<CharT>::write| as per bug #46462; fixed comments galore, significantly better specifying |SetLength| and |SetCapacity|; since |SetCapacity| is just a hint, give it a default implementation rather than making it pure virtual; fixed a couple of the |do_...| routines to unify the code path minimizing overides; r|a=waterson 2000-08-09 08:26:08 +00:00
scc%mozilla.org
454fd1db7e fixed |BeginReading| and |EndReading| to no longer take an offset, fallout from the new multi-fragment string implementation; fixed a bug in |operator-=| exposed by the change to |EndReading|; fixed the |CharAt| family of routines accordingly; fixed comments galore; r|a=waterson 2000-08-09 08:26:00 +00:00
scc%mozilla.org
121b1c59e0 not part of the build; further work on multi-fragment strings. Moved the bulk of the template implementation to the header file. This file needs to continue to exist for when I finally un-templatize the interfaces 2000-08-09 02:48:27 +00:00
scc%mozilla.org
744280c781 not part of the build; further work on multi-fragment strings 2000-08-09 02:47:33 +00:00
scc%mozilla.org
f4c2ca5073 not part of the build; initial work on multi-fragment strings 2000-08-08 00:14:35 +00:00
scc%mozilla.org
e290b14ff8 not part of the build yet; initial work on multi-fragment strings 2000-08-08 00:14:14 +00:00
scc%mozilla.org
e442ddaee4 also including "nsAWritableString.h" to satisfy speedracer 2000-08-05 08:32:18 +00:00
scc%mozilla.org
be5ab5a689 need |NS_COM| in the declarations too 2000-08-05 08:20:50 +00:00
scc%mozilla.org
6a4f710e7d make sure the new functions are exported; still not in the build 2000-08-05 07:44:08 +00:00
scc%mozilla.org
8bf207c3fb added comments and made some changes suggested by reviewers; still not in the build 2000-08-05 04:25:49 +00:00
scc%mozilla.org
2637d04af7 everything's in and working correctly (as far as my tests show), still not in the build, but that's what I'm about to change with my next set of checkins 2000-08-05 03:32:36 +00:00
scc%mozilla.org
f7a6b498a9 still not part of the build; I think everything's there, though. Some further testing and I'll add it to the build 2000-08-05 02:13:59 +00:00
scc%mozilla.org
1d41a0a81b still not part of the build; more work adding the new functions. More to come 2000-08-05 01:15:45 +00:00
scc%mozilla.org
c179048fab These files are not yet part of the build; making global versions of |IsASCII|, |ToNewCString|, and |ToNewUnicode| that apply to readables, since we don't want them as member functions (where they were in |ns[C]String|). Vidur needs these to convert DOM interfaces over to readables. 2000-08-05 00:51:37 +00:00
scc%mozilla.org
9d0e5978e2 fixes for bugs #46898 and #46899: bad behavior in |nsCString::ToInteger| and a feature request for |ns[C]String::SetCapacity(0)| respectively. r={harishd, waterson}, a=waterson 2000-07-29 03:11:59 +00:00
bratell%lysator.liu.se
9bfe3f2e81 Final part of bug 40027. r,a=waterson@netscape.com 2000-07-27 06:12:49 +00:00
bratell%lysator.liu.se
c0a8b69048 Bug 40027, reads past buffer in nsString::ToCString, r,a=waterson 2000-07-26 00:05:55 +00:00
waterson%netscape.com
11fbbe38a5 Inline 'operator PRUnichar*()', 'operator char*()'; add inline 'get()' methods. r=brendan 2000-07-13 03:20:28 +00:00
scc%mozilla.org
0b41ff950a fix self assignment, self append, self replace problems. r=waterson 2000-06-29 22:17:53 +00:00
scc%mozilla.org
e00741f6fd fix for commercial bustage on Mac (adding |operator const CharT*() const| to |basic_nsLiteralString|). fix for blizzards linux changes needing working |Substring|. r=beard,syd 2000-06-21 05:13:10 +00:00
scc%mozilla.org
76bacb9cc2 fix for bug #43085. r=waterson, a=waterson 2000-06-20 04:25:20 +00:00
scc%mozilla.org
3446bda5c3 fixing OS/2 VisualAge platform bustage, and bad dates in licenses 2000-06-18 05:00:31 +00:00
waterson%netscape.com
78239d38c2 Bug 42836. Handle null string in NS_ConvertUCS2toUTF8::Init(). 2000-06-17 01:24:39 +00:00
scc%mozilla.org
9461eb8980 undo the change of the 10th. The code is still in, conditioned on |NS_DONT_USE_CHUNKY_STRING_ALLOCATION|. The performance hit was unacceptable, and checking the original change in on the tip was a mistake. r=rpotts; a=leaf, phil 2000-06-15 22:13:19 +00:00
brendan%mozilla.org
190a0bea06 Fiddle whitespace style. 2000-06-14 04:46:22 +00:00
scc%mozilla.org
2a994e534b reduce bloat by not chunk-allocating strings (in |nsStr::Alloc|). Clients that don't benefit from this can explicitly call |SetCapacity|. We may re-introduce this functionality in the append of a single character when no space remains, if it turns out to be a problem. This optimization was suggested by profiling done by sfraser, who now promises to find out where it hurts us. 2000-06-12 02:54:22 +00:00
scc%mozilla.org
1d272d98b9 added some #ifdef logic to allow me to turn NEW_STRING_APIS off, so I can continue to profile for bloat; added an implementation specific |operator+()| to resolve ambiguity with promises on some platforms 2000-06-11 04:35:02 +00:00
scc%mozilla.org
84e47f2424 added some #ifdef logic to allow me to turn NEW_STRING_APIS off, so I can continue to profile for bloat; added an implementation specific |operator+()| to resolve ambiguity with promises on some platforms; added a conversion operator (against my best judgement) to |NS_ConvertASCIItoUCS2| to support the construction of literal strings induced by the bad case of the new macro. I could conditionally define this is the opposite direction. 2000-06-11 01:06:14 +00:00
scc%mozilla.org
7f51a498b1 added some #ifdef logic to allow me to NEW_STRING_APIS off, so I can continue to profile for bloat 2000-06-11 01:03:19 +00:00
scc%mozilla.org
85aa1f07df In an assignment, |SetLength(0); SetLength(newLength);| so that the implementation won't bother to copy any old characters if allocation is required. Fiddled with inlining to reduce bloat ... more experiments needed. 2000-06-11 01:02:12 +00:00
scc%mozilla.org
3adf5c9604 provide real definitions for |NS_LITERAL_STRING| (one of which exploits |wchar_t|); add a range-check assertion to |CharAt|; add another constructor to |nsPromiseConcatenation| to allow per-class |operator+()| (which some compilers need to resolve ambiguity) to work; fiddled with inlining to reduce bloat ... more experiments needed 2000-06-11 01:00:08 +00:00
alecf%netscape.com
a0b04734b4 fix purify errors - uninitialized memory on poorly formatted CID strings, and FMM on nsString::fputs
r=waterson, scc a=waterson
2000-06-08 23:34:53 +00:00
waterson%netscape.com
5e705488cb Fix bonehead error warren found: don't re-initialize utf8len; we'll need it to set the string's length! 2000-06-08 23:07:15 +00:00
warren%netscape.com
512c8bf433 Renaming nsIAllocator to nsIMemory (and nsAllocator to nsMemory). API cleanup/freeze. Bug #18433 2000-06-03 09:46:12 +00:00
scc%mozilla.org
752a6ca4ce Exploiting a user-defined |operator->()| when the result is a pointer to a primitive type is problematic for the OS/2 VisualAge compiler. Eliminate such uses in the new string facilities. These are stragglers missed in an earlier checkin. 2000-06-03 00:38:06 +00:00
scc%mozilla.org
a59a36aebd VisualAge doesn't like declarations in if/for expressions. r=waterson 2000-06-02 22:35:01 +00:00
waterson%netscape.com
4f43183103 Bugs 41279, 41280, 41290. Implement NS_ConvertUTF8toUCS2, r=ftang. Fix NS_ConvertUCS2toUTF8 to set mLength, r=ftang. Re-implement ToNew[*]String to be less bloaty, r=scc,brendan 2000-06-02 20:06:54 +00:00
scc%mozilla.org
c54f63178e Exploiting a user-defined |operator->()| when the result is a pointer to a primitive type is problematic for the OS/2 VisualAge compiler. Eliminate such uses in the new string facilities. r=waterson 2000-06-01 06:01:18 +00:00
waterson%netscape.com
0736651092 Bug 39424. Fix Sun Workshop compiler bustage by conditioning NS_READABLE_CAST's funkiness on NEED_CPP_TEMPLATE_CAST_TO_BASE. r=scc 2000-05-27 05:51:56 +00:00
waterson%netscape.com
c82987ae0a Back out changes that I didn't mean to check in. 2000-05-27 00:17:36 +00:00
waterson%netscape.com
d8892ddb25 Fix boneheaded mistake: I left the return type of NS_ConvertUCS2toUTF8::Init(). 2000-05-27 00:17:10 +00:00
waterson%netscape.com
b8f8ba79a7 Bug 40461. Implement NS_ConvertUCS2toUTF8, r=scc,brendan 2000-05-26 22:24:34 +00:00
scc%mozilla.org
00443cdd51 Bug #39963. The NS_LITERAL_[C]STRING macros incorrectly counted the null terminator for a literal string in the length. This may not be the complete solution. r=sdagley 2000-05-21 01:45:19 +00:00
scc%mozilla.org
80e3b6a3ae Bug #39686. Made an |NS_COUNT|. Put it in the new file "nsAlgorithm.h", to which I also moved |NS_MIN| and |NS_MAX| from "nscore.h", and |copy_string| and |copy_string_backward| from "nsAReadableString.h". Also fixed non-standard include-guards. r={sford, jag} 2000-05-20 20:43:26 +00:00
scc%mozilla.org
dae10b02a8 Adding a new file. Part of the fix for Bug #39686. 2000-05-20 19:57:03 +00:00
scc%mozilla.org
3730f50409 ugh. Fix to placate egcs. |static_cast| should be sufficient for a |void*|, but egcs seems to need |reinterpret_cast| 2000-05-20 19:08:36 +00:00
scc%mozilla.org
82bbf19a82 Fixing platform bustage only caught by SunOS Workshop. Need a |const| in a cast to avoid casting away |const|-ness. r=jdunn 2000-05-20 18:22:05 +00:00
scc%mozilla.org
4814477a24 Checking in patch from Jim Dunn to fix platform bustage on HPUX. In fact, this is the way the code should have been written in the first place due to the C++ standard section 14.6.2(3). Members of the template base class just aren't visible without explicit scoping of some form, typically |this->|. r=scc 2000-05-20 18:19:27 +00:00
scc%netscape.com
fbfcb9d94b fixed a problem with cut and advancing past the end of a string with an iterator r=waterson 2000-05-16 10:13:23 +00:00
scc%netscape.com
b04f4b0861 turning on the new strings API. 2000-05-16 07:18:04 +00:00
waterson%netscape.com
dbf69aad27 Revert NS_READABLE_CAST. Without the reference, it didn't work. 2000-05-16 07:01:30 +00:00
waterson%netscape.com
5f34d86620 Clean up some of the last warnings. 2000-05-16 00:45:38 +00:00
waterson%netscape.com
fea560d46b Flip NS_READABLE_CAST back the other way: more important to placate egcs that gcc-2.7.2.3 2000-05-15 23:06:25 +00:00
scc%netscape.com
f7b3e7de41 circular include logic defeated me ... protect the new operator definitions locally 2000-05-15 08:07:25 +00:00
scc%netscape.com
b141c8fd07 oops 2000-05-15 07:37:18 +00:00
scc%netscape.com
626f886483 adding macros and uses to support Solaris' inability to pick operator+ 2000-05-15 07:28:00 +00:00
scc%netscape.com
b9cc20ed14 added macro code to help define more comparison operators. Got rid of |typename|. We can live with the warnings, maybe; but windows can't digest it in this context. 2000-05-15 05:14:40 +00:00
scc%netscape.com
a274af8eb7 changes to fix some errors constructing autostrings from null pointers that led to crashes 2000-05-15 03:10:19 +00:00
waterson%netscape.com
58fe0403d8 With NEW_STRING_APIS, turn on definition of string comparison operators to avoid accidental pointer comparisons. r=scc 2000-05-15 01:27:04 +00:00
scc%netscape.com
dc0afa9707 ...oops, have to comment out the body too. Sorry. 2000-05-15 00:16:30 +00:00
scc%netscape.com
1280fd6d46 commented out an |NS_WARNING| that will overwhelm you, I'll turn it into an assertion for me only, later. Also got rid of |Equals(*, int)| temporarily, as with |Compare| to catch clients who should be using |EqualsWithConversion| 2000-05-15 00:13:57 +00:00
scc%netscape.com
6965740bc5 disable a not helpful warning for VC++ 2000-05-14 23:33:05 +00:00
scc%netscape.com
3e0a608172 comment out |Compare| with a length to help find callers of the old compare function that need to become to |CompareWithConversion|. 2000-05-14 22:32:30 +00:00
waterson%netscape.com
c9c47efc3c Remove #ifdef that's no longer necessary now that STL headers aren't included. 2000-05-14 00:14:19 +00:00
scc%netscape.com
5bd4efd8d4 waterson and I are giving up on the current build being allowed to even include files related to STL, mostly (but not only) because of Solaris ... by the time someone want to _use_ STL, maybe the compilers will be better, and this fix won't effect them. 2000-05-13 23:59:49 +00:00
scc%netscape.com
37ec015a19 fixed macro-based comparison operators to help with our type-unification problems 2000-05-13 21:39:37 +00:00
scc%netscape.com
018741229b Added |NS_READABLE_CAST| to clarify what we're doing in places where we face the type-unification error on lame compilers. 2000-05-13 20:29:18 +00:00
scc%netscape.com
e55217832f getting ready to turn this stuff on, changes related to that: empty strings specified with null pointer, a couple of other fixes. 2000-05-13 20:17:35 +00:00
waterson%netscape.com
cd9a82f6e1 Resolve gcc-2.7.2.3 type unification ambiguity for nsAReadableString's Compare() method. NOT PART OF THE BUILD. 2000-05-13 02:11:26 +00:00
waterson%netscape.com
abb7aa4bf8 Fix build bustage. Added nscore.h, which declares NS_STATIC_CAST et. al. 2000-05-13 02:05:50 +00:00
waterson%netscape.com
7c5e4bf508 Deal with type unification errors on gcc-2.7.2.3 using NEW_STRING_APIS. r=scc 2000-05-13 00:23:04 +00:00
waterson%netscape.com
a926ea50f1 Deal with type-unification errors on gcc-2.7.2.3 using NEW_STRING_APIS. r=scc 2000-05-13 00:19:21 +00:00
scc%netscape.com
80b170c264 Fixed the block stomping bug by ensuring the correct |operator=()| was always available. 2000-05-12 05:25:26 +00:00
scc%netscape.com
e3490a6024 changed some comments 2000-05-12 05:20:21 +00:00
scc%netscape.com
d3d0b85749 Changed some comments 2000-05-12 05:17:51 +00:00