Merge "Fix flags to *_PORTABLE in open_portable(), and support openat_portable()."

This commit is contained in:
Andrew Hsieh
2012-08-20 17:28:46 -07:00
committed by android code review

View File

@@ -63,9 +63,9 @@ extern int __open(const char*, int, int);
int open_portable(const char *pathname, int flags, ...)
{
mode_t mode = 0;
flags |= O_LARGEFILE;
flags |= O_LARGEFILE_PORTABLE;
if (flags & O_CREAT)
if (flags & O_CREAT_PORTABLE)
{
va_list args;
@@ -76,3 +76,22 @@ int open_portable(const char *pathname, int flags, ...)
return __open(pathname, mips_change_flags(flags), mode);
}
extern int __openat(int, const char*, int, int);
int openat_portable(int fd, const char *pathname, int flags, ...)
{
mode_t mode = 0;
flags |= O_LARGEFILE_PORTABLE;
if (flags & O_CREAT_PORTABLE)
{
va_list args;
va_start(args, flags);
mode = (mode_t) va_arg(args, int);
va_end(args);
}
return __openat(fd, pathname, mips_change_flags(flags), mode);
}