<!doctype html public "-//W3C//DTD W3 HTML//EN">
<html><head><style type="text/css"><!--
blockquote, dl, ul, ol, li { padding-top: 0 ; padding-bottom: 0 }
 --></style><title>Re: [Live-devel] Range header
parsing</title></head><body>
<blockquote type="cite" cite><font size="-1">I would note that within
the parseRangeHeader function (in the file liveMedia/RTSPServer.cpp),
the Range header is parsed expecting spaces to be present between the
elements of the NPT specification.&nbsp; See below:<br>
<br>
&nbsp;&nbsp;&nbsp; 590&nbsp;&nbsp; float start, end;<br>
&nbsp;&nbsp;&nbsp; 591&nbsp;&nbsp; if (sscanf(fields, &quot;npt = %f -
%f&quot;, &amp;start, &amp;end) == 2) {<br>
&nbsp;&nbsp;&nbsp; 592&nbsp;&nbsp;&nbsp;&nbsp; rangeStart = start;<br>
&nbsp;&nbsp;&nbsp; 593&nbsp;&nbsp;&nbsp;&nbsp; rangeEnd = end;<br>
&nbsp;&nbsp;&nbsp; 594&nbsp;&nbsp; } else if (sscanf(fields, &quot;npt
= %f -&quot;, &amp;start) == 1) {<br>
&nbsp;&nbsp;&nbsp; 595&nbsp;&nbsp;&nbsp;&nbsp; rangeStart = start;<br>
&nbsp;&nbsp;&nbsp; 596&nbsp;&nbsp; } else {<br>
&nbsp;&nbsp;&nbsp; 597&nbsp;&nbsp;&nbsp;&nbsp; return False; // The
header is malformed<br>
&nbsp;&nbsp;&nbsp; 598&nbsp;&nbsp; }<br>
<br>
Is there a reason for the parsing of NPT information in this
manner?</font></blockquote>
<div><br></div>
<div>Yes, because it *allows*, but does not *require*, white space to
be present in the input.</div>
<div><br></div>
<div>Note the following, from &quot;man sscanf()&quot;:</div>
<div>&nbsp;&nbsp; &quot;White space (such as</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp; blanks, tabs, or newlines) in the format
string match any amount of white</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp; space, including none, in the
input.&quot;</div>
<div><br></div>
<blockquote type="cite" cite><font size="-1">&nbsp; The specification
of NPT within RFC2326 does not appear to include spaces between NPT
elements.&nbsp; And I would additionally note that even when Range
headers are returned by the liveMedia library, these do not include
spaces between NPT elements.</font></blockquote>
<div><br></div>
<div>However, because of the way that &quot;scanf()&quot; works, these
should be parsed OK by the existing code.</div>
<x-sigsep><pre>-- 
</pre></x-sigsep>
<div><br>
Ross Finlayson<br>
Live Networks, Inc.<br>
http://www.live555.com/</div>
</body>
</html>