source: MondoRescue/branches/2.2.9/mindi-busybox/coreutils/chroot.c@ 2859

Last change on this file since 2859 was 2725, checked in by Bruno Cornec, 13 years ago
  • Update mindi-busybox to 1.18.3 to avoid problems with the tar command which is now failing on recent versions with busybox 1.7.3
File size: 703 bytes
RevLine 
[821]1/* vi: set sw=4 ts=4: */
2/*
3 * Mini chroot implementation for busybox
4 *
5 * Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
6 *
[2725]7 * Licensed under GPLv2 or later, see file LICENSE in this source tree.
[821]8 */
9
10/* BB_AUDIT SUSv3 N/A -- Matches GNU behavior. */
11
[1765]12#include "libbb.h"
[821]13
[2725]14int chroot_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
15int chroot_main(int argc UNUSED_PARAM, char **argv)
[821]16{
[2725]17 ++argv;
18 if (!*argv)
[821]19 bb_show_usage();
[2725]20 xchroot(*argv);
[1765]21 xchdir("/");
[821]22
23 ++argv;
[2725]24 if (!*argv) { /* no 2nd param (PROG), use shell */
[821]25 argv -= 2;
[1765]26 argv[0] = getenv("SHELL");
27 if (!argv[0]) {
28 argv[0] = (char *) DEFAULT_SHELL;
[821]29 }
30 argv[1] = (char *) "-i";
31 }
32
[2725]33 BB_EXECVP_or_die(argv);
[821]34}
Note: See TracBrowser for help on using the repository browser.