X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=util-vserver%2Flib_internal%2Funify-isiunlinkable.c;h=2ad550aef16791e2fc51add39fa7e96d9751463f;hb=faa778968d1a7dfeaebc9fe4b847e691dc62fd15;hp=eb76e15caac2f662dc020f97082645c13c2b60a6;hpb=1e18c527d4ff7435c758f7bb4c88c936aa1c8024;p=util-vserver.git diff --git a/util-vserver/lib_internal/unify-isiunlinkable.c b/util-vserver/lib_internal/unify-isiunlinkable.c index eb76e15..2ad550a 100644 --- a/util-vserver/lib_internal/unify-isiunlinkable.c +++ b/util-vserver/lib_internal/unify-isiunlinkable.c @@ -24,7 +24,7 @@ #include "vserver.h" -bool +UnifyStatus Unify_isIUnlinkable(char const *filename) { uint_least32_t const V = VC_IATTR_IUNLINK|VC_IATTR_IMMUTABLE; @@ -32,7 +32,8 @@ Unify_isIUnlinkable(char const *filename) uint_least32_t flags; uint_least32_t mask = V; - return (vc_get_iattr(filename, 0, &flags, &mask)!=-1 && - (mask & V)==V && - (flags & V)!=V); + if (vc_get_iattr(filename, 0, &flags, &mask)==-1 || (mask & V) != V) + return unifyUNSUPPORTED; + + return (flags & V)==V ? unifyBUSY : unifyUINLINKABLE; }