< 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 wasn't trying to suggest the change was wrong, and I agree with your assessment. My point was to get anyone who's down in that code to think if they've seen places where someone wrote something that assumed that CRLF when building SIP or SDP. Its not been around long enough for there to be much of that I suppose.

RjS

On Dec 2, 2008, at 10:47 AM, Justin Matthews wrote:

The STL libraries that I checked use '\n' for std::ostream/std::endl
processing. The faststream implementation was using "\r\n", so I would think that if anything the faststream implementation would break existing code. This change modifies faststream to behave the same as the default STL
std::ostream encoding.  Unless I misunderstood your comment.

Thanks,

-justin

-----Original Message-----
From: Robert Sparks [mailto:rjsparks@xxxxxxxxxxx]
Sent: Tuesday, December 02, 2008 10:51 AM
To: Justin Matthews
Cc: Byron Campen; resiprocate-devel@xxxxxxxxxxxxxx
Subject: Re: [reSIProcate] Fast streams encode std::endl incorrectly on *nix
systems

(resending - apologies if this is a duplicate):

Its probably worth skimming to make sure nothing was counting on that
\r\n behavior when encoding SIP messages
(which require CRLF regardless of platform).

RjS

On Dec 1, 2008, at 7:35 PM, Justin Matthews wrote:

Done. Let me know if you have issues.

Thanks,


-justin

-----Original Message-----
From: Byron Campen [mailto:bcampen@xxxxxxxxxxxx]
Sent: Monday, December 01, 2008 8:28 PM
To: Justin Matthews
Cc: 'resiprocate-devel@xxxxxxxxxxxxxx'
Subject: Re: [reSIProcate] Fast streams encode std::endl incorrectly
on *nix
systems

        Ok, fine by me!

Best regards,
Byron Campen

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



_______________________________________________
resiprocate-devel mailing list
resiprocate-devel@xxxxxxxxxxxxxxx
https://list.resiprocate.org/mailman/listinfo/resiprocate-devel