summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--viewstate/parse.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/viewstate/parse.py b/viewstate/parse.py
index ec9f12c..4ed07a3 100644
--- a/viewstate/parse.py
+++ b/viewstate/parse.py
@@ -1,7 +1,7 @@
from .exceptions import ViewStateException
CONSTS = {
- 100: {},
+ 100: None,
101: '',
102: 0,
103: True,
@@ -19,7 +19,7 @@ def parse_int(b):
tmp = b[i]
i += 1
n |= (tmp & 0x7f) << bits
- if not tmp & 0x80:
+ if not (tmp & 0x80):
return n, b[i:]
bits += 7
return n, b[i:] # overflow
@@ -47,7 +47,10 @@ def parse_str_array(b):
n, remain = parse_int(b)
l = []
for _ in range(n):
- val, remain = parse_string(remain)
+ if not remain[0]:
+ val, remain = '', remain[1:]
+ else:
+ val, remain = parse_string(remain)
l.append(val)
return l, remain