X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=util-linux%2Fpivot_root.c;h=83f01fabde7d4d4bc6cbb891447a1e1bc25eb028;hb=cd4d78f525526df0d2b62dce5a0dfc510debd6de;hp=4d7f8a3d10da4841fe4faa77422d0f61a3b83ba0;hpb=d160a27ec15b9304e6576616639f0f347022a258;p=oweals%2Fbusybox.git diff --git a/util-linux/pivot_root.c b/util-linux/pivot_root.c index 4d7f8a3d1..83f01fabd 100644 --- a/util-linux/pivot_root.c +++ b/util-linux/pivot_root.c @@ -4,53 +4,31 @@ * * busyboxed by Evin Robertson * pivot_root syscall stubbed by Erik Andersen, so it will compile - * regardless of the kernel being used. + * regardless of the kernel being used. + * + * Licensed under GPLv2, see file LICENSE in this source tree. */ -#include -#include -#include -#include -#include -#include "busybox.h" -#ifndef __NR_pivot_root -#warning This kernel does not support the pivot_root syscall -#warning The pivot_root system call is being stubbed out... -int pivot_root(const char * new_root,const char * put_old) -{ - /* BusyBox was compiled against a kernel that did not support - * the pivot_root system call. To make this application work, - * you will need to recompile with a kernel supporting the - * pivot_root system call. - */ - fprintf(stderr, "\n\nTo make this application work, you will need to recompile\n"); - fprintf(stderr, "with a kernel supporting the pivot_root system call. -Erik\n\n"); - errno=ENOSYS; - return -1; -} -#else -static _syscall2(int,pivot_root,const char *,new_root,const char *,put_old) -#endif +//usage:#define pivot_root_trivial_usage +//usage: "NEW_ROOT PUT_OLD" +//usage:#define pivot_root_full_usage "\n\n" +//usage: "Move the current root file system to PUT_OLD and make NEW_ROOT\n" +//usage: "the new root file system" +#include "libbb.h" +extern int pivot_root(const char * new_root,const char * put_old); +int pivot_root_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; int pivot_root_main(int argc, char **argv) { - if (argc != 3) - show_usage(); - - if (pivot_root(argv[1],argv[2]) < 0) - perror_msg_and_die("pivot_root"); + if (argc != 3) + bb_show_usage(); - return EXIT_SUCCESS; + if (pivot_root(argv[1], argv[2]) < 0) { + /* prints "pivot_root: " */ + bb_perror_nomsg_and_die(); + } + return EXIT_SUCCESS; } - - -/* -Local Variables: -c-file-style: "linux" -c-basic-offset: 4 -tab-width: 4 -End: -*/