Nu îți pasă de errno. read() original setează errno dar erorile injectate
de checker pe cazul respectiv nu setează.

so_ferror doar spune dacă a fost o eroare (nu putem identifica de ce tip).

On Tue, Mar 26, 2019, 20:57 George Diaconu via so <[email protected]>
wrote:

> Salut,
>
> Cum spune si subiectul, apelul read(), in momentul in care intoarce
> -1, nu seteaza si errno. In manual scrie ca ar trebui sa il seteze,
> dar totusi, secventa urmatoare de cod:
>
> long rc = read(...)
> int code = errno;
> printf("%d\n", code);
>
> afiseaza intotdeauna 0, chiar si atunci cand read() intoarce -1.
>
> Am inclus "errno.h", si nu fac nimic ciudat cu errno (cum ar fi sa-l
> redeclar).
> Am doua intrebari:
> 1. Nu am inteles eu bine cand e setata valoarea intoarsa de errno?
> 2. E ok daca imi declar singur mai multe coduri de eroare si le intorc
> pe acestea in so_ferror()?
>
> Multumesc anticipat.
> _______________________________________________
> http://ocw.cs.pub.ro/courses/so/info/lista-discutii
_______________________________________________
http://ocw.cs.pub.ro/courses/so/info/lista-discutii

Raspunde prin e-mail lui