View Issue Details

IDProjectCategoryView StatusLast Update
00002781003.1(2008)/Issue 7System Interfacespublic2013-04-16 13:06
Reportergeoffclare Assigned Toajosey  
PrioritynormalSeverityObjectionTypeError
Status ClosedResolutionAccepted 
NameGeoff Clare
OrganizationThe Open Group
User Reference
Sectionaccess
Page Number562
Line Number19504
Interp Status---
Final Accepted Text
Summary0000278: *at() function ENOTDIR for file descriptor
DescriptionThe way this error condition is described:
    [ENOTDIR] The path argument is not an absolute path and fd is
              neither AT_FDCWD nor a file descriptor associated with a
              directory.

means that it overlaps with EBADF for some cases. I think that
when fd is not an open file descriptor (and not AT_FDCWD) the
standard should require EBADF. To avoid this overlap, the ENOTDIR
error should be reworded as:
    [ENOTDIR] The path argument is not an absolute path and fd is
              a file descriptor associated with a non-directory file.

This still allows either error for the case where the fd is open
O_WRONLY or O_RDWR to a non-directory file (and I think it should).

Also, I can see no reason why these ENOTDIR errors are "may fail".
The proposed changes move them to "shall fail".
Desired ActionAt
page 562 line 19504 section access
page 656 line 22222 section chmod
page 661 line 22393 section chown
page 947 line 31731 section fstatat
page 970 line 32458 section futimens
page 1290 line 42359 section mkdir
page 1296 line 42556 section mkfifo
page 1300 line 42711 section mknod
page 1383 line 45364 section open
page 1750 line 55897 section readlink
page 2156 line 68085 section unlink
delete
    [ENOTDIR] The path argument is not an absolute path and fd is
              neither AT_FDCWD nor a file descriptor associated with a
              directory.

If there are no remaining "may fail" errors, delete the preceding
line "The function_name() function may fail if:".

At
page 562 line 19491 section access
page 656 line 22210 section chmod
page 660 line 22379 section chown
page 946 line 31720 section fstatat
page 969 line 32438 section futimens
page 1290 line 42350 section mkdir
page 1296 line 42547 section mkfifo
page 1300 line 42702 section mknod
page 1383 line 45348 section open
page 1750 line 55888 section readlink
page 2155 line 68066 section unlink
add (after EBADF)
    [ENOTDIR] The path argument is not an absolute path and fd is
              a file descriptor associated with a non-directory file.


At page 1218 line 40182 section link delete
    [ENOTDIR] The path1 or path2 argument is not an absolute path and
              fd1 or fd2, respectively, is neither AT_FDCWD nor a file
              descriptor associated with a directory.


At page 1217 line 40172 section link add (after EBADF)
    [ENOTDIR] The path1 or path2 argument is not an absolute path and
              fd1 or fd2, respectively, is a file descriptor associated
              with a non-directory file.


At page 1783 line 57041 section rename delete
    The renameat() function may fail if:

    [ENOTDIR] The old argument is not an absolute path and oldfd is
              neither AT_FDCWD nor a file descriptor associated with a
              directory, or the new argument is not an absolute path
              and newfd is neither AT_FDCWD nor a file descriptor
              associated with a directory.


At page 1783 line 57030 section rename add (after EBADF)
    [ENOTDIR] The old or new argument is not an absolute path and
              oldfd or newfd, respectively, is a file descriptor
              associated with a non-directory file.


At page 2058 line 65116 section symlink delete
    The symlinkat() function may fail if:

    [ENOTDIR] The path2 argument is not an absolute path and fd is
              neither AT_FDCWD nor a file descriptor associated with a
              directory.


At page 2058 line 65108 section symlink add (after EBADF)
    [ENOTDIR] The path2 argument is not an absolute path and fd is
              a file descriptor associated with a non-directory file.

Tagstc1-2008

Activities

There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2010-07-07 09:37 geoffclare New Issue
2010-07-07 09:37 geoffclare Status New => Under Review
2010-07-07 09:37 geoffclare Assigned To => ajosey
2010-07-07 09:37 geoffclare Name => Geoff Clare
2010-07-07 09:37 geoffclare Organization => The Open Group
2010-07-07 09:37 geoffclare Section => access
2010-07-07 09:37 geoffclare Page Number => 562
2010-07-07 09:37 geoffclare Line Number => 19504
2010-07-07 09:37 geoffclare Interp Status => ---
2010-07-29 15:24 Don Cragun Status Under Review => Resolved
2010-07-29 15:24 Don Cragun Resolution Open => Accepted
2010-08-27 11:16 ajosey Tag Attached: tc1-2008
2013-04-16 13:06 ajosey Status Resolved => Closed