summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
authorToomas Soome <tsoome@me.com>2017-01-29 22:13:30 +0200
committerRobert Mustacchi <rm@joyent.com>2017-01-30 16:33:29 -0800
commit22cc5444cba0d30b59582f255e2eb24e8a702824 (patch)
treec974d5400c07b097b0ca0b53428b3d4d4c3090ae /usr/src
parentbe4e997e05c92f444c81d2d197b79e67ebee2786 (diff)
downloadillumos-joyent-22cc5444cba0d30b59582f255e2eb24e8a702824.tar.gz
7821 loader: need to parse unescaped bootpath in /boot/solaris/bootenv.rc
Reviewed by: Peter Tribble <peter.tribble@gmail.com> Approved by: Robert Mustacchi <rm@joyent.com>
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/boot/sys/boot/forth/support.4th14
1 files changed, 9 insertions, 5 deletions
diff --git a/usr/src/boot/sys/boot/forth/support.4th b/usr/src/boot/sys/boot/forth/support.4th
index 16b8a88846..7707102deb 100644
--- a/usr/src/boot/sys/boot/forth/support.4th
+++ b/usr/src/boot/sys/boot/forth/support.4th
@@ -21,8 +21,6 @@
\ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
\ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
\ SUCH DAMAGE.
-\
-\ $FreeBSD$
\ Loader.rc support functions:
\
@@ -512,6 +510,12 @@ also parser definitions
: comma? line_pointer c@ [char] , = ;
+: at? line_pointer c@ [char] @ = ;
+
+: slash? line_pointer c@ [char] / = ;
+
+: colon? line_pointer c@ [char] : = ;
+
\ manipulation of input line
: skip_character line_pointer char+ to line_pointer ;
@@ -543,8 +547,8 @@ also parser definitions
line_pointer
begin
end_of_line? if 0 else
- letter? digit? underscore? dot? comma? dash?
- or or or or or
+ letter? digit? underscore? dot? comma? dash? at? slash? colon?
+ or or or or or or or or
then
while
skip_character
@@ -625,7 +629,7 @@ also parser definitions
: white_space_3
eat_space
- letter? digit? "quote? 'quote? or or or if
+ slash? letter? digit? "quote? 'quote? or or or or if
['] variable_value to parsing_function exit
then
ESYNTAX throw