[so] open(O_CREAT)

Lucian Cojocar cojocar at gmail.com
Thu Mar 5 22:04:50 EET 2009


alexandrujuncu at gmail.com wrote:
> Pornind de la avertizarea "ATENŢIE! O greşeală frecventă este omiterea
> drepturilor de creare a fişierului (0644 în exemplul de mai sus) când
> se apelează open cu flag-ul O_CREAT activat. "  am testat să văd care
> sunt efectele... a creat fișierul ok, doar că a dat niște drepturi
> ciudate..ba mai mult, rulat de două ori a dat drepturi diferite:
> 
> -r----x--T 1 alexj alexj    0 2009-03-05 21:30 dan.txt
> ----r-x--T 1 alexj alexj    0 2009-03-05 21:32 dan.txt
> -rwSr-x--T 1 alexj alexj    0 2009-03-05 21:34 dan.txt
> 
> Dar nu a dat eroare...există vreo explicație pentru comportamentul acesta?
> 
Da.

Definitia lui open este:

int open(const char *, ...);

Ca sa mearga si open fara O_CREAT.
Practic daca ai dat O_CREAT s-a incercat citirea a ce mai exista pe 
stiva. Compilatorul nu are cum sa-si dea seama ca tu ai dat parametru 
O_CREAT si ca ar trebui sa mai dai un paramatru.


Lucian

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3361 bytes
Desc: S/MIME Cryptographic Signature
Url : http://cursuri.cs.pub.ro/pipermail/so/attachments/20090305/586326e6/attachment.bin 


More information about the so mailing list