dissect.cstruct 4.0.dev0__tar.gz → 4.0.dev1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. {dissect_cstruct-4.0.dev0/dissect.cstruct.egg-info → dissect_cstruct-4.0.dev1}/PKG-INFO +1 -1
  2. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/dissect/cstruct/expression.py +3 -0
  3. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1/dissect.cstruct.egg-info}/PKG-INFO +1 -1
  4. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/pyproject.toml +1 -0
  5. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/tests/test_expression.py +1 -0
  6. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/COPYRIGHT +0 -0
  7. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/LICENSE +0 -0
  8. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/MANIFEST.in +0 -0
  9. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/README.md +0 -0
  10. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/dissect/cstruct/__init__.py +0 -0
  11. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/dissect/cstruct/bitbuffer.py +0 -0
  12. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/dissect/cstruct/compiler.py +0 -0
  13. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/dissect/cstruct/cstruct.py +0 -0
  14. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/dissect/cstruct/exceptions.py +0 -0
  15. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/dissect/cstruct/parser.py +0 -0
  16. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/dissect/cstruct/types/__init__.py +0 -0
  17. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/dissect/cstruct/types/base.py +0 -0
  18. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/dissect/cstruct/types/char.py +0 -0
  19. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/dissect/cstruct/types/enum.py +0 -0
  20. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/dissect/cstruct/types/flag.py +0 -0
  21. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/dissect/cstruct/types/int.py +0 -0
  22. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/dissect/cstruct/types/leb128.py +0 -0
  23. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/dissect/cstruct/types/packed.py +0 -0
  24. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/dissect/cstruct/types/pointer.py +0 -0
  25. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/dissect/cstruct/types/structure.py +0 -0
  26. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/dissect/cstruct/types/void.py +0 -0
  27. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/dissect/cstruct/types/wchar.py +0 -0
  28. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/dissect/cstruct/utils.py +0 -0
  29. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/dissect.cstruct.egg-info/SOURCES.txt +0 -0
  30. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/dissect.cstruct.egg-info/dependency_links.txt +0 -0
  31. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/dissect.cstruct.egg-info/top_level.txt +0 -0
  32. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/examples/disk.py +0 -0
  33. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/examples/mirai.py +0 -0
  34. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/examples/pe.py +0 -0
  35. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/examples/protobuf.py +0 -0
  36. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/examples/secdesc.py +0 -0
  37. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/setup.cfg +0 -0
  38. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/tests/__init__.py +0 -0
  39. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/tests/conftest.py +0 -0
  40. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/tests/data/testdef.txt +0 -0
  41. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/tests/docs/Makefile +0 -0
  42. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/tests/docs/conf.py +0 -0
  43. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/tests/docs/index.rst +0 -0
  44. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/tests/test_align.py +0 -0
  45. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/tests/test_basic.py +0 -0
  46. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/tests/test_bitbuffer.py +0 -0
  47. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/tests/test_bitfield.py +0 -0
  48. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/tests/test_compiler.py +0 -0
  49. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/tests/test_ctypes.py +0 -0
  50. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/tests/test_parser.py +0 -0
  51. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/tests/test_types_base.py +0 -0
  52. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/tests/test_types_char.py +0 -0
  53. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/tests/test_types_custom.py +0 -0
  54. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/tests/test_types_enum.py +0 -0
  55. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/tests/test_types_flag.py +0 -0
  56. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/tests/test_types_int.py +0 -0
  57. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/tests/test_types_leb128.py +0 -0
  58. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/tests/test_types_packed.py +0 -0
  59. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/tests/test_types_pointer.py +0 -0
  60. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/tests/test_types_structure.py +0 -0
  61. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/tests/test_types_union.py +0 -0
  62. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/tests/test_types_void.py +0 -0
  63. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/tests/test_types_wchar.py +0 -0
  64. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/tests/test_utils.py +0 -0
  65. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/tests/utils.py +0 -0
  66. {dissect_cstruct-4.0.dev0 → dissect_cstruct-4.0.dev1}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dissect.cstruct
3
- Version: 4.0.dev0
3
+ Version: 4.0.dev1
4
4
  Summary: A Dissect module implementing a parser for C-like structures: structure parsing in Python made easy
5
5
  Author-email: Dissect Team <dissect@fox-it.com>
6
6
  License: Apache License 2.0
@@ -299,4 +299,7 @@ class Expression:
299
299
 
300
300
  self.evaluate_exp()
301
301
 
302
+ if len(self.queue) != 1:
303
+ raise ExpressionParserError("Invalid expression")
304
+
302
305
  return self.queue[0]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dissect.cstruct
3
- Version: 4.0.dev0
3
+ Version: 4.0.dev1
4
4
  Summary: A Dissect module implementing a parser for C-like structures: structure parsing in Python made easy
5
5
  Author-email: Dissect Team <dissect@fox-it.com>
6
6
  License: Apache License 2.0
@@ -46,3 +46,4 @@ license-files = ["LICENSE", "COPYRIGHT"]
46
46
  include = ["dissect.*"]
47
47
 
48
48
  [tool.setuptools_scm]
49
+ local_scheme = "no-local-version"
@@ -94,6 +94,7 @@ def test_expression(expression: str, answer: int) -> None:
94
94
  ("-", ExpressionParserError, "Invalid expression: not enough operands"),
95
95
  ("(", ExpressionParserError, "Invalid expression"),
96
96
  (")", ExpressionParserError, "Invalid expression"),
97
+ (" ", ExpressionParserError, "Invalid expression"),
97
98
  ("()", ExpressionParserError, "Parser expected an expression, instead received empty parenthesis. Index: 1"),
98
99
  ("0()", ExpressionParserError, "Parser expected sizeof or an arethmethic operator instead got: '0'"),
99
100
  ("sizeof)", ExpressionParserError, "Invalid sizeof operation"),