On Mon, May 22, 2006 at 03:27:06AM +0900, Tanaka Akira wrote:
> Package: manpages-dev
> Version: 2.22-1
> 
> fcntl(2) describes that the third argument "arg" is long for F_SETFL.
> 
> % man fcntl 
> ...
>        int fcntl(int fd, int cmd, long arg);
> ...
>        F_SETFL
>               Set  the  file status flags to the value specified by arg.  File
>               access mode (O_RDONLY, O_WRONLY, O_RDWR) and file creation flags
>               (e.g.,O_CREAT,  O_EXCL,  O_TRUNC)  in arg are ignored.  On Linux
>               this command can only change the  O_APPEND,  O_ASYNC,  O_DIRECT,
>               O_NOATIME, and O_NONBLOCK flags.
> ...
> 
> But POSIX (IEEE Std 1003.1-2001) defines it int.
> 
> ...
>     F_SETFL
>         Set the file status flags, defined in <fcntl.h>, for the file
>         description associated with fildes from the corresponding bits in the
>         third argument, arg, taken as type int. Bits corresponding to the file
>         access mode and the file creation flags, as defined in <fcntl.h>, that
>         are set in arg shall be ignored. If any bits in arg other than those
>         mentioned here are changed by the application, the result is
>         unspecified.
> ...
Is there a practical difference between "long" and "int"?  glibc-doc
says something to the effect of "they are the same on most systems"
("c language facilities" section).


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to