mirror of
https://github.com/carp-lang/Carp.git
synced 2024-10-11 20:49:05 +03:00
Made push-back use realloc again.
This commit is contained in:
parent
57f1c401a9
commit
02af9ffb38
@ -8,4 +8,13 @@
|
||||
(use Char)
|
||||
(use Bool)
|
||||
|
||||
(defn print-stack [s]
|
||||
(println &(Array.str s)))
|
||||
|
||||
(defn main []
|
||||
(let [stack0 (range 1 5 1)
|
||||
stack1 (push-back stack0 6)]
|
||||
(do
|
||||
;;(print-stack &stack0)
|
||||
(print-stack &stack1)
|
||||
)))
|
||||
|
@ -132,10 +132,10 @@ templatePushBack =
|
||||
(toTemplate $ unlines
|
||||
["$DECL { "
|
||||
," a.len++;"
|
||||
," void *pre = a.data;"
|
||||
," a.data = CARP_MALLOC(sizeof($a) * a.len);"
|
||||
," CARP_FREE(pre);"
|
||||
--a.data = realloc(a.data, sizeof($a) * a.len);"
|
||||
-- ," void *pre = a.data;"
|
||||
-- ," a.data = CARP_MALLOC(sizeof($a) * a.len);"
|
||||
-- ," CARP_FREE(pre);"
|
||||
," a.data = realloc(a.data, sizeof($a) * a.len);"
|
||||
," (($a*)a.data)[a.len - 1] = value;"
|
||||
," return a;"
|
||||
,"}"
|
||||
@ -152,11 +152,12 @@ templatePopBack =
|
||||
(toTemplate $ unlines
|
||||
["$DECL { "
|
||||
," a.len--;"
|
||||
-- TODO: Free the element that is removed!!!
|
||||
," if(a.len > 0) {"
|
||||
--," a.data = realloc(a.data, sizeof($a) * a.len);"
|
||||
," void *pre = a.data;"
|
||||
," a.data = CARP_MALLOC(sizeof($a) * a.len);"
|
||||
," CARP_FREE(pre);"
|
||||
," a.data = realloc(a.data, sizeof($a) * a.len);"
|
||||
-- ," void *pre = a.data;"
|
||||
-- ," a.data = CARP_MALLOC(sizeof($a) * a.len);"
|
||||
-- ," CARP_FREE(pre);"
|
||||
," }"
|
||||
," return a;"
|
||||
,"}"
|
||||
|
Loading…
Reference in New Issue
Block a user