From 4a2d7191a3a6208b72e1d163c0235f566720f79a Mon Sep 17 00:00:00 2001 From: LoGin Date: Sun, 12 Nov 2023 17:53:36 +0800 Subject: [PATCH] =?UTF-8?q?bugfix:=20=E8=A7=A3=E5=86=B3shell=E5=9C=A8exec?= =?UTF-8?q?=E7=9A=84=E6=97=B6=E5=80=99=E4=BC=A0=E9=80=92=E7=9A=84argv?= =?UTF-8?q?=E4=B8=8D=E6=AD=A3=E7=A1=AE=E7=9A=84bug=20(#437)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kernel/src/syscall/mod.rs | 5 ++--- user/apps/shell/cmd.c | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/kernel/src/syscall/mod.rs b/kernel/src/syscall/mod.rs index 6281984b..f92f0762 100644 --- a/kernel/src/syscall/mod.rs +++ b/kernel/src/syscall/mod.rs @@ -1175,15 +1175,14 @@ impl Syscall { Self::get_rusage(who, rusage) } - SYS_READLINK =>{ + SYS_READLINK => { let path = args[0] as *const u8; let buf = args[1] as *mut u8; let bufsiz = args[2] as usize; Self::readlink(path, buf, bufsiz) - } - SYS_READLINK_AT =>{ + SYS_READLINK_AT => { let dirfd = args[0] as i32; let pathname = args[1] as *const u8; let buf = args[2] as *mut u8; diff --git a/user/apps/shell/cmd.c b/user/apps/shell/cmd.c index 5039bb62..d506ce07 100644 --- a/user/apps/shell/cmd.c +++ b/user/apps/shell/cmd.c @@ -522,9 +522,9 @@ int shell_cmd_exec(int argc, char **argv) // printf("before execv, path=%s, argc=%d\n", file_path, argc); char **real_argv; - if (argc > 2) + if (argc > 1) { - real_argv = &argv[2]; + real_argv = &argv[1]; } execv(file_path, real_argv); // printf("after execv, path=%s, argc=%d\n", file_path, argc);