Hi,<br><br>I will ike accentuate the do {}while(0) behavior.<br>I&#39;ve seen this in few projects including VDR and at least one plugin (xineliboutput)<br>In a code like:<br>do {<br><br>&nbsp;&nbsp;&nbsp; if (condition1)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; continue;
<br>} while(condition2);<br>continue does not translate to a jump to &quot;do&quot;, but to a jump to &quot;while&quot; where the condition2 is evaluated.<br><br>do {<br>&nbsp;&nbsp; if (condition1)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; continue;<br>} while(0);
<br><br>if equivalent with:<br>do {<br>&nbsp;&nbsp; if (condition1)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br>} while (0);<br><br>Regards,<br>Ilariu<br><div><span class="gmail_quote">On 2/18/07, <b class="gmail_sendername">Reinhard Nissl</b> &lt;<a href="mailto:rnissl@gmx.de">
rnissl@gmx.de</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hi,<br><br>Dieter Bloms wrote:<br><br>&gt; my primary dvb card works fine on both of my Twin-LNB connectors.
<br>&gt; I can switch the second card via szap and get a video stream via<br>&gt; &quot;cat /dev/dvb/adapter1/dvr0 &gt; /tmp/bla&quot; on H and V channels.<br>&gt; VDR doesn&#39;t get data any data from H channels, but gets data from V
<br>&gt; channels.<br>&gt; I will try to strace vdr and szap to get any difference, maybe they do<br>&gt; it in a different way.<br><br>I&#39;ve had a further look into szap&#39;s source how it detects the status<br>FE_LOCKED. Attached is an updated tuner patch which now also reports
<br>details for FE_READ_STATUS.<br><br>One difference between VDR and szap regarding FE_READ_STATUS is, that<br>VDR only honors the read status when ioctl() returns 0 while szap prints<br>just an error when ioctl() returns -1.
<br><br>Furthermore, VDR&#39;s handling of errno == EINTR seems to be wrong due to<br>the do {} while (0); loop.<br><br>BTW: I still assume, that your logfile reports a tuning timeout. If this<br>is no longer the case, then you may want to experiment with
<br>WAIT_FOR_TUNER_LOCK in device.c.<br><br>Bye.<br>--<br>Dipl.-Inform. (FH) Reinhard Nissl<br>mailto:<a href="mailto:rnissl@gmx.de">rnissl@gmx.de</a><br><br>_______________________________________________<br>vdr mailing list
<br><a href="mailto:vdr@linuxtv.org">vdr@linuxtv.org</a><br><a href="http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr">http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr</a><br><br><br></blockquote></div><br>