<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <meta http-equiv="Content-Style-Type" content="text/css" />
  <meta name="generator" content="pandoc" />
  <title></title>
  <style type="text/css">code{white-space: pre;}</style>
</head>
<body>
<p>Hi j-b,</p>
<p>On 2017-03-01 17:46, Jean-Baptiste Kempf wrote:</p>
<blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;color:#500050">
<blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;color:#500050">
<pre><code> -            if( !priv->i_title || priv->i_title < *pi_title_to_fetch )
 +            if( priv->i_title <= *pi_title_to_fetch )</code></pre>
</blockquote>
<pre><code> Why remove the first part of the test?</code></pre>
</blockquote>
<p>Because it does not add any significance to the <em>if-clause</em>; as we are dealing with indices <code>priv->i_title</code> having a value of <code>0</code> will always be less than or equal to <code>*pi_title_to_fetch</code>, meaning that we should return <code>VLC_EGENERIC</code>.</p>
<p>I am not sure what the original reason was for having <code>!priv->i_title</code>, perhaps:</p>
<ul>
<li><p>it was a mental shortcut stating that an empty set shall always result in <code>VLC_EGENERIC</code> - but that is now solved by using <code><=</code> instead of <code><</code>, or;</p></li>
<li><p>it was simply the <code>if</code> at <code>src/input/control.c:348</code> that was used as a template, and then negated in a redundant fashion.</p>
<pre><code>if( priv->i_title && priv->i_title > *pi_req_title_offset )</code></pre></li>
</ul>
<hr style="height:1px;margin-bottom:20px;background-color:#ddd;color:#ddd" />
<h3 id="however">However…</h3>
<p>Though, there is a possibility for <code>*pi_title_to_fetch</code> to be negative because of invalid values set for <code>"title"</code>-variable. Even though that should not happen, it is perhaps best to make sure that it simply cannot happen.</p>
<p>See attached patch.</p>
<p>Best Regards,<br />
Filip</p>
</body>
</html>