Magellan Linux

Diff of /trunk/mkinitrd-magellan/busybox/coreutils/chroot.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 983 by niro, Fri Apr 24 18:33:46 2009 UTC revision 984 by niro, Sun May 30 11:32:42 2010 UTC
# Line 12  Line 12 
12  #include "libbb.h"  #include "libbb.h"
13    
14  int chroot_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;  int chroot_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
15  int chroot_main(int argc, char **argv)  int chroot_main(int argc UNUSED_PARAM, char **argv)
16  {  {
  if (argc < 2) {  
  bb_show_usage();  
  }  
   
17   ++argv;   ++argv;
18     if (!*argv)
19     bb_show_usage();
20   xchroot(*argv);   xchroot(*argv);
21   xchdir("/");   xchdir("/");
22    
23   ++argv;   ++argv;
24   if (argc == 2) {   if (!*argv) { /* no 2nd param (PROG), use shell */
25   argv -= 2;   argv -= 2;
26   argv[0] = getenv("SHELL");   argv[0] = getenv("SHELL");
27   if (!argv[0]) {   if (!argv[0]) {
# Line 33  int chroot_main(int argc, char **argv) Line 31  int chroot_main(int argc, char **argv)
31   }   }
32    
33   BB_EXECVP(*argv, argv);   BB_EXECVP(*argv, argv);
34   bb_perror_msg_and_die("cannot execute %s", *argv);   bb_perror_msg_and_die("can't execute '%s'", *argv);
35  }  }

Legend:
Removed from v.983  
changed lines
  Added in v.984