Skip to content

Commit 51b4988

Browse files
authored
fixes several Primus Lisp stubs (#1352)
* fixes several primus lisp stubs - brk was returning brk instead of setting it and returning the status * fixes the getenv implementation that was missing the first entry
1 parent 8a5796c commit 51b4988

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

plugins/primus_lisp/site-lisp/simple-memory-allocator.lisp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,10 @@
6666
(malloc/put-chunk-size ptr n)
6767
(+ ptr header-size)))))
6868

69-
(defun brk ()
69+
(defun brk (val)
7070
(declare (external "brk"))
71-
brk)
71+
(set brk val)
72+
0)
7273

7374
(defun sbrk (increment)
7475
(declare (external "sbrk"))

plugins/primus_lisp/site-lisp/stdlib.lisp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@
88

99
(defun getenv (name)
1010
"finds a value of an environment variable with the given name"
11-
(declare (external "getenv"))
11+
(declare (external "getenv" "secure_getenv"))
1212
(let ((p environ)
1313
(n (strlen name)))
1414
(while (and (not (points-to-null p))
1515
(/= (memcmp (read-word ptr_t p) name n) 0))
1616
(set p (ptr+1 ptr_t p)))
17-
(if (and (not (points-to-null p)) (/= p environ))
17+
(if (not (points-to-null p))
1818
(let ((p (read-word ptr_t p)))
1919
(if (= (memory-read (+ p n)) ?=) (+ p n 1) 0))
2020
0)))

0 commit comments

Comments
 (0)