NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

standards/58161: directory(3) man page doesn't list standard error codes in POSIX



>Number:         58161
>Category:       standards
>Synopsis:       directory(3) man page doesn't list standard error codes in POSIX
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    standards-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Apr 17 15:45:01 +0000 2024
>Originator:     Taylor R Campbell
>Release:        current, 10, 9, 8
>Organization:
The NetDir_r Foundation
>Environment:
>Description:
The directory(3) man page has some language similar to the language in POSIX at https://pubs.opengroup.org/onlinepubs/9699919799/functions/readdir.html, https://pubs.opengroup.org/onlinepubs/9699919799/functions/opendir.html, and https://pubs.opengroup.org/onlinepubs/9699919799/functions/closedir.html, but it is missing the detailed errors sections:

(readdir, readdir_r)
ERRORS

    These functions shall fail if:

    [EOVERFLOW]
        One of the values in the structure to be returned cannot be represented correctly.

    These functions may fail if:

    [EBADF]
        The dirp argument does not refer to an open directory stream.
    [ENOENT]
        The current position of the directory stream is invalid.

(opendir)
ERRORS

    The fdopendir() function shall fail if:

    [EBADF]
        The fd argument is not a valid file descriptor open for reading.
    [ENOTDIR]
        The descriptor fd is not associated with a directory.

    The opendir() function shall fail if:

    [EACCES]
        Search permission is denied for the component of the path prefix of dirname or read permission is denied for dirname.
    [ELOOP]
        A loop exists in symbolic links encountered during resolution of the dirname argument.
    [ENAMETOOLONG]
        The length of a component of a pathname is longer than {NAME_MAX}.
    [ENOENT]
        A component of dirname does not name an existing directory or dirname is an empty string.
    [ENOTDIR]
        A component of dirname names an existing file that is neither a directory nor a symbolic link to a directory.


    The opendir() function may fail if:

    [ELOOP]
        More than {SYMLOOP_MAX} symbolic links were encountered during resolution of the dirname argument.
    [EMFILE]
        All file descriptors available to the process are currently open.
    [ENAMETOOLONG]
        The length of a pathname exceeds {PATH_MAX}, or pathname resolution of a symbolic link produced an intermediate result with a length that exceeds {PATH_MAX}.
    [ENFILE]
        Too many files are currently open in the system.

(closedir)
ERRORS

    The closedir() function may fail if:

    [EBADF]
        The dirp argument does not refer to an open directory stream.
    [EINTR]
        The closedir() function was interrupted by a signal.

>How-To-Repeat:
man 3 directory
>Fix:
Yes, please!



Home | Main Index | Thread Index | Old Index