diff -r b4b69e85ed53 -r 1e5abecc3cde svghmi/gen_index_xhtml.xslt
--- a/svghmi/gen_index_xhtml.xslt Tue Jan 14 11:04:18 2020 +0100
+++ b/svghmi/gen_index_xhtml.xslt Tue Jan 14 11:09:26 2020 +0100
@@ -444,11 +444,27 @@
const dvgetters = {
- INT: [DataView.prototype.getInt16, 2],
-
- BOOL: [DataView.prototype.getInt8, 1]
-
- /* TODO */
+ INT: (dv,offset) => [dv.getInt16(offset, true), 2],
+
+ BOOL: (dv,offset) => [dv.getInt8(offset, true), 1],
+
+ STRING: (dv, offset) => {
+
+ size = dv.getInt8(offset);
+
+ return [
+
+ String.fromCharCode.apply(null, new Uint8Array(
+
+ dv.buffer, /* original buffer */
+
+ offset + 1, /* string starts after size*/
+
+ size /* size of string */
+
+ )), size + 1]; /* total increment */
+
+ }
};
@@ -492,9 +508,9 @@
if(iectype != undefined){
- let [dvgetter, bytesize] = dvgetters[iectype];
-
- let value = dvgetter.call(dv,i,true);
+ let dvgetter = dvgetters[iectype];
+
+ let [value, bytesize] = dvgetter(dv,i);
dispatch_value(index, value);