From 1971065b471830690f52c3094ee6692010884550 Mon Sep 17 00:00:00 2001 From: Enrico Scholz Date: Fri, 23 Jan 2004 20:47:32 +0000 Subject: [PATCH] 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 --- util-vserver/lib/ioctl-getext2flags.hc | 8 +++----- util-vserver/lib/ioctl-getfilecontext.hc | 5 +---- util-vserver/lib/ioctl-setext2flags.hc | 5 +---- util-vserver/lib/ioctl-setfilecontext.hc | 5 +---- util-vserver/lib/ioctl-setxflg.hc | 5 +---- 5 files changed, 7 insertions(+), 21 deletions(-) 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; } -- 1.8.1.5