This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFC] 9533: sixth iteration


Pétur Runólfsson wrote:

This looks great, but if this is meant for 3.3 this:

+	  if (__cvt.encoding() >= 0)
+	    __ret += _M_file.showmanyc_helper(__sync) / __cvt.max_length();

should be changed to:

+	  if (__cvt.always_noconv())
+	    __ret += _M_file.showmanyc_helper(__sync);

since codecvt<wchar_t, char, mbstate_t>::encoding() and max_length() in
3.3 return garbage (they are not perfect in 3.4 either :-).

Actually, the patch was tested with 3.4: I'm reluctant to apply something first to 3.3, then to trunk.

Thanks for the info, anyway, which will be much useful in the near future.

What do you mean exactly by "garbage" (*)? Could you provide some more info or, even better, a patch, enabling us to use safely the much more correct code on top?

Thanks,
Paolo.

(*) Your colorful language often reminds me that of H.J. Lu ;-)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]