csonpath 0.6.1__tar.gz → 0.8.0__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: csonpath
3
- Version: 0.6.1
3
+ Version: 0.8.0
4
4
  Description-Content-Type: text/markdown
5
5
  License-File: LICENSE
6
6
  Provides-Extra: dev
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: csonpath
3
- Version: 0.6.1
3
+ Version: 0.8.0
4
4
  Description-Content-Type: text/markdown
5
5
  License-File: LICENSE
6
6
  Provides-Extra: dev
@@ -29,6 +29,10 @@
29
29
  #define CSONPATH_FIND_ALL_RET_INIT CSONPATH_NEW_ARRAY
30
30
  #endif
31
31
 
32
+ #ifndef CSONPATH_DECREF
33
+ #define CSONPATH_DECREF(obj)
34
+ #endif
35
+
32
36
  enum csonpath_instuction_raw {
33
37
  CSONPATH_INST_ROOT,
34
38
  CSONPATH_INST_GET_OBJ,
@@ -659,9 +663,11 @@ static _Bool csonpath_do_match(int operand_instruction, CSONPATH_JSON el2, char
659
663
  if (to_check == CSONPATH_INST_GET_OBJ) { \
660
664
  tmp = CSONPATH_NEW_OBJECT(); \
661
665
  append_ret = CSONPATH_APPEND_AT(ctx, this_idx, tmp); \
666
+ CSONPATH_DECREF(tmp); \
662
667
  } else { \
663
668
  tmp = CSONPATH_NEW_ARRAY(); \
664
669
  append_ret = CSONPATH_APPEND_AT(ctx, this_idx, tmp); \
670
+ CSONPATH_DECREF(tmp); \
665
671
  } \
666
672
  walker += cjp->inst_lst[idx].next; \
667
673
  if (append_ret < 0) return append_ret; \
@@ -719,9 +725,10 @@ need_reloop_in = 0;
719
725
  #define CSONPATH_DO_FILTER_FIND CSONPATH_DO_FIND_ALL
720
726
 
721
727
  #define CSONPATH_DO_FIND_ALL_OUT \
722
- if (!nb_res) \
723
- return CSONPATH_NONE_FOUND_RET; \
724
- return ret_ar;
728
+ if (!nb_res) { \
729
+ return CSONPATH_NONE_FOUND_RET; \
730
+ } \
731
+ return ret_ar;
725
732
 
726
733
  #define CSONPATH_DO_EXTRA_ARGS_IN , ret_ar
727
734
  #define CSONPATH_DO_EXTRA_DECLATION , CSONPATH_FIND_ALL_RET ret_ar
@@ -25,6 +25,10 @@
25
25
  #define CSONPATH_GET_STR(obj) \
26
26
  PyUnicode_AsUTF8(obj)
27
27
 
28
+ #define CSONPATH_DECREF(obj) \
29
+ Py_DECREF(obj);
30
+
31
+
28
32
  #define CSONPATH_GET_NUM(obj) \
29
33
  PyLong_AsLong(obj)
30
34
 
@@ -57,6 +61,7 @@
57
61
  else \
58
62
  arglist = Py_BuildValue("(OiOO)", ctx, child_info->idx, tmp, udata); \
59
63
  PyObject_CallObject(callback, arglist); \
64
+ Py_DECREF(arglist); \
60
65
  } while (0)
61
66
 
62
67
  /* assuming each modification of the object need to go out of the loop */
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "csonpath"
7
- version = "0.6.1"
7
+ version = "0.8.0"
8
8
  readme = "README.md"
9
9
 
10
10
  [tool.setuptools]
@@ -22,7 +22,7 @@ dev = [
22
22
  testpaths = ["tests/python"]
23
23
 
24
24
  [tool.bumpversion]
25
- current_version = "0.6.1"
25
+ current_version = "0.8.0"
26
26
  parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<patch>\\d+)"
27
27
  serialize = ["{major}.{minor}.{patch}"]
28
28
  search = "{current_version}"
File without changes
File without changes
File without changes
File without changes
File without changes