Linux: consolidate rmdir implementation

Use rmdir syscall if defined, otherwise use unlinkat.

Checked on x86_64-linux-gnu.
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Tested-by: Carlos O'Donell <carlos@redhat.com>
This commit is contained in:
Adhemerval Zanella Netto 2022-10-19 19:14:15 -03:00 committed by Adhemerval Zanella
parent 2fc81f6ca5
commit 54ed77914a

View File

@ -1,4 +1,5 @@
/* Copyright (C) 2011-2022 Free Software Foundation, Inc.
/* Delete a directory. Linux version.
Copyright (C) 2011-2022 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@ -23,6 +24,10 @@
int
__rmdir (const char *path)
{
return INLINE_SYSCALL (unlinkat, 3, AT_FDCWD, path, AT_REMOVEDIR);
#ifdef __NR_rmdir
return INLINE_SYSCALL_CALL (rmdir, path);
#else
return INLINE_SYSCALL_CALL (unlinkat, AT_FDCWD, path, AT_REMOVEDIR);
#endif
}
weak_alias (__rmdir, rmdir)