aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe-php-shim
diff options
context:
space:
mode:
Diffstat (limited to 'crates/shirabe-php-shim')
-rw-r--r--crates/shirabe-php-shim/src/lib.rs6
-rw-r--r--crates/shirabe-php-shim/src/preg.rs8
2 files changed, 5 insertions, 9 deletions
diff --git a/crates/shirabe-php-shim/src/lib.rs b/crates/shirabe-php-shim/src/lib.rs
index 949c5e2..aa80f53 100644
--- a/crates/shirabe-php-shim/src/lib.rs
+++ b/crates/shirabe-php-shim/src/lib.rs
@@ -1952,10 +1952,8 @@ fn array_replace_recursive_list(
) -> Vec<Box<PhpMixed>> {
for (index, replacement_value) in replacement.into_iter().enumerate() {
if index < base.len() {
- base[index] = Box::new(array_replace_recursive_value(
- (*base[index]).clone(),
- *replacement_value,
- ));
+ *base[index] =
+ array_replace_recursive_value((*base[index]).clone(), *replacement_value);
} else {
base.push(replacement_value);
}
diff --git a/crates/shirabe-php-shim/src/preg.rs b/crates/shirabe-php-shim/src/preg.rs
index 6bf8900..3d36137 100644
--- a/crates/shirabe-php-shim/src/preg.rs
+++ b/crates/shirabe-php-shim/src/preg.rs
@@ -71,8 +71,8 @@ pub fn preg_match_all(pattern: &str, subject: &str) -> Vec<Vec<String>> {
let group_count = re.captures_len();
let mut groups: Vec<Vec<String>> = vec![Vec::new(); group_count];
for caps in re.captures_iter(subject) {
- for g in 0..group_count {
- groups[g].push(
+ for (g, group) in groups.iter_mut().enumerate() {
+ group.push(
caps.get(g)
.map(|m| m.as_str().to_string())
.unwrap_or_default(),
@@ -348,8 +348,7 @@ pub fn preg_split2(pattern: &str, subject: &str, limit: i64, flags: i64) -> Vec<
};
let mut last = 0usize;
- let mut delims = 0usize;
- for caps in re.captures_iter(subject) {
+ for (delims, caps) in re.captures_iter(subject).enumerate() {
if delims >= max_delims {
break;
}
@@ -365,7 +364,6 @@ pub fn preg_split2(pattern: &str, subject: &str, limit: i64, flags: i64) -> Vec<
}
}
last = m.end();
- delims += 1;
}
push(&subject[last..], &mut result);