From 3978e7e1cac9305698e9270fec02d7cd9557cf35 Mon Sep 17 00:00:00 2001 From: Jeroen van Rijn Date: Sat, 30 Apr 2022 14:43:58 +0200 Subject: [xml] Add `parse_from_string` overload. `parse` now takes either a `[]u8` slice or a string. `load_from_file` takes a path string. --- core/encoding/xml/xml_reader.odin | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'core/encoding/xml') diff --git a/core/encoding/xml/xml_reader.odin b/core/encoding/xml/xml_reader.odin index 6d0d4e1aa..151d44e2a 100644 --- a/core/encoding/xml/xml_reader.odin +++ b/core/encoding/xml/xml_reader.odin @@ -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 } -- cgit v1.2.3