Deci:<br><br>static void check_ram (size_t offset, size_t ppages, size_t checks)<br>{<br>&nbsp;&nbsp;&nbsp; size_t i, j;<br>&nbsp;&nbsp;&nbsp; size_t read_val;<br>&nbsp;&nbsp;&nbsp; int exp_val;<br>&nbsp;&nbsp;&nbsp; int check = 1;<br><br>&nbsp;&nbsp;&nbsp; for (i = 0; i &lt; ppages; i++) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; lseek (ram_fd, i * p_sz + offset, SEEK_SET);
<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; for (j = 0; j &lt; checks; j++) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; exp_val = (i &lt;&lt; 16) | (offset + j * 4);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; read (ram_fd, &amp;read_val, 4);<br><br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; printf(&quot;exp:%08x read:%08x %d\n&quot;,exp_val,read_val,exp_val!=read_val);&nbsp;&nbsp;&nbsp; 
<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (exp_val != read_val)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; printf(&quot;EROARE!\n&quot;);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; check = 0;<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; /* you gotta love them binary ops :-D */
<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; /* check &amp;= !(exp_val ^ read_val); */<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; }<br><br>&nbsp;&nbsp;&nbsp; test (&quot;check_ram&quot;, check);<br>}<br><br>Output:<br><br>test: access......................................................passed
<br>exp:000009cc read:000009cc 1<br>EROARE!<br>exp:000009d0 read:000009d0 1<br>EROARE!<br>exp:000009d4 read:000009d4 1<br>EROARE!<br>exp:000109cc read:000109cc 1<br>EROARE!<br>exp:000109d0 read:000109d0 1<br>EROARE!<br>exp:000109d4 read:000109d4 1
<br>EROARE!<br>exp:000209cc read:000209cc 1<br>EROARE!<br>exp:000209d0 read:000209d0 1<br>EROARE!<br>exp:000209d4 read:000209d4 1<br>EROARE!<br>test: check_ram...................................................failed<br>test: access......................................................passed
<br><br><br><div><span class="gmail_quote">On 2/11/07, <b class="gmail_sendername">Razvan Deaconescu</b> &lt;<a href="mailto:razvand@cs.pub.ro">razvand@cs.pub.ro</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;">
Ionutz wrote:<br>&gt; Deci, daca in test.c inlocuiesc toate size_t-urile cu int-uri, imi trece<br>&gt; toate testele....altfel pica testele de check_ram si check_swap. Dupa<br>&gt; cum ati vazut in mesajul anterior, programul meu functioneaza corect,
<br>&gt; adica valorile asteptate cu cele gasite sunt identice, doar ca if-ul nu<br>&gt; compara corect doua valori size_t, ci doar doua int-uri. Cel putin, la<br>&gt; concluzia asta am ajuns eu.<br>&gt;<br>&gt;<br><br>salut!
<br><br>poti sa faci o afisare cu %08x in loc de %d? vreau sa vad si eu in<br>hexazecimal valoarea sa vad daca este cu adevarat diferita<br><br>Razvan<br>_______________________________________________<br>so mailing list<br>
<a href="mailto:so@cursuri.cs.pub.ro">so@cursuri.cs.pub.ro</a><br><a href="http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/so">http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/so</a><br></blockquote></div><br>