Commit Graph

318 Commits

Author SHA1 Message Date
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