From 9763cff2ebceba18ee961ead4246759f5c3ac30e Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Thu, 30 Jun 2005 22:34:54 +0000 Subject: fix typo in umount2() emulation of umount() --- libc/sysdeps/linux/common/umount.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'libc') diff --git a/libc/sysdeps/linux/common/umount.c b/libc/sysdeps/linux/common/umount.c index d8e890d8b..158aefc5f 100644 --- a/libc/sysdeps/linux/common/umount.c +++ b/libc/sysdeps/linux/common/umount.c @@ -9,26 +9,33 @@ #include "syscalls.h" -#ifdef __NR_umount /* Some newer archs only have umount2 */ + +/* arch provides umount() syscall */ +#ifdef __NR_umount + #include _syscall1(int, umount, const char *, specialfile); + +/* arch provides umount2() syscall */ #elif defined __NR_umount2 -/* No umount syscall, but umount2 is available.... Try to - * emulate umount() using umount2() */ #define __NR___syscall_umount2 __NR_umount2 -static inline _syscall2(int, umount2, const char *, special_file, int, flags); +static inline _syscall2(int, __syscall_umount2, const char *, special_file, int, flags); int umount(const char *special_file) { return (__syscall_umount2(special_file, 0)); } + +/* arch doesn't provide any umount syscall !? */ #else + int umount(const char *special_file) { __set_errno(ENOSYS); return -1; } + #endif -- cgit v1.2.3