This commit is contained in:
Kartik K. Agaram 2017-10-15 01:18:55 -07:00
parent 125bea475f
commit 1ee02a2273
2 changed files with 6 additions and 6 deletions

View File

@ -249,11 +249,11 @@ if ('onhashchange' in window) {
<span id="L186" class="LineNr">186 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Delimiter">}</span>
<span id="L187" class="LineNr">187 </span> <span class="Conceal">¦</span> <span class="Delimiter">}</span>
<span id="L188" class="LineNr">188 </span> <span class="Conceal">¦</span> <span class="Normal">if</span> <span class="Delimiter">(</span>c &gt;= <span class="Constant">'0'</span> &amp;&amp; c &lt;= <span class="Constant">'9'</span><span class="Delimiter">)</span> <span class="Identifier">return</span> c<span class="Delimiter">;</span>
<span id="L189" class="LineNr">189 </span> <span class="Conceal">¦</span> <span class="Normal">else</span> <span class="Normal">if</span> <span class="Delimiter">(</span>c &gt;= <span class="Constant">'a'</span> &amp;&amp; c &lt;= <span class="Constant">'f'</span><span class="Delimiter">)</span> <span class="Identifier">return</span> c<span class="Delimiter">;</span>
<span id="L190" class="LineNr">190 </span> <span class="Conceal">¦</span> <span class="Normal">else</span> <span class="Normal">if</span> <span class="Delimiter">(</span>c &gt;= <span class="Constant">'A'</span> &amp;&amp; c &lt;= <span class="Constant">'F'</span><span class="Delimiter">)</span> <span class="Identifier">return</span> tolower<span class="Delimiter">(</span>c<span class="Delimiter">);</span>
<span id="L189" class="LineNr">189 </span> <span class="Conceal">¦</span> <span class="Normal">if</span> <span class="Delimiter">(</span>c &gt;= <span class="Constant">'a'</span> &amp;&amp; c &lt;= <span class="Constant">'f'</span><span class="Delimiter">)</span> <span class="Identifier">return</span> c<span class="Delimiter">;</span>
<span id="L190" class="LineNr">190 </span> <span class="Conceal">¦</span> <span class="Normal">if</span> <span class="Delimiter">(</span>c &gt;= <span class="Constant">'A'</span> &amp;&amp; c &lt;= <span class="Constant">'F'</span><span class="Delimiter">)</span> <span class="Identifier">return</span> tolower<span class="Delimiter">(</span>c<span class="Delimiter">);</span>
<span id="L191" class="LineNr">191 </span> <span class="Conceal">¦</span> <span class="Comment">// disallow any non-hex characters, including a '0x' prefix</span>
<span id="L192" class="LineNr">192 </span> <span class="Conceal">¦</span> <span class="Normal">if</span> <span class="Delimiter">(</span>!isspace<span class="Delimiter">(</span>c<span class="Delimiter">))</span> <span class="Delimiter">{</span>
<span id="L193" class="LineNr">193 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <a href='003trace.cc.html#L167'>raise</a> &lt;&lt; <span class="Constant">&quot;invalid non-hex character '&quot;</span> &lt;&lt; c &lt;&lt; <span class="Constant">&quot;'</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span> &lt;&lt; <a href='003trace.cc.html#L184'>end</a><span class="Delimiter">();</span>
<span id="L193" class="LineNr">193 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <a href='003trace.cc.html#L167'>raise</a> &lt;&lt; <span class="Constant">&quot;invalid non-hex character &quot;</span> &lt;&lt; <a href='010core.cc.html#L228'>NUM</a><span class="Delimiter">(</span>c<span class="Delimiter">)</span> &lt;&lt; <span class="Constant">&quot;</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span> &lt;&lt; <a href='003trace.cc.html#L184'>end</a><span class="Delimiter">();</span>
<span id="L194" class="LineNr">194 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Identifier">break</span><span class="Delimiter">;</span>
<span id="L195" class="LineNr">195 </span> <span class="Conceal">¦</span> <span class="Delimiter">}</span>
<span id="L196" class="LineNr">196 </span> <span class="Delimiter">}</span>

View File

@ -186,11 +186,11 @@ char next_hex_byte(istream& in) {
}
}
if (c >= '0' && c <= '9') return c;
else if (c >= 'a' && c <= 'f') return c;
else if (c >= 'A' && c <= 'F') return tolower(c);
if (c >= 'a' && c <= 'f') return c;
if (c >= 'A' && c <= 'F') return tolower(c);
// disallow any non-hex characters, including a '0x' prefix
if (!isspace(c)) {
raise << "invalid non-hex character '" << c << "'\n" << end();
raise << "invalid non-hex character " << NUM(c) << "\n" << end();
break;
}
}