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: [Patch] Fix libstdc++/9533


Nathan Myers wrote:

Another observation which comes to my mind: that this approach is
really low level wrt the underflow (hack, indeed) can be seen clearly
from the fact that in this way we get the size in bytes, not the
number of chars in the internal representation.
Therefore, it seems to me, showmanyc will have to use also the
codecvt information.


No. If there is a codecvt<> involved (is there? I didn't look, I thought that was a filebuf<> thing) then showmanyc() should divide the number of bytes by the maximum character size, std::codecvt<>::max_length(). Remember it's returning an estimate,
a lower bound, and shouldn't be doing too much work.


That's the key point, thanks!
Just a lower bound, so max_length() suffices and we are done once and for all even for
encodings -1 (not yet implemented) and 0 (partially so).


Paolo.


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