16
16
# include "auto_map.h"
17
17
# include "utilities.h"
18
18
19
-
20
- // # define DEBUG_MSG_OBJ(msg, obj) \
21
- // fprintf(stderr, "--- %s: %i: %s: ", __FILE__, __LINE__, __FUNCTION__); \
22
- // fprintf(stderr, #msg " "); \
23
- // PyObject_Print(obj, stderr, 0); \
24
- // fprintf(stderr, "\n"); \
25
- // fflush(stderr); \
26
-
27
19
//------------------------------------------------------------------------------
28
20
// Common
29
21
@@ -1921,6 +1913,20 @@ fam_get_all(FAMObject *self, PyObject *key) {
1921
1913
# undef GET_ALL_FLEXIBLE
1922
1914
1923
1915
1916
+ static inline int
1917
+ append_ssize_t (
1918
+ PyObject * list ,
1919
+ Py_ssize_t value )
1920
+ {
1921
+ PyObject * v = PyLong_FromSsize_t (value );
1922
+ if (v == NULL ) {
1923
+ return -1 ;
1924
+ }
1925
+ int err = PyList_Append (list , v );
1926
+ Py_DECREF (v );
1927
+ return err ;
1928
+ }
1929
+
1924
1930
// Give an array of the same kind as KAT, lookup and load any keys_pos. Depends on self, key_size, key_array, table_pos, i, k, values
1925
1931
# define GET_ANY_SCALARS (npy_type_src , npy_type_dst , kat , lookup_func , hash_func , post_deref ) \
1926
1932
{ \
@@ -1936,13 +1942,10 @@ fam_get_all(FAMObject *self, PyObject *key) {
1936
1942
continue; \
1937
1943
} \
1938
1944
keys_pos = self->table[table_pos].keys_pos; \
1939
- PyObject* p = PyLong_FromSsize_t(keys_pos); \
1940
- if (PyList_Append(values, p)) { \
1941
- Py_DECREF(p); \
1945
+ if (append_ssize_t(values, keys_pos)) { \
1942
1946
Py_DECREF(values); \
1943
1947
return NULL; \
1944
1948
} \
1945
- Py_DECREF(p); \
1946
1949
} \
1947
1950
} \
1948
1951
@@ -1963,13 +1966,10 @@ fam_get_all(FAMObject *self, PyObject *key) {
1963
1966
continue; \
1964
1967
} \
1965
1968
keys_pos = self->table[table_pos].keys_pos; \
1966
- PyObject* p = PyLong_FromSsize_t(keys_pos); \
1967
- if (PyList_Append(values, p)) { \
1968
- Py_DECREF(p); \
1969
+ if (append_ssize_t(values, keys_pos)) { \
1969
1970
Py_DECREF(values); \
1970
1971
return NULL; \
1971
1972
} \
1972
- Py_DECREF(p); \
1973
1973
} \
1974
1974
} \
1975
1975
@@ -2012,12 +2012,10 @@ fam_get_any(FAMObject *self, PyObject *key) {
2012
2012
}
2013
2013
continue ;
2014
2014
}
2015
- PyObject * p = PyLong_FromSsize_t (keys_pos );
2016
- if (PyList_Append (values , p )) {
2015
+ if (append_ssize_t (values , keys_pos )) {
2017
2016
Py_DECREF (values );
2018
2017
return NULL ;
2019
2018
}
2020
- Py_DECREF (p );
2021
2019
}
2022
2020
}
2023
2021
else {
@@ -2093,12 +2091,10 @@ fam_get_any(FAMObject *self, PyObject *key) {
2093
2091
}
2094
2092
continue ; // do not raise
2095
2093
}
2096
- PyObject * p = PyLong_FromSsize_t (keys_pos );
2097
- if (PyList_Append (values , p )) {
2094
+ if (append_ssize_t (values , keys_pos )) {
2098
2095
Py_DECREF (values );
2099
2096
return NULL ;
2100
2097
}
2101
- Py_DECREF (p );
2102
2098
}
2103
2099
}
2104
2100
}
0 commit comments