summaryrefslogtreecommitdiff
path: root/src/cr-parser.c
diff options
context:
space:
mode:
authorDodji Seketeli <dodji@src.gnome.org>2003-03-20 21:29:07 +0000
committerDodji Seketeli <dodji@src.gnome.org>2003-03-20 21:29:07 +0000
commit3e55266839340793845b8527b65542d1e4b5fc11 (patch)
tree68df3276dd14404867e9716856d6be1a1907fd61 /src/cr-parser.c
parenta189ebbcc9b05cda2ea77f84db8a65855f5b3fb7 (diff)
downloadlibcroco-3e55266839340793845b8527b65542d1e4b5fc11.tar.gz
fixed a small bug in the tokenizer.
Provided better support for in memory data parsing.
Diffstat (limited to 'src/cr-parser.c')
-rw-r--r--src/cr-parser.c25
1 files changed, 24 insertions, 1 deletions
diff --git a/src/cr-parser.c b/src/cr-parser.c
index 02197da..468f525 100644
--- a/src/cr-parser.c
+++ b/src/cr-parser.c
@@ -4930,6 +4930,29 @@ cr_parser_set_tknzr (CRParser *a_this, CRTknzr *a_tknzr)
+enum CRStatus
+cr_parser_parse_buf (CRParser *a_this, guchar *a_buf,
+ gulong a_len, enum CREncoding a_enc)
+{
+ enum CRStatus status = CR_ERROR ;
+ CRTknzr *tknzr = NULL ;
+
+ g_return_val_if_fail (a_this && PRIVATE (a_this)
+ && a_buf,
+ CR_BAD_PARAM_ERROR) ;
+
+ tknzr = cr_tknzr_new_from_buf (a_buf,a_len,
+ a_enc, FALSE) ;
+
+ g_return_val_if_fail (tknzr != NULL, CR_ERROR) ;
+
+ status = cr_parser_set_tknzr (a_this, tknzr) ;
+ g_return_val_if_fail (status == CR_OK, CR_ERROR) ;
+
+ status = cr_parser_parse (a_this) ;
+
+ return status ;
+}
/**
*Parses a the given in parameter.
@@ -4939,7 +4962,7 @@ cr_parser_set_tknzr (CRParser *a_this, CRTknzr *a_tknzr)
*@return CR_OK upon successfull completion, an error code otherwise.
*/
enum CRStatus
-cr_parser_parse_from_file (CRParser *a_this, guchar *a_file_uri,
+cr_parser_parse_file (CRParser *a_this, guchar *a_file_uri,
enum CREncoding a_enc)
{
enum CRStatus status = CR_ERROR ;