Changeset ca4c6ec1 in mainline for uspace/lib/posix/source/fcntl.c


Ignore:
Timestamp:
2012-08-31T10:18:53Z (13 years ago)
Author:
Vojtech Horky <vojtechhorky@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
f8cbe2c3
Parents:
a3da2b2
Message:

libposix: replace macro with function (open())

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/posix/source/fcntl.c

    ra3da2b2 rca4c6ec1  
    9595}
    9696
     97/**
     98 * Open, possibly create, a file.
     99 *
     100 * @param pathname Path to the file.
     101 * @param flags Access mode flags.
     102 */
     103int posix_open(const char *pathname, int flags, ...)
     104{
     105        mode_t mode = 0;
     106        if ((flags & O_CREAT) > 0) {
     107                va_list args;
     108                va_start(args, flags);
     109                mode = va_arg(args, mode_t);
     110                va_end(args);
     111        }
     112
     113        int rc = open(pathname, flags, mode);
     114        if (rc < 0) {
     115                errno = -rc;
     116                rc = -1;
     117        }
     118
     119        return rc;
     120}
     121
    97122/** @}
    98123 */
Note: See TracChangeset for help on using the changeset viewer.