Привет,
src/posix/io.f
\ для совместимости с SPF/Win, если маска < 3 (т.е. на деле передано
\ W/O, R/O, R/W), устанавливаем маску u+rw
man 2 open
creat() is equivalent to open() with flags equal to
O_CREAT|O_WRONLY|O_TRUNC.
Т.е. при указании R/W CREATE-FILE параметр fam игнорируется и файл открывается как W/O. Это неправильно.
Предлагаю давать u+rw всегда, а fam учитывать как положено. Лучше даже давать u+rw,g+r,o+r
Index: io.f
===================================================================
RCS file: /cvsroot/spf/src/posix/io.f,v
retrieving revision 1.7
diff -u -r1.7 io.f
--- io.f 21 Jul 2008 11:45:53 -0000 1.7
+++ io.f 27 Jul 2008 09:27:50 -0000
@@ -19,10 +19,7 @@
\ Иначе ior - определенный реализацией код результата ввода/вывода,
\ и fileid неопределен.
NIP
- \ для совместимости с SPF/Win, если маска < 3 (т.е. на деле передано
- \ W/O, R/O, R/W), устанавливаем маску u+rw
- DUP 3 < IF DROP 0x180 THEN
- 2 <( )) creat64 ?ERR
+ SYS_O_CREAT OR SYS_O_TRUNC OR 2 <( 0x1A4 ( 0644 = rw-r--r-- ) )) open64 ?ERR
;
: DELETE-FILE ( c-addr u -- ior ) \ 94 FILE
--
~ygrek
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev