< Previous by Date Date Index Next by Date >
< Previous in Thread Thread Index Next in Thread >

Re: [reSIProcate] Fast streams encode std::endl incorrectly on *nix systems


I think we can change this to '\n' for all platforms, Visual C++ actually
uses '\n' for its STL implementation.  Not sure why "\r\n" was picked :-).

Thanks,

-justin

-----Original Message-----
From: resiprocate-devel-bounces@xxxxxxxxxxxxxxx
[mailto:resiprocate-devel-bounces@xxxxxxxxxxxxxxx] On Behalf Of Byron Campen
Sent: Monday, December 01, 2008 8:01 PM
To: resiprocate-devel@xxxxxxxxxxxxxx
Subject: [reSIProcate] Fast streams encode std::endl incorrectly on *nix
systems

        On *nix systems, std::endl is encoded as '\n', but the following
code in resipfaststreams.hxx encodes it as "\r\n"

*snip*
          if (_Pfn == static_cast<std::ostream& (*)
(std::ostream&)>(std::endl))
          {
             if (buf_->writebuf("\r\n",2) < 2)
             {
                good_ = false;
             }
          }

*snip*

        Is there going to be an easy way to make this behavior consistent
with whatever the platform does? Just using an #ifdef WIN32  won't get this
quite right, but it may be good enough for us. Thoughts?

Best regards,
Byron Campen