mirror of
https://github.com/odin-lang/Odin.git
synced 2026-01-13 00:05:26 +00:00
Merge pull request #1757 from Kelimion/xml
[xml] Add `parse_from_string` overload.
This commit is contained in:
@@ -493,7 +493,16 @@ parse_from_slice :: proc(data: []u8, options := DEFAULT_Options, path := "", err
|
||||
return doc, .None
|
||||
}
|
||||
|
||||
parse_from_file :: proc(filename: string, options := DEFAULT_Options, error_handler := default_error_handler, allocator := context.allocator) -> (doc: ^Document, err: Error) {
|
||||
parse_from_string :: proc(data: string, options := DEFAULT_Options, path := "", error_handler := default_error_handler, allocator := context.allocator) -> (doc: ^Document, err: Error) {
|
||||
_data := transmute([]u8)data
|
||||
|
||||
return parse_from_slice(_data, options, path, error_handler, allocator)
|
||||
}
|
||||
|
||||
parse :: proc { parse_from_string, parse_from_slice }
|
||||
|
||||
// Load an XML file
|
||||
load_from_file :: proc(filename: string, options := DEFAULT_Options, error_handler := default_error_handler, allocator := context.allocator) -> (doc: ^Document, err: Error) {
|
||||
context.allocator = allocator
|
||||
options := options
|
||||
|
||||
@@ -505,8 +514,6 @@ parse_from_file :: proc(filename: string, options := DEFAULT_Options, error_hand
|
||||
return parse_from_slice(data, options, filename, error_handler, allocator)
|
||||
}
|
||||
|
||||
parse :: proc { parse_from_file, parse_from_slice }
|
||||
|
||||
destroy :: proc(doc: ^Document) {
|
||||
if doc == nil { return }
|
||||
|
||||
|
||||
@@ -295,7 +295,7 @@ run_tests :: proc(t: ^testing.T) {
|
||||
path := test_file_path(test.filename)
|
||||
log(t, fmt.tprintf("Trying to parse %v", path))
|
||||
|
||||
doc, err := xml.parse(path, test.options, Silent)
|
||||
doc, err := xml.load_from_file(path, test.options, Silent)
|
||||
defer xml.destroy(doc)
|
||||
|
||||
tree_string := doc_to_string(doc)
|
||||
|
||||
Reference in New Issue
Block a user