CREATE-FILE (spf/linux)

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

CREATE-FILE (spf/linux)

ygrek-3
Привет,

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

attachment0 (204 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: CREATE-FILE (spf/linux)

Andrey Cherezov
Добрый день, ygrek!

По мне так пусть хоть "abcd", лишь бы с SPF/Win было совместимо :)

Ваше сообщение от 27.07.2008 12:36:

> 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
>  


-------------------------------------------------------------------------
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