X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Frmdir.c;h=113d13c7143f7c4b35f950eaa0c6e71049038833;hb=7080851f5a8270aee50e8545d28c48c6c75decc1;hp=5315711c327c8d1c6ccd4197d3f91dd2efef0f9f;hpb=0c363304f645105a776fac77223e218e7b8f41e0;p=gnulib.git diff --git a/lib/rmdir.c b/lib/rmdir.c index 5315711c3..113d13c71 100644 --- a/lib/rmdir.c +++ b/lib/rmdir.c @@ -1,11 +1,12 @@ /* BSD compatible remove directory function for System V - Copyright (C) 1988, 1990, 1999, 2003 Free Software Foundation, Inc. + Copyright (C) 1988, 1990, 1999, 2003, 2004, 2005, 2006 Free + Software Foundation, Inc. - This program is free software; you can redistribute it and/or modify + This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -13,42 +14,27 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + along with this program. If not, see . */ -#if HAVE_CONFIG_H -# include -#endif +#include #include #include - #include -#ifndef errno -extern int errno; -#endif - -#if STAT_MACROS_BROKEN -# undef S_ISDIR -#endif - -#if !defined(S_ISDIR) && defined(S_IFDIR) -# define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) -#endif /* rmdir adapted from GNU tar. */ -/* Remove directory DPATH. +/* Remove directory DIR. Return 0 if successful, -1 if not. */ int -rmdir (char const *dpath) +rmdir (char const *dir) { pid_t cpid; int status; struct stat statbuf; - if (stat (dpath, &statbuf) != 0) + if (stat (dir, &statbuf) != 0) return -1; /* errno already set */ if (!S_ISDIR (statbuf.st_mode)) @@ -64,7 +50,7 @@ rmdir (char const *dpath) return -1; /* errno already set */ case 0: /* child process */ - execl ("/bin/rmdir", "rmdir", dpath, (char *) 0); + execl ("/bin/rmdir", "rmdir", dir, (char *) 0); _exit (1); default: /* parent process */