Skip to content
This repository has been archived by the owner on Jul 11, 2023. It is now read-only.

Commit

Permalink
Fix code format by rustfmt
Browse files Browse the repository at this point in the history
  • Loading branch information
rhdxmr committed Mar 31, 2021
1 parent b64b369 commit 8232722
Showing 1 changed file with 48 additions and 43 deletions.
91 changes: 48 additions & 43 deletions bpf-sys/src/headers.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,14 @@

use crate::uname;

use std::{env,
fmt::{Display, self},
error::Error,
path::{Path, PathBuf},
str::FromStr,
process::Command};
use std::{
env,
error::Error,
fmt::{self, Display},
path::{Path, PathBuf},
process::Command,
str::FromStr,
};

#[derive(Debug)]
pub enum HeadersError {
Expand All @@ -27,13 +29,13 @@ impl Error for HeadersError {}

struct KernelHeaders {
source: PathBuf,
build: PathBuf
build: PathBuf,
}

pub struct KernelVersion {
pub version: u8,
pub patchlevel: u8,
pub sublevel: u8
pub sublevel: u8,
}

pub fn prefix_kernel_headers(headers: &[&str]) -> Option<Vec<String>> {
Expand All @@ -55,9 +57,9 @@ pub fn prefix_kernel_headers(headers: &[&str]) -> Option<Vec<String>> {

pub fn running_kernel_version() -> Option<String> {
env::var("KERNEL_VERSION").ok().or_else(|| {
uname::uname().ok().map(|u| {
uname::to_str(&u.release).to_string()
})
uname::uname()
.ok()
.map(|u| uname::to_str(&u.release).to_string())
})
}

Expand All @@ -75,40 +77,40 @@ pub fn build_kernel_version() -> Result<KernelVersion, Box<dyn Error>> {
let mut version = None::<u8>;
let mut patchlevel = None::<u8>;
let mut sublevel = None::<u8>;

for line in reader.lines() {
let mut var = line.split(" = ");
match var.next() {
Some("VERSION") => version = var.next().map(u8::from_str).transpose()?,
Some("PATCHLEVEL") => patchlevel = var.next().map(u8::from_str).transpose()?,
Some("SUBLEVEL") => sublevel = var.next().map(u8::from_str).transpose()?,
_ => continue
}

if version.is_some() && patchlevel.is_some() && sublevel.is_some() {
break;
}
let mut var = line.split(" = ");
match var.next() {
Some("VERSION") => version = var.next().map(u8::from_str).transpose()?,
Some("PATCHLEVEL") => patchlevel = var.next().map(u8::from_str).transpose()?,
Some("SUBLEVEL") => sublevel = var.next().map(u8::from_str).transpose()?,
_ => continue,
}

if version.is_some() && patchlevel.is_some() && sublevel.is_some() {
break;
}
}

Ok(KernelVersion {
version: version.unwrap(),
patchlevel: patchlevel.unwrap(),
sublevel: sublevel.unwrap()
version: version.unwrap(),
patchlevel: patchlevel.unwrap(),
sublevel: sublevel.unwrap(),
})
}

fn kernel_headers_path() -> Result<KernelHeaders, HeadersError> {
env::var("KERNEL_SOURCE")
.ok()
.map(|s| {
let path = PathBuf::from(s);
KernelHeaders {
source: path.clone(),
build: path
}
})
.or_else(lib_modules_kernel_headers)
.ok_or(HeadersError::NotFound)
.ok()
.map(|s| {
let path = PathBuf::from(s);
KernelHeaders {
source: path.clone(),
build: path,
}
})
.or_else(lib_modules_kernel_headers)
.ok_or(HeadersError::NotFound)
}

fn lib_modules_kernel_headers() -> Option<KernelHeaders> {
Expand All @@ -117,19 +119,22 @@ fn lib_modules_kernel_headers() -> Option<KernelHeaders> {
let mut build = path.join("build");
let source = path.join("source");
let kconfig = "include/linux/kconfig.h";
let source = match (source.join(kconfig).is_file(), build.join(kconfig).is_file()) {
let source = match (
source.join(kconfig).is_file(),
build.join(kconfig).is_file(),
) {
(true, _) => source,
(false, true) => build.clone(),
_ => return None
_ => return None,
};
if !build.join("include/generated/uapi/linux/version.h").is_file() {
if !build
.join("include/generated/uapi/linux/version.h")
.is_file()
{
build = source.clone()
};

return Some(KernelHeaders {
source,
build
});
return Some(KernelHeaders { source, build });
}

None
Expand Down

0 comments on commit 8232722

Please sign in to comment.