blob: 59aa7faa67fe456ed23f855d8b3ec35c31661393 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
//! touch — create an empty file via the exports table.
#![no_std]
#![no_main]
#[panic_handler]
fn panic(_info: &core::panic::PanicInfo) -> ! {
loop { core::hint::spin_loop(); }
}
#[unsafe(no_mangle)]
pub extern "C" fn efi_main(exports: &'static rsapi::Exports, argc: usize, argv: *const rsapi::Arg) -> i32 {
// C-style argv: argv[0] is the program name, user args start at 1.
let args = unsafe { core::slice::from_raw_parts(argv.add(1), argc.saturating_sub(1)) };
if args.is_empty() { return 1; }
let path = unsafe { core::str::from_utf8_unchecked(core::slice::from_raw_parts(args[0].ptr, args[0].len)) };
(exports.fs_create)(rsapi::Line { ptr: path.as_ptr(), len: path.len() }, false)
}
|