X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=util-vserver%2Fsrc%2Fchroot-rm.c;h=76cfc65efde559d8981b97940d79f54891e7c1c5;hb=27fa2c9e2097e2d359994f613382c6838d580984;hp=9fef602d1dd042157ddc7921d050ca325db869fd;hpb=6b7199096799544b9d748a6e5a9a13a5e598c694;p=util-vserver.git diff --git a/util-vserver/src/chroot-rm.c b/util-vserver/src/chroot-rm.c index 9fef602..76cfc65 100644 --- a/util-vserver/src/chroot-rm.c +++ b/util-vserver/src/chroot-rm.c @@ -1,6 +1,6 @@ -// $Id$ --*- c++ -*-- +// $Id$ --*- c -*-- -// Copyright (C) 2003 Enrico Scholz <> +// Copyright (C) 2003,2004 Enrico Scholz // // 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 @@ -25,23 +25,59 @@ #include #include #include +#include + +#define ENSC_WRAPPERS_PREFIX "chroot-rm: " +#define ENSC_WRAPPERS_UNISTD 1 +#include + +int wrapper_exit_code = 1; + +static void +showHelp(char const *cmd) +{ + WRITE_MSG(1, "Usage: "); + WRITE_STR(1, cmd); + WRITE_MSG(1, + " [--] +\n\n" + "This program removes by assuming the current directory\n" + "as a chroot directory.\n\n" + "Please report bugs to " PACKAGE_BUGREPORT "\n"); + exit(0); +} + +static void +showVersion() +{ + WRITE_MSG(1, + "chroot-rm " VERSION " -- removes files under current directory\n" + "This program is part of " PACKAGE_STRING "\n\n" + "Copyright (C) 2003,2004 Enrico Scholz\n" + VERSION_COPYRIGHT_DISCLAIMER); + exit(0); +} int main(int argc, char *argv[]) { - int i; - int res; - - if (chroot(".")==-1 || - chdir("/")==-1) { - perror("chroot()/chdir()"); + int res = EXIT_SUCCESS; + int idx = 1; + + if (argc>1) { + if (strcmp(argv[1], "--help") ==0) showHelp(argv[0]); + if (strcmp(argv[1], "--version")==0) showVersion(); + if (strcmp(argv[1], "--")==0) ++idx; + } + + if (idx==argc) { + WRITE_MSG(2, "No files given; use '--help' for more information\n"); return EXIT_FAILURE; } - res = EXIT_SUCCESS; - for (i=1; i