Mercurial > crates > nonstick
view testharness/src/lib.rs @ 143:ebb71a412b58
Turn everything into OsString and Just Walk Out! for strings with nul.
To reduce the hazard surface of the API, this replaces most uses of &str
with &OsStr (and likewise with String/OsString).
Also, I've decided that instead of dealing with callers putting `\0`
in their parameters, I'm going to follow the example of std::env and
Just Walk Out! (i.e., panic!()).
This makes things a lot less annoying for both me and (hopefully) users.
author | Paul Fisher <paul@pfish.zone> |
---|---|
date | Sat, 05 Jul 2025 22:12:46 -0400 |
parents | c77846f3a979 |
children | 1bc52025156b |
line wrap: on
line source
//! The nonstick library extern crate nonstick; use nonstick::{pam_hooks, Flags, PamHandleModule, PamModule}; use std::ffi::CStr; struct TestHarness; impl<M: PamHandleModule> PamModule<M> for TestHarness { fn authenticate(_handle: &mut M, _args: Vec<&CStr>, _flags: Flags) -> nonstick::Result<()> { Ok(()) } fn account_management( _handle: &mut M, _args: Vec<&CStr>, _flags: Flags, ) -> nonstick::Result<()> { Ok(()) } } pam_hooks!(TestHarness);