summaryrefslogtreecommitdiff
path: root/src/bootstrap/init_fini.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/bootstrap/init_fini.c')
-rw-r--r--src/bootstrap/init_fini.c25
1 files changed, 20 insertions, 5 deletions
diff --git a/src/bootstrap/init_fini.c b/src/bootstrap/init_fini.c
index 001e798..a5a62a1 100644
--- a/src/bootstrap/init_fini.c
+++ b/src/bootstrap/init_fini.c
@@ -9,6 +9,7 @@
#include <dom/bootstrap/init_fini.h>
+#include "core/document.h"
#include "utils/namespace.h"
static bool __initialised;
@@ -31,13 +32,19 @@ dom_exception dom_initialise(dom_alloc alloc, void *pw)
return DOM_NO_ERR;
}
- err = _dom_namespace_initialise(alloc, pw);
+ err = _dom_document_initialise(alloc, pw);
+ if (err != DOM_NO_ERR) {
+ return err;
+ }
- if (err == DOM_NO_ERR) {
- __initialised = true;
+ err = _dom_namespace_initialise(alloc, pw);
+ if (err != DOM_NO_ERR) {
+ return err;
}
- return err;
+ __initialised = true;
+
+ return DOM_NO_ERR;
}
/**
@@ -57,9 +64,17 @@ dom_exception dom_finalise(void)
}
err = _dom_namespace_finalise();
+ if (err != DOM_NO_ERR) {
+ return err;
+ }
+
+ err = _dom_document_finalise();
+ if (err != DOM_NO_ERR) {
+ return err;
+ }
__initialised = false;
- return err;
+ return DOM_NO_ERR;
}