Free XML buffer (stop memory leaking)

Signed-off-by: Skylar "The Cobra" Widulski <cobra@vern.cc>
This commit is contained in:
Skylar "The Cobra" Widulski 2023-12-14 16:31:31 -05:00
parent 8bd24a4127
commit 06e03db76a
Signed by: cobra
GPG Key ID: 4FD8F812083FF6F9
1 changed files with 8 additions and 1 deletions

View File

@ -112,6 +112,10 @@
(pointer->procedure '*
(dynamic-func "xmlBufferCreate" libxml2)
(list)))
(define xml-buffer-free
(pointer->procedure void
(dynamic-func "xmlBufferFree" libxml2)
(list '*)))
(define xml-node-dump
(pointer->procedure void
(dynamic-func "xmlNodeDump" libxml2)
@ -171,6 +175,7 @@
(define buffer (xml-buffer-create))
(define size (xml-node-dump buffer (doc node) node 0 1))
(define content (pointer->string (car (parse-c-struct buffer xml-buffer))))
(xml-buffer-free buffer)
content)
(define (get-xpath xpath d)
@ -185,7 +190,9 @@
(define buffer (xml-buffer-create))
(define nodes (get-xpath-node xpath d))
(define size (xml-node-dump buffer (doc nodes) nodes 0 1))
(pointer->string (car (parse-c-struct buffer xml-buffer))))
(define content (pointer->string (car (parse-c-struct buffer xml-buffer))))
(xml-buffer-free buffer)
content)
(define (get-xpath-string xpath d attr?)
(pointer->string