fix builds without a config format & twisp

This commit is contained in:
Toshit Chawda 2024-09-01 20:39:31 -07:00
parent 80c91c9381
commit 23b96c2073
No known key found for this signature in database
GPG key ID: 91480ED99E2B3D9D
2 changed files with 19 additions and 3 deletions

View file

@ -1,5 +1,6 @@
use std::{collections::HashMap, ops::RangeInclusive, path::PathBuf};
use cfg_if::cfg_if;
use clap::{Parser, ValueEnum};
use lazy_static::lazy_static;
use log::LevelFilter;
@ -353,10 +354,9 @@ impl Config {
}
}
#[derive(Clone, Copy, Eq, PartialEq, PartialOrd, Ord, Default, ValueEnum)]
#[derive(Clone, Copy, Eq, PartialEq, PartialOrd, Ord, ValueEnum)]
pub enum ConfigFormat {
#[cfg(feature = "toml")]
#[default]
Toml,
#[cfg(feature = "json")]
Json,
@ -364,6 +364,22 @@ pub enum ConfigFormat {
Yaml,
}
impl Default for ConfigFormat {
fn default() -> Self {
cfg_if! {
if #[cfg(feature = "toml")] {
return Self::Toml;
} else if #[cfg(feature = "json")] {
return Self::Json;
} else if #[cfg(feature = "yaml")] {
return Self::Yaml;
} else {
compile_error!("no config format feature enabled - build will fail!");
}
}
}
}
/// Performant server implementation of the Wisp protocol in Rust, made for epoxy.
#[derive(Parser)]
#[command(version = clap::crate_version!())]

View file

@ -103,7 +103,7 @@ fn set_term_size(fd: RawFd, size: Size) -> anyhow::Result<()> {
let size = libc::winsize::from(size);
let ret = unsafe { libc::ioctl(fd, libc::TIOCSWINSZ, std::ptr::addr_of!(size)) };
if ret == -1 {
Err(rustix::io::Errno::from_raw_os_error(
Err(nix::errno::Errno::from_raw(
std::io::Error::last_os_error().raw_os_error().unwrap_or(0),
)
.into())