Commit Graph

346 Commits

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