Skip to content

Commit

Permalink
Revert "avoid using regex"
Browse files Browse the repository at this point in the history
This reverts commit 73c9740.

Signed-off-by: keisku <[email protected]>
  • Loading branch information
keisku committed Jul 4, 2024
1 parent 646976d commit d066e9c
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 24 deletions.
2 changes: 2 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ derive_builder = "0.20.0"
getset = "0.1.1"
strum = "0.26.2"
strum_macros = "0.26.2"
regex = "1.10.5"
once_cell = "1.19.0"

[dev-dependencies]
tempfile = "3.2.0"
Expand Down
32 changes: 8 additions & 24 deletions src/runtime/process.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ use crate::{
};
use derive_builder::Builder;
use getset::{CopyGetters, Getters, MutGetters, Setters};
use once_cell::sync::Lazy;
use regex::Regex;
use serde::{de, Deserialize, Deserializer, Serialize};
use std::path::PathBuf;
use strum_macros::{Display as StrumDisplay, EnumString};
Expand Down Expand Up @@ -621,31 +623,13 @@ where
Ok(value)
}

fn validate_cpu_affinity(s: &str) -> Result<(), String> {
let iter = s.split(',');

for part in iter {
let mut range_iter = part.split('-');
let start = range_iter
.next()
.ok_or_else(|| format!("Invalid execCPUAffinity format: {}", s))?;

// Check if the start is a valid number
if start.parse::<usize>().is_err() {
return Err(format!("Invalid execCPUAffinity format: {}", s));
}
static EXEC_CPU_AFFINITY_REGEX: Lazy<Regex> = Lazy::new(|| {
Regex::new(r"^(\d+(-\d+)?)(,\d+(-\d+)?)*$").expect("Failed to create regex for execCPUAffinity")
});

// Check if there's a range and if the end is a valid number
if let Some(end) = range_iter.next() {
if end.parse::<usize>().is_err() {
return Err(format!("Invalid execCPUAffinity format: {}", s));
}
}

// Ensure there's no extra data after the end of a range
if range_iter.next().is_some() {
return Err(format!("Invalid execCPUAffinity format: {}", s));
}
fn validate_cpu_affinity(s: &str) -> Result<(), String> {
if !EXEC_CPU_AFFINITY_REGEX.is_match(s) {
return Err(format!("Invalid execCPUAffinity format: {}", s));
}

Ok(())
Expand Down

0 comments on commit d066e9c

Please sign in to comment.