Commit Graph

435 Commits

Author SHA1 Message Date
scc%mozilla.org
4337bf7aef adding comments 2000-09-09 04:40:01 +00:00
scc%mozilla.org
9c9a645de8 fixing includes 2000-09-09 04:39:25 +00:00
scc%mozilla.org
f2845da892 not part of the build, getting closer to turning on the new parser strings 2000-09-09 00:25:00 +00:00
scc%mozilla.org
1792573bee adding license and include guards 2000-09-09 00:02:48 +00:00
scc%mozilla.org
9cdf61fe64 not yet part of the build, this is the bulk of the work for the special parser strings 2000-09-08 23:54:23 +00:00
scc%mozilla.org
75c8ca9c3d bug #51662, r=bienvenu 2000-09-08 22:07:14 +00:00
scc%mozilla.org
d92a2df1aa A good place to hang the gcc fix, thanks dbaron!, and backing out previous failed fix ideas (|Concat|), r=dbaron 2000-09-04 05:00:25 +00:00
scc%mozilla.org
4bc5b685d6 adding back a couple more |operator+|s for gcc 2000-09-04 01:34:04 +00:00
scc%mozilla.org
0caf9417c2 bustage fix for old gcc; already built on speedracer to ensure that it works, and on Mac to ensure that doesn't break modern compilers 2000-09-03 22:38:38 +00:00
scc%mozilla.org
766ce2dea2 now that constructors are explicit, we'll have to get rid of extra comparison operators ... in fact, this is to fix immediate bustage 2000-09-03 03:16:47 +00:00
scc%mozilla.org
65a05bda2a adding |Concat| function to fix pravda and speedracer bustage 2000-09-03 01:38:27 +00:00
scc%mozilla.org
96b9a39082 making all string construction explicit; plus (now that the DOM APIs are turned on and you can no longer build without NEW_STRING_APIS) chopping out |#ifdef|ed code 2000-09-02 20:53:31 +00:00
scc%mozilla.org
b67501b4c1 fixing build bustage for OS2 and AIX 2000-09-02 12:25:27 +00:00
scc%mozilla.org
76a73c1015 fix build bustage for hpux 2000-09-02 12:20:49 +00:00
mcafee%netscape.com
33f49a5690 Solaris bustage fix from scc/bruce/#mozilla 2000-09-02 07:14:59 +00:00
scc%mozilla.org
13b55a5fda time to add that specialization of |nsCharSourceTraits<PRUnichar>|, not having it is probably hosing speedracer, r=waldemar 2000-09-02 06:03:50 +00:00
scc%mozilla.org
c18e089b7a oops. fix windows bustage 2000-09-02 04:57:36 +00:00
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