Граф коммитов

262 Коммитов

Автор SHA1 Сообщение Дата
scc%mozilla.org 457454c555 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 a84e76fe17 adding |Concat| function to fix pravda and speedracer bustage 2000-09-03 01:38:27 +00:00
scc%mozilla.org 4a0c46a0be fixing build bustage for OS2 and AIX 2000-09-02 12:25:27 +00:00
mcafee%netscape.com 6dd1eca956 Solaris bustage fix from scc/bruce/#mozilla 2000-09-02 07:14:59 +00:00
scc%mozilla.org ec67c96f34 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 949f1138b8 oops. fix windows bustage 2000-09-02 04:57:36 +00:00
scc%mozilla.org 3fa71edbc6 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 015d37393f 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 c597b81a96 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 305550b2a0 fixing build bustage. r=scc 2000-08-31 06:00:21 +00:00
mscott%netscape.com 3dd88adffe 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 683539b3d5 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 13c644d052 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 6c60728277 Fixing AIX and SunOS 5.7 bustage. r=scc&vidur 2000-08-24 22:17:25 +00:00
jdunn%netscape.com 80e92797ec fixing hpux bustage
r=vidur@netscape.com
2000-08-23 23:57:00 +00:00
jst%netscape.com 027cd65e27 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 b3a4ade60d 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
scc%mozilla.org 8494e50ed1 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 c5fefddeee 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 00dda8db96 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 6835c7e5c5 fixes needed to get multi-fragment strings working; r|a=waterson 2000-08-10 06:36:54 +00:00
scc%mozilla.org 463b66fb92 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 5864a3093c fixed |nsCharSinkTraits<T>::write| as per bug #46462; r=beard, a=waterson 2000-08-09 08:26:12 +00:00
scc%mozilla.org 424571e52f 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 d5a9845d79 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 77d093dffc not part of the build; further work on multi-fragment strings 2000-08-09 02:47:33 +00:00
scc%mozilla.org 7be992ff1c not part of the build; initial work on multi-fragment strings 2000-08-08 00:14:35 +00:00
scc%mozilla.org 7d13e2dced also including "nsAWritableString.h" to satisfy speedracer 2000-08-05 08:32:18 +00:00
scc%mozilla.org a66b235863 need |NS_COM| in the declarations too 2000-08-05 08:20:50 +00:00
scc%mozilla.org 1d5ffdc97b 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 28a66444bc 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 c21f2f4c5e fix self assignment, self append, self replace problems. r=waterson 2000-06-29 22:17:53 +00:00
scc%mozilla.org a2e2352e1e 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 0aca2ee58f fixing OS/2 VisualAge platform bustage, and bad dates in licenses 2000-06-18 05:00:31 +00:00
scc%mozilla.org f3555fc0ef 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 2f8ac64d97 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
scc%mozilla.org 7624d84178 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 d1fd4fd9e9 VisualAge doesn't like declarations in if/for expressions. r=waterson 2000-06-02 22:35:01 +00:00
scc%mozilla.org 8db7c18353 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 0bf691600f 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 494618c088 Back out changes that I didn't mean to check in. 2000-05-27 00:17:36 +00:00
waterson%netscape.com 1415b703eb Fix boneheaded mistake: I left the return type of NS_ConvertUCS2toUTF8::Init(). 2000-05-27 00:17:10 +00:00
scc%mozilla.org e16c3964fe 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 09ea95c306 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 04f49487ce Adding a new file. Part of the fix for Bug #39686. 2000-05-20 19:57:03 +00:00
scc%mozilla.org 525623fdcd 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 1c92045198 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 54e569a787 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 9cdd1c4d19 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
waterson%netscape.com 5761d5cb3f Revert NS_READABLE_CAST. Without the reference, it didn't work. 2000-05-16 07:01:30 +00:00
waterson%netscape.com 48c9901fe8 Clean up some of the last warnings. 2000-05-16 00:45:38 +00:00
waterson%netscape.com d8d4f434ce 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 c84fe3a063 adding macros and uses to support Solaris' inability to pick operator+ 2000-05-15 07:28:00 +00:00
scc%netscape.com bdc40d3a04 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 8b82758f42 changes to fix some errors constructing autostrings from null pointers that led to crashes 2000-05-15 03:10:19 +00:00
scc%netscape.com 32e96c5f6a ...oops, have to comment out the body too. Sorry. 2000-05-15 00:16:30 +00:00
scc%netscape.com d5ba894b3c 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 8b3d993edd disable a not helpful warning for VC++ 2000-05-14 23:33:05 +00:00
scc%netscape.com a3d2146f0b 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 8de4387b69 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 6e7090ce6f 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 bb3a3d8ee9 fixed macro-based comparison operators to help with our type-unification problems 2000-05-13 21:39:37 +00:00
scc%netscape.com 5af4ace901 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 5840dd129b 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 a0702b9992 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
scc%netscape.com d9a28087cd changed some comments 2000-05-12 05:20:21 +00:00
scc%netscape.com fe94b28307 Changed some comments 2000-05-12 05:17:51 +00:00
scc%netscape.com 106ac8c32a Filled out the smart pointer implementation. Changed some comments. 2000-05-12 05:17:39 +00:00
scc%netscape.com 5b96cfedb1 Added an assertion in |copy_string|. Changed some comments. 2000-05-12 05:16:00 +00:00
scc%netscape.com 0ef80f2c28 making promises work 2000-04-27 20:01:28 +00:00
mjudge%netscape.com 47511cf02b scc string fixes 2000-04-26 00:55:37 +00:00
pavlov%netscape.com 29d75b355b add typename to make linux compiler happy r=scc 2000-04-23 05:54:36 +00:00
scc%netscape.com 2eb9fa2d3c Fixed |nsPromiseSubstring::GetReadableFragment|, which had been walking off the end. Re-implemented |copy_string| in terms of the new char-source/char-sink stuff that beard and I came up with. Factored some code into |SameFragment|. Did some general shuffling and cleanup. 2000-04-21 01:25:19 +00:00
scc%netscape.com dd7694898d Added |nsCharSourceTraits| and |nsCharSinkTraits| to better facilitate copying from arbitrary char sources into arbitrary char consumers 2000-04-21 01:20:55 +00:00
scc%netscape.com d03cfe6e83 added |nsWritingIterator<T>::write| to satisfy the char-source/char-sink stuff beard and I put in. 2000-04-21 01:19:40 +00:00
scc%netscape.com 4a987edad4 Added signatures to prevent automatic incorrect promotion of |char| to |PRUnichar| 2000-04-14 23:20:31 +00:00
scc%netscape.com 11dac06cbd Added a new type, |incompatible_char_type| to help build signatures that prevent automatic incorrect promotion from |char| to |PRUnichar|. Kind of a hack, but the right way (specializing |nsAWritable| for |PRUnichar| can't be made to compile everywhere) 2000-04-14 23:19:14 +00:00
waterson%netscape.com 8d9071615b Ok, the |typename| stuff wasn't really necessary, and caused problems on VC++. r=scc 2000-04-04 09:21:57 +00:00
waterson%netscape.com 443f6f72f6 Add |operator!=()| implementation, conditioned on HAVE_CPP_UNAMBIGUOUS_STD_NOTEQUAL. r=scc 2000-04-04 06:42:59 +00:00
waterson%netscape.com 489d8de9d4 Hackery to get NEW_STRING_APIS compiling on gcc-2.7.2.3. r=scc 2000-04-04 06:00:01 +00:00
waterson%netscape.com b2a20ccd6d Start trying to compile on Unix with new changes. r=scc 2000-04-04 05:45:57 +00:00
scc%netscape.com b0c94dca55 make appending a single character faster for rickg 2000-04-04 03:06:15 +00:00
scc%netscape.com 1421ca7839 incremental changes. these files are not yet part of the build 2000-03-31 07:28:38 +00:00
scc%netscape.com 74ccce056f incremental changes. We're getting closer. These files are not yet part of the build. 2000-03-30 22:53:41 +00:00
scc%netscape.com 62f74bfd17 First Checked In. 2000-03-29 08:11:59 +00:00
scc%netscape.com 7379e92bad rename |string_copy| and |string_copy_backward| to |copy_string| and |copy_string_backward| 2000-03-29 00:54:12 +00:00
scc%netscape.com e34e046ae4 Adding some macros that allow me to start using literal strings 2000-03-28 22:37:51 +00:00
waterson%netscape.com e2976c60e9 Beef up autoconf tests to differentiate 'ambiguity resolving' and 'access changing' support of the 'using' keyword. Add a test to see if the 'std' namespace is used on the platform. r=scc 2000-03-28 07:01:37 +00:00
scc%netscape.com 92b5b65386 traded in |copy_chunky_backward| for |string_copy_backward| and moved it to "nsAReadableString.h" along with the |string_copy|s. Added tests for |SetLength|, which would have caught the problem in |nsString| I fixed earlier, and one for |Insert| that exposed the trouble in |copy_chunky_backward|. 2000-03-27 09:06:37 +00:00
scc%netscape.com 683bbe9fd6 Trying to fix for Solaris 2000-03-25 07:55:07 +00:00
pavlov%netscape.com 65f297564c add some #if[n]def STASTANDALONE_STRING_TESTS r=scc 2000-03-25 02:07:34 +00:00
scc%netscape.com 57bf24f8f9 Making the tests run on all platforms. Removing some confusion about iostreams. 2000-03-25 00:59:29 +00:00
scc%netscape.com 92964e17ff Incremental changes. These files are not yet part of the build. 2000-03-25 00:47:02 +00:00
scc%netscape.com ea8e807dda Lots of changes to get this stuff building on Solaris, et al. None of these changes effect the mainline build yet, and won't until |NEW_STRING_APIS| is defined for everyone (coming soon) 2000-03-24 22:06:57 +00:00
waterson%netscape.com 5e4e6bcf37 Fully qualify ReadingIterator when used inside template (so it compiles on egcs-1.1.2). r=scc 2000-03-24 06:02:59 +00:00
waterson%netscape.com 20f04bf551 Fully qualify ReadingIterator when used inside template (so it compiles on egcs-1.1.2). Minor silly fixes. 2000-03-24 06:02:37 +00:00
waterson%netscape.com deddb4dac9 Use NS_MIN and NS_MAX instead of std::min and std::max. r=scc 2000-03-24 00:39:44 +00:00
scc%netscape.com 440183335b resolving ambiguities; getting the new string APIs to build everywhere 2000-03-23 22:42:34 +00:00
scc%netscape.com 545b27e7e1 Added "nsCharTraits.h"; no longer relying on |std::char_traits|. Renamed some things so overloading wouldn't fight with overriding. 2000-03-23 21:15:01 +00:00
scc%netscape.com 0141c419a7 First Checked In. 2000-03-23 21:09:27 +00:00
scc%netscape.com 6a2c40a498 Getting rid of warnings. These files are not yet part of the build. 2000-03-22 22:51:18 +00:00
scc%netscape.com 09052fa5c9 Made critical operations exploit chunky iterators. These files are not yet part of the build. 2000-03-22 08:19:48 +00:00
scc%netscape.com c1101bb230 Incremental changes. Fixed some things that were stopping rickg from compiling. This file is not part of the build. 2000-03-14 17:10:03 +00:00
scc%netscape.com 4a1be96cd9 Incremental changes. Provided implementations for the virtual functions that were previously pure virtual. These implementations were common, after all, even just between |nsString| and |nsCString|. These files are not part of the build. 2000-03-12 20:57:35 +00:00
scc%netscape.com 0bbf2aae71 Incremental changes. Added |Implementation()| member to allow rick to implement copy-on-write. Added more virtual members to writable. More to come. These files are not part of the build. 2000-03-12 17:39:49 +00:00
scc%netscape.com 7ac3541035 Incremental changes. Reorganized code; implemented more factored methods. Moved string owner from fragment to iterator. Renamed the |const| version of |GetFragment| to |GetConstFragment| so we didn't mix overloading with overriding; eliminating need for some uses of |using| ... may want to do the same thing with |Begin| and |End|. These files are not part of the build. 2000-03-12 01:28:16 +00:00
scc%netscape.com dcca8d2751 Incremental changes. Modified the strategy for nested |nsPromiseConcatenation| objects. Changed the type of the fragment identifier in a fragment. These files are not part of the build. 2000-03-10 07:04:09 +00:00
scc%netscape.com 2d32454823 Incremental changes, renamed |nsConcatString| to |nsPromiseConcatenation|. Added |nsPromiseSubstring|. Got rid of upper/lower signatures. Added |Assign|. Fixed comparison macros. Added |operator+=| and |operator=|. These files are not part of the build. 2000-03-10 02:30:14 +00:00
scc%netscape.com 211ec74d84 Incremental changes. Getting the comparison operators right. Making |operator+()| do the right thing. These files are not part of the build yet. 2000-03-09 06:37:45 +00:00
scc%netscape.com 5cda0d317c Incremental changes. These files are not yet part of the build. a=don 2000-03-08 21:57:14 +00:00
scc%netscape.com 12ed65112f Not part of the build. Developing interfaces. Incremental changes to share with rickg, et al. 2000-03-07 20:56:07 +00:00
scc%netscape.com c33584cf42 First Checked In. 2000-03-07 01:02:10 +00:00