Fix memory leak in klacks

This commit is contained in:
Dmitry Kalyanov
2011-11-17 00:32:33 +04:00
committed by Pierre R. Mai
parent 6bdee6e7dc
commit 63562bb4ef

View File

@ -310,6 +310,7 @@
(with-source (source current-key current-values current-attributes) (with-source (source current-key current-values current-attributes)
(setf current-key :end-element) (setf current-key :end-element)
(setf current-attributes nil) (setf current-attributes nil)
(pop (base-stack *ctx*))
(validate-end-element *ctx* (third current-values)) (validate-end-element *ctx* (third current-values))
cont)) cont))
@ -318,12 +319,15 @@
current-key current-values current-attributes namespace-stack current-key current-values current-attributes namespace-stack
current-namespace-declarations) current-namespace-declarations)
(let ((values* current-values) (let ((values* current-values)
(new-b current-namespace-declarations)) (new-b current-namespace-declarations)
(ns-stack namespace-stack))
(setf current-attributes nil) (setf current-attributes nil)
(push n-b namespace-stack) (push n-b namespace-stack)
(let ((finish (let ((finish
(lambda () (lambda ()
(pop (base-stack *ctx*))
(setf current-namespace-declarations new-b) (setf current-namespace-declarations new-b)
(setf namespace-stack ns-stack)
(klacks/element-3 source input values* cont)))) (klacks/element-3 source input values* cont))))
(klacks/content source input finish))))) (klacks/content source input finish)))))