diff options
Diffstat (limited to 'bins/ls/src')
| -rw-r--r-- | bins/ls/src/main.rs | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/bins/ls/src/main.rs b/bins/ls/src/main.rs index 956bf18..b4acc41 100644 --- a/bins/ls/src/main.rs +++ b/bins/ls/src/main.rs | |||
| @@ -16,8 +16,9 @@ fn put(exports: &rsapi::Exports, buf: &[u8]) { | |||
| 16 | 16 | ||
| 17 | #[unsafe(no_mangle)] | 17 | #[unsafe(no_mangle)] |
| 18 | pub extern "C" fn efi_main(exports: &'static rsapi::Exports, argc: usize, argv: *const rsapi::Arg) -> i32 { | 18 | pub extern "C" fn efi_main(exports: &'static rsapi::Exports, argc: usize, argv: *const rsapi::Arg) -> i32 { |
| 19 | let path_str = if argc > 0 { | 19 | // C-style argv: argv[0] is the program name, user args start at 1. |
| 20 | let a = unsafe { &*argv }; | 20 | let path_str = if argc > 1 { |
| 21 | let a = unsafe { &*argv.add(1) }; | ||
| 21 | unsafe { core::str::from_utf8_unchecked(core::slice::from_raw_parts(a.ptr, a.len)) } | 22 | unsafe { core::str::from_utf8_unchecked(core::slice::from_raw_parts(a.ptr, a.len)) } |
| 22 | } else { | 23 | } else { |
| 23 | "/" | 24 | "/" |
