4 Commits

6 changed files with 11 additions and 10 deletions

View File

@@ -19,7 +19,7 @@ PREFIX ?= /usr/local
# for conditionally compiling OS features # for conditionally compiling OS features
OS != uname OS != uname
OS_INCLUDE != test -e include/$(OS).mk && printf 'include/$(OS).mk\n' \ OS_INCLUDE != test -e include/$(OS).mk && printf 'include/$(OS).mk\n' \
|| include/None.mk || printf '/dev/null\n'
# normalized prefix # normalized prefix
PREFIX_N != dirname $(PREFIX)/. PREFIX_N != dirname $(PREFIX)/.

View File

View File

@@ -1,5 +1,6 @@
/* /*
* Copyright (c) 20232024 Emma Tebibyte <emma@tebibyte.media> * Copyright (c) 20232024 Emma Tebibyte <emma@tebibyte.media>
* Copyright (c) 2024 DTB <trinity@trinity.moe>
* SPDX-License-Identifier: CC0 * SPDX-License-Identifier: CC0
* *
* This work is marked with CC0 1.0. To view a copy of this license, visit * This work is marked with CC0 1.0. To view a copy of this license, visit
@@ -10,9 +11,9 @@
# include <unistd.h> /* pledge(2) */ # include <unistd.h> /* pledge(2) */
#endif #endif
int main() { int main(void) {
#ifdef __OpenBSD__ #ifdef __OpenBSD__
pledge(NULL, NULL); pledge(NULL, NULL);
#endif #endif
return 1; return 1;
} }

View File

@@ -34,7 +34,6 @@ use sysexits::EX_USAGE;
#[cfg(target_os="openbsd")] use openbsd::{ Promises, pledge }; #[cfg(target_os="openbsd")] use openbsd::{ Promises, pledge };
#[cfg(target_os="openbsd")] use strerror::StrError; #[cfg(target_os="openbsd")] use strerror::StrError;
fn usage(s: &str) -> ExitCode { fn usage(s: &str) -> ExitCode {
eprintln!("Usage: {} [-egl] integer integer...", s); eprintln!("Usage: {} [-egl] integer integer...", s);
ExitCode::from(EX_USAGE as u8) ExitCode::from(EX_USAGE as u8)

View File

@@ -17,7 +17,7 @@
*/ */
use std::{ use std::{
ffi::CString, ffi::{ CString, c_char },
io::Error, io::Error,
ptr::null, ptr::null,
}; };
@@ -33,13 +33,13 @@ mod openbsd {
} }
} }
pub struct Promises(*const i8); pub struct Promises(*const c_char);
impl Promises { impl Promises {
pub fn new(promises: &str) -> Self { pub fn new(promises: &str) -> Self {
let p = CString::new(promises).unwrap(); let p = CString::new(promises).unwrap();
Promises(p.into_raw() as *const i8) Promises(p.into_raw() as *const c_char)
} }
} }
@@ -81,10 +81,10 @@ pub fn unveil(
permissions: Option<UnveilPerms>, permissions: Option<UnveilPerms>,
) -> Result<(), Error> { ) -> Result<(), Error> {
let path_c = path.map(CString::new).map(Result::unwrap); let path_c = path.map(CString::new).map(Result::unwrap);
let arg1 = path_c.map(|p| p.into_raw() as *const i8).unwrap_or(null()); let arg1 = path_c.map(|p| p.into_raw() as *const c_char).unwrap_or(null());
let arg2 = permissions let arg2 = permissions
.map(|p| p.0.into_raw() as *const i8) .map(|p| p.0.into_raw() as *const c_char)
.unwrap_or(null()); .unwrap_or(null());
unsafe { unsafe {

View File

@@ -1,5 +1,6 @@
/* /*
* Copyright (c) 20232024 Emma Tebibyte <emma@tebibyte.media> * Copyright (c) 20232024 Emma Tebibyte <emma@tebibyte.media>
* Copyright (c) 2024 DTB <trinity@trinity.moe>
* SPDX-License-Identifier: CC0 * SPDX-License-Identifier: CC0
* *
* This work is marked with CC0 1.0. To view a copy of this license, visit * This work is marked with CC0 1.0. To view a copy of this license, visit
@@ -10,7 +11,7 @@
# include <unistd.h> /* pledge(2) */ # include <unistd.h> /* pledge(2) */
#endif #endif
int main() { int main(void) {
#ifdef __OpenBSD__ #ifdef __OpenBSD__
pledge(NULL, NULL); pledge(NULL, NULL);
#endif #endif