78 Commits

Author SHA1 Message Date
scc%mozilla.org
d1c143fbb4 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.
git-svn-id: svn://10.0.0.236/trunk@71979 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-11 01:02:12 +00:00
scc%mozilla.org
bcb44dd5d8 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
git-svn-id: svn://10.0.0.236/trunk@71978 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-11 01:00:08 +00:00
scc%mozilla.org
208df9930b 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.
git-svn-id: svn://10.0.0.236/trunk@71427 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-03 00:38:06 +00:00
scc%mozilla.org
884619a3cd VisualAge doesn't like declarations in if/for expressions. r=waterson
git-svn-id: svn://10.0.0.236/trunk@71400 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-02 22:35:01 +00:00
scc%mozilla.org
b27d72b4ff 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
git-svn-id: svn://10.0.0.236/trunk@71249 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-01 06:01:18 +00:00
waterson%netscape.com
25af6f072e Bug 39424. Fix Sun Workshop compiler bustage by conditioning NS_READABLE_CAST's funkiness on NEED_CPP_TEMPLATE_CAST_TO_BASE. r=scc
git-svn-id: svn://10.0.0.236/trunk@70998 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-27 05:51:56 +00:00
waterson%netscape.com
5a5cff3522 Back out changes that I didn't mean to check in.
git-svn-id: svn://10.0.0.236/trunk@70972 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-27 00:17:36 +00:00
waterson%netscape.com
798592bacb Fix boneheaded mistake: I left the return type of NS_ConvertUCS2toUTF8::Init().
git-svn-id: svn://10.0.0.236/trunk@70971 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-27 00:17:10 +00:00
scc%mozilla.org
9e46fa744e 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
git-svn-id: svn://10.0.0.236/trunk@70565 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-21 01:45:19 +00:00
scc%mozilla.org
64c1d73da8 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}
git-svn-id: svn://10.0.0.236/trunk@70562 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-20 20:43:26 +00:00
scc%mozilla.org
1993e1afa4 Adding a new file. Part of the fix for Bug #39686.
git-svn-id: svn://10.0.0.236/trunk@70559 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-20 19:57:03 +00:00
scc%mozilla.org
d029bb7e31 ugh. Fix to placate egcs. |static_cast| should be sufficient for a |void*|, but egcs seems to need |reinterpret_cast|
git-svn-id: svn://10.0.0.236/trunk@70558 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-20 19:08:36 +00:00
scc%mozilla.org
1a06df0830 Fixing platform bustage only caught by SunOS Workshop. Need a |const| in a cast to avoid casting away |const|-ness. r=jdunn
git-svn-id: svn://10.0.0.236/trunk@70553 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-20 18:22:05 +00:00
scc%mozilla.org
a31073f144 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
git-svn-id: svn://10.0.0.236/trunk@70552 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-20 18:19:27 +00:00
scc%netscape.com
21439a6da2 fixed a problem with cut and advancing past the end of a string with an iterator r=waterson
git-svn-id: svn://10.0.0.236/trunk@70026 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-16 10:13:23 +00:00
waterson%netscape.com
286499ed4c Revert NS_READABLE_CAST. Without the reference, it didn't work.
git-svn-id: svn://10.0.0.236/trunk@70008 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-16 07:01:30 +00:00
waterson%netscape.com
b2c93adc15 Clean up some of the last warnings.
git-svn-id: svn://10.0.0.236/trunk@69930 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-16 00:45:38 +00:00
waterson%netscape.com
99866cd4f9 Flip NS_READABLE_CAST back the other way: more important to placate egcs that gcc-2.7.2.3
git-svn-id: svn://10.0.0.236/trunk@69903 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-15 23:06:25 +00:00
scc%netscape.com
a4547be9bd adding macros and uses to support Solaris' inability to pick operator+
git-svn-id: svn://10.0.0.236/trunk@69767 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-15 07:28:00 +00:00
scc%netscape.com
d282389c10 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.
git-svn-id: svn://10.0.0.236/trunk@69744 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-15 05:14:40 +00:00
scc%netscape.com
879df1b115 changes to fix some errors constructing autostrings from null pointers that led to crashes
git-svn-id: svn://10.0.0.236/trunk@69730 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-15 03:10:19 +00:00
scc%netscape.com
0240bbf90c ...oops, have to comment out the body too. Sorry.
git-svn-id: svn://10.0.0.236/trunk@69705 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-15 00:16:30 +00:00
scc%netscape.com
c2c42ed547 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|
git-svn-id: svn://10.0.0.236/trunk@69704 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-15 00:13:57 +00:00
scc%netscape.com
937ea1fdff disable a not helpful warning for VC++
git-svn-id: svn://10.0.0.236/trunk@69697 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-14 23:33:05 +00:00
scc%netscape.com
146d1274ec comment out |Compare| with a length to help find callers of the old compare function that need to become to |CompareWithConversion|.
git-svn-id: svn://10.0.0.236/trunk@69685 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-14 22:32:30 +00:00
waterson%netscape.com
fa1241b5bc Remove #ifdef that's no longer necessary now that STL headers aren't included.
git-svn-id: svn://10.0.0.236/trunk@69603 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-14 00:14:19 +00:00
scc%netscape.com
fa91dce42e 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.
git-svn-id: svn://10.0.0.236/trunk@69597 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-13 23:59:49 +00:00
scc%netscape.com
f5ccd18c8c fixed macro-based comparison operators to help with our type-unification problems
git-svn-id: svn://10.0.0.236/trunk@69586 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-13 21:39:37 +00:00
scc%netscape.com
3f80c66aba Added |NS_READABLE_CAST| to clarify what we're doing in places where we face the type-unification error on lame compilers.
git-svn-id: svn://10.0.0.236/trunk@69575 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-13 20:29:18 +00:00
scc%netscape.com
729eef98f9 getting ready to turn this stuff on, changes related to that: empty strings specified with null pointer, a couple of other fixes.
git-svn-id: svn://10.0.0.236/trunk@69573 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-13 20:17:35 +00:00
waterson%netscape.com
401931a3af Resolve gcc-2.7.2.3 type unification ambiguity for nsAReadableString's Compare() method. NOT PART OF THE BUILD.
git-svn-id: svn://10.0.0.236/trunk@69519 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-13 02:11:26 +00:00
scc%netscape.com
3495a25e7e changed some comments
git-svn-id: svn://10.0.0.236/trunk@69377 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-12 05:20:21 +00:00
scc%netscape.com
0736ff46a2 Changed some comments
git-svn-id: svn://10.0.0.236/trunk@69374 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-12 05:17:51 +00:00
scc%netscape.com
f536c121d4 Filled out the smart pointer implementation. Changed some comments.
git-svn-id: svn://10.0.0.236/trunk@69373 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-12 05:17:39 +00:00
scc%netscape.com
9606d2e818 Added an assertion in |copy_string|. Changed some comments.
git-svn-id: svn://10.0.0.236/trunk@69371 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-12 05:16:00 +00:00
scc%netscape.com
8327846ea7 making promises work
git-svn-id: svn://10.0.0.236/trunk@67401 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-27 20:01:28 +00:00
mjudge%netscape.com
f74ce25354 scc string fixes
git-svn-id: svn://10.0.0.236/trunk@67148 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-26 00:55:37 +00:00
pavlov%netscape.com
737b1b7d4e add typename to make linux compiler happy r=scc
git-svn-id: svn://10.0.0.236/trunk@66910 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-23 05:54:36 +00:00
scc%netscape.com
b342a90485 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.
git-svn-id: svn://10.0.0.236/trunk@66636 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-21 01:25:19 +00:00
scc%netscape.com
1651080984 Added |nsCharSourceTraits| and |nsCharSinkTraits| to better facilitate copying from arbitrary char sources into arbitrary char consumers
git-svn-id: svn://10.0.0.236/trunk@66634 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-21 01:20:55 +00:00
scc%netscape.com
75e584abac added |nsWritingIterator<T>::write| to satisfy the char-source/char-sink stuff beard and I put in.
git-svn-id: svn://10.0.0.236/trunk@66632 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-21 01:19:40 +00:00
scc%netscape.com
d4ae0a9e41 Added signatures to prevent automatic incorrect promotion of |char| to |PRUnichar|
git-svn-id: svn://10.0.0.236/trunk@66036 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-14 23:20:31 +00:00
scc%netscape.com
3904cb14f9 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)
git-svn-id: svn://10.0.0.236/trunk@66035 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-14 23:19:14 +00:00
waterson%netscape.com
b9c0266bb5 Ok, the |typename| stuff wasn't really necessary, and caused problems on VC++. r=scc
git-svn-id: svn://10.0.0.236/trunk@65177 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-04 09:21:57 +00:00
waterson%netscape.com
5b2cfbd78e Add |operator!=()| implementation, conditioned on HAVE_CPP_UNAMBIGUOUS_STD_NOTEQUAL. r=scc
git-svn-id: svn://10.0.0.236/trunk@65160 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-04 06:42:59 +00:00
waterson%netscape.com
43da99c9b2 Hackery to get NEW_STRING_APIS compiling on gcc-2.7.2.3. r=scc
git-svn-id: svn://10.0.0.236/trunk@65155 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-04 06:00:01 +00:00
waterson%netscape.com
94d6ca1131 Start trying to compile on Unix with new changes. r=scc
git-svn-id: svn://10.0.0.236/trunk@65149 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-04 05:45:57 +00:00
scc%netscape.com
536db3ad95 make appending a single character faster for rickg
git-svn-id: svn://10.0.0.236/trunk@65133 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-04 03:06:15 +00:00
scc%netscape.com
5dd09e2ded incremental changes. these files are not yet part of the build
git-svn-id: svn://10.0.0.236/trunk@64725 18797224-902f-48f8-a5cc-f745e15eee43
2000-03-31 07:28:38 +00:00
scc%netscape.com
bdfaeac28d incremental changes. We're getting closer. These files are not yet part of the build.
git-svn-id: svn://10.0.0.236/trunk@64636 18797224-902f-48f8-a5cc-f745e15eee43
2000-03-30 22:53:41 +00:00