1
0
Fork 0

gipy : checking file size

somehow it does not load on the watch
master
frederic wagner 2022-11-22 13:48:12 +01:00
parent 71245dcff6
commit 230800d403
1 changed files with 15 additions and 0 deletions

View File

@ -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,