|
|
@@ -19,17 +19,17 @@ SQ_OPT_STRING_STRLEN();
|
|
|
static SQRESULT build_node(HSQUIRRELVM v, GumboNode* node);
|
|
|
|
|
|
static void reg_string(HSQUIRRELVM v, const char *name, const char *val) {
|
|
|
- sq_pushstring(v, name, -1);
|
|
|
+ sq_pushstring(v, name, -1);
|
|
|
if(val) sq_pushstring(v, val, -1);
|
|
|
- else sq_pushnull(v);
|
|
|
- sq_rawset(v, -3);
|
|
|
-}
|
|
|
+ else sq_pushnull(v);
|
|
|
+ sq_rawset(v, -3);
|
|
|
+}
|
|
|
|
|
|
static void reg_boolean(HSQUIRRELVM v, const char *name, SQBool val) {
|
|
|
- sq_pushstring(v, name, -1);
|
|
|
+ sq_pushstring(v, name, -1);
|
|
|
sq_pushbool(v, val);
|
|
|
- sq_rawset(v, -3);
|
|
|
-}
|
|
|
+ sq_rawset(v, -3);
|
|
|
+}
|
|
|
|
|
|
static inline SQRESULT add_children(HSQUIRRELVM v, GumboVector *children) {
|
|
|
unsigned int tl = 0;
|
|
|
@@ -93,6 +93,13 @@ static SQRESULT build_element(HSQUIRRELVM v, GumboElement *element) {
|
|
|
sq_newarray(v, element->children.length);
|
|
|
if(add_children(v, &element->children) == SQ_ERROR) return SQ_ERROR;
|
|
|
sq_rawset(v, -3);
|
|
|
+ sq_pushliteral(v, _SC("start_pos"));
|
|
|
+ sq_pushinteger(v, element->start_pos.offset);
|
|
|
+ sq_rawset(v, -3);
|
|
|
+
|
|
|
+ sq_pushliteral(v, _SC("end_pos"));
|
|
|
+ sq_pushinteger(v, element->end_pos.offset);
|
|
|
+ sq_rawset(v, -3);
|
|
|
return SQ_OK;
|
|
|
}
|
|
|
|