From: Enrico Scholz Date: Fri, 23 Jan 2004 20:47:32 +0000 (+0000) Subject: use ENSC_FIX_IOCTL() to fix dietlibc's ioctl() return values X-Git-Tag: VERSION_0_10~832 X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1971065b471830690f52c3094ee6692010884550;p=util-vserver.git use ENSC_FIX_IOCTL() to fix dietlibc's ioctl() return values git-svn-id: http://svn.linux-vserver.org/svn/util-vserver/trunk@702 94cd875c-1c1d-0410-91d2-eb244daf1a30 --- diff --git a/util-vserver/lib/ioctl-getext2flags.hc b/util-vserver/lib/ioctl-getext2flags.hc index adb4346..b04ab16 100644 --- a/util-vserver/lib/ioctl-getext2flags.hc +++ b/util-vserver/lib/ioctl-getext2flags.hc @@ -37,14 +37,12 @@ static inline ALWAYSINLINE int vc_X_get_ext2flags(int fd, long *flags) { int rc; + *flags = 0; - rc = ioctl(fd, EXT2_IOC_GETFLAGS, flags); + rc = ioctl(fd, EXT2_IOC_GETFLAGS, flags); *flags = EXT2FLAGS_KERNEL2USER(*flags); - if (rc<-1) { - errno = -rc; - rc = -1; - } + ENSC_FIX_IOCTL(rc); return rc; } diff --git a/util-vserver/lib/ioctl-getfilecontext.hc b/util-vserver/lib/ioctl-getfilecontext.hc index d7970f9..3ff8c50 100644 --- a/util-vserver/lib/ioctl-getfilecontext.hc +++ b/util-vserver/lib/ioctl-getfilecontext.hc @@ -31,10 +31,7 @@ vc_X_get_filecontext(int fd) int c; int rc = ioctl(fd, EXT2_IOC_GETCONTEXT, &c); - if (rc<-1) { - errno = -rc; - rc = -1; - } + ENSC_FIX_IOCTL(rc); if (rc==-1) return VC_NOCTX; else return c; diff --git a/util-vserver/lib/ioctl-setext2flags.hc b/util-vserver/lib/ioctl-setext2flags.hc index e07d711..47f6752 100644 --- a/util-vserver/lib/ioctl-setext2flags.hc +++ b/util-vserver/lib/ioctl-setext2flags.hc @@ -50,10 +50,7 @@ vc_X_set_ext2flags(int fd, long set_flags, long del_flags) old_flags |= set_flags; rc = ioctl(fd, EXT2_IOC_SETFLAGS, &old_flags); - if (rc<-1) { - errno = -rc; - rc = -1; - } + ENSC_FIX_IOCTL(rc); return rc; } diff --git a/util-vserver/lib/ioctl-setfilecontext.hc b/util-vserver/lib/ioctl-setfilecontext.hc index c07f1ba..f39b993 100644 --- a/util-vserver/lib/ioctl-setfilecontext.hc +++ b/util-vserver/lib/ioctl-setfilecontext.hc @@ -31,10 +31,7 @@ vc_X_set_filecontext(int fd, xid_t ctx) int c = ctx; int rc = ioctl(fd, EXT2_IOC_SETCONTEXT, &c); - if (rc<-1) { - errno = -rc; - rc = -1; - } + ENSC_FIX_IOCTL(rc); return rc; } diff --git a/util-vserver/lib/ioctl-setxflg.hc b/util-vserver/lib/ioctl-setxflg.hc index 24cee02..f320ee5 100644 --- a/util-vserver/lib/ioctl-setxflg.hc +++ b/util-vserver/lib/ioctl-setxflg.hc @@ -33,10 +33,7 @@ vc_X_set_xflg(int fd, long flags) int rc; rc = ioctl(fd, FIOC_SETXFLG, &flags); - if (rc<-1) { - errno = -rc; - rc = -1; - } + ENSC_FIX_IOCTL(rc); return rc; }