<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
</head>
<body dir="auto">
<div><br>
</div>
<div>On 01 Apr 2015, at 12:15, Andrei Tuicu <<a href="mailto:andrei.tuicu@gmail.com">andrei.tuicu@gmail.com</a>> wrote:<br>
<br>
</div>
<blockquote type="cite">
<div>
<div dir="ltr">
<div class="gmail_extra"><br>
<div class="gmail_quote">În data de 1 aprilie 2015, 12:08, Radu MALUȘ <span dir="ltr">
<<a href="mailto:so@cursuri.cs.pub.ro" target="_blank">so@cursuri.cs.pub.ro</a>></span> a scris:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>
<div><br>
> On 01 Apr 2015, at 00:34, Adrian Stanciu <<a href="mailto:adrian.stanciu.pub@gmail.com" target="_blank">adrian.stanciu.pub@gmail.com</a>> wrote:<br>
><br>
> 2015-03-31 23:48 GMT+03:00 Radu MALUȘ <<a href="mailto:so@cursuri.cs.pub.ro" target="_blank">so@cursuri.cs.pub.ro</a>>:<br>
>> Salut,<br>
>><br>
>> Am doua probleme cu testele pentru tema 2.<br>
>><br>
>> Prima e in legatura cu testul 4: Testing append redirect operators<br>
>> Este singurul care imi pica, rulat pe masina virtuala.<br>
>> Am observat ca nu am output corect pentru comanda: ./main &> out2.txt unde, in fisierul rezultat nu am decat output-ul iesirii standard, nu si a iesirii de eroare standard.<br>
>> Se pare ca problema vine de la io_flags, valoare care nu e setata nici pe IO_OUT_APPEND nici pe IO_ERR_APPEND si, cred eu, din cauza asta fisierul in care se face redirectarea este rescris la a doua redirectare.<br>
>> Ar trebui sa ma astept sa am setat io_flags? Nu ar trebui sa aiba una din cele doua valori de mai sus in cazul redirectarii multiple (adica si stdout si err)?<br>
>><br>
><br>
> Câmpul io_flags va avea ambii biți setați în cazul prezentat de tine.<br>
><br>
>> A doua e in legatura cu testul 0, unde imi spune “line over 80 characters” pentru o linie care nu are maimult de 80 de caractere, ci are 73.<br>
>> Nu inteleg de unde vine eroarea. Caracterele tab nu sunt numarate ca avand 4 spatii?<br>
>><br>
><br>
> Implicit tab-ul este de 8 caractere. Depinde cum e la tine.<br>
><br>
><br>
> Adrian<br>
<br>
</div>
</div>
Multumesc pentru raspunsuri.<br>
Partea cu lungimea liniei am rezolvat-o.<br>
<br>
In schimb la io_flags, probabil nu fac eu ceva bine. Nu imi este setat niciun flag in cazul testului mentionat mai sus.<br>
Verificarea flag-urilor este ca in exemplul din DisplayStructure.cpp: s->io_flags & IO_OUT_APPEND.</blockquote>
<div><br>
</div>
<div>Salut!</div>
<div><br>
Operatorul &> nu scrie in modul append, de aceea nu vei avea setat niciun bit in io_flags, ceea ce face in schimb e sa-ti redirecteze atat STDOUT-ul cat si STDERR-ul la _acelasi_ fisier. Cel mai probabil tu nu verifici ca cele 2 string-uri sunt egale si deschizi
de 2 ori fisierul, iar in loc sa dai dup2 pe acelasi _descriptor_ de fisier, dai dup2 pe 2 descriptori de fisier diferiti care doar refera acelasi fisier. Aceasta este singura explicatie pe care o vad pentru comportamentul descris de tine; l-am avut si eu.</div>
<div><br>
</div>
<div>Cheers,</div>
<div>Andrei Tuicu</div>
<div> </div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
</blockquote>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>
<div>Radu Malus<br>
CC332<br>
_______________________________________________<br>
<a href="http://ocw.cs.pub.ro/courses/so/info/lista-discutii" target="_blank">http://ocw.cs.pub.ro/courses/so/info/lista-discutii</a></div>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</blockquote>
<br>
<div>Salut,</div>
<div><br>
</div>
<div>Ai dreptate, am omis acest aspect.</div>
<div>Multumesc mult!</div>
<div><br>
</div>
<div><br>
</div>
<div>Radu</div>
</body>
</html>