From 230800d403fc8bb9b37b1e03135caf82de9f986a Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Tue, 22 Nov 2022 13:48:12 +0100 Subject: [PATCH] gipy : checking file size somehow it does not load on the watch --- apps/gipy/app.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/apps/gipy/app.js b/apps/gipy/app.js index 0077ef509..f5c15d084 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -458,6 +458,7 @@ class Status { function load_gpc(filename) { let buffer = require("Storage").readArrayBuffer(filename); + let file_size = buffer.length; let offset = 0; // header @@ -499,6 +500,20 @@ function load_gpc(filename) { let interests_starts = Uint16Array(buffer, offset, starts_length); offset += 2 * starts_length; + console.log("checksuming file"); + // checksum file size + let expected_size = 10 + 16 * (points_number + interests_number) + 2 * (Math.ceil(interests_on_path_number / 5)+1); + if (expected_size != file_size) { + console.log("invalid checksum", file_size, expected_size); + let msg = "invalid file\nsize is" + str(file_size) + "\ninstead of"+str(expected_size) + "\ncontinue ?"; + E.showPrompt(msg).then(() => { + if (!v) { + load(); + } + }); + } + console.log("file loaded"); + return [ points, waypoints,