From 2fc285f5bc16ff4ebcb877a8369021e801c8020b Mon Sep 17 00:00:00 2001 From: Bijan Naimi Date: Mon, 26 Dec 2022 17:27:05 -0800 Subject: [PATCH] removing preceding whitespaces, tabs, and newlines for evals only --- vm/src/stdlib/builtins.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/vm/src/stdlib/builtins.rs b/vm/src/stdlib/builtins.rs index 9fb8e6d74..6380c2343 100644 --- a/vm/src/stdlib/builtins.rs +++ b/vm/src/stdlib/builtins.rs @@ -256,6 +256,15 @@ mod builtins { )); } + // Check for newlines, tabs, or whitespaces at start + let wsp_arr = [9, 10, 32]; + let mut i = 0; + while i < source.len() && wsp_arr.contains(&source[i]) { + i = i + 1; + } + // Slice off whitespaces + let source = &source[i..source.len()]; + let source = std::str::from_utf8(source).map_err(|err| { let msg = format!( "(unicode error) 'utf-8' codec can't decode byte 0x{:x?} in position {}: invalid start byte",