From 402cccc3ca1621acac217dac4c9297cb7b75d2ab Mon Sep 17 00:00:00 2001 From: hallgren Date: Wed, 9 Apr 2014 20:49:53 +0000 Subject: [PATCH] localstorage.js: bug fix If you stored "false" and tried to retrieve it with a default value, you got the default value instead of "false". --- src/www/js/localstorage.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/www/js/localstorage.js b/src/www/js/localstorage.js index 3c6a0fa12..e1ef76c16 100644 --- a/src/www/js/localstorage.js +++ b/src/www/js/localstorage.js @@ -15,15 +15,15 @@ var fakedLocalStorage = [] // a shared substitute for persistent localStorage // An interface to localStorage, to store JSON data under a unique prefix function appLocalStorage(appPrefix,privateStorage) { - function parse(s) { - try { return JSON.parse(s) } catch(e) { return null } + function parse(s,def) { + try { return JSON.parse(s) } catch(e) { return def } } function methods(storage) { return { get: function (name,def) { var id=appPrefix+name - return storage[id] && parse(storage[id]) || def; + return parse(storage[id]||"",def); }, put: function (name,value) { var id=appPrefix+name; @@ -34,7 +34,7 @@ function appLocalStorage(appPrefix,privateStorage) { delete storage[id] }, ls: function(prefix) { - var pre=appPrefix+prefix + var pre=appPrefix+(prefix||"") var files=[] for(var i in storage) if(hasPrefix(i,pre)) files.push(i.substr(pre.length))