Blender  V3.3
bpy_intern_string.c
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 
11 #include <Python.h>
12 
13 #include "bpy_intern_string.h"
14 
15 #include "BLI_utildefines.h"
16 
17 static PyObject *bpy_intern_str_arr[17];
18 
36 
38 {
39  uint i = 0;
40 
41 #define BPY_INTERN_STR(var, str) \
42  { \
43  var = bpy_intern_str_arr[i++] = PyUnicode_FromString(str); \
44  } \
45  (void)0
46 
56  BPY_INTERN_STR(bpy_intern_str_bl_target_properties, "bl_target_properties");
64 
65 #undef BPY_INTERN_STR
66 
68 }
69 
71 {
73  while (i--) {
74  Py_DECREF(bpy_intern_str_arr[i]);
75  }
76 }
#define BLI_assert(a)
Definition: BLI_assert.h:46
unsigned int uint
Definition: BLI_sys_types.h:67
#define ARRAY_SIZE(arr)
PyObject * bpy_intern_str_bpy_types
PyObject * bpy_intern_str___name__
PyObject * bpy_intern_str_register
PyObject * bpy_intern_str_bl_rna
PyObject * bpy_intern_str_depsgraph
PyObject * bpy_intern_str_self
PyObject * bpy_intern_str___module__
void bpy_intern_string_init(void)
PyObject * bpy_intern_str_bl_target_properties
PyObject * bpy_intern_str_bl_property
PyObject * bpy_intern_str___doc__
PyObject * bpy_intern_str_attr
static PyObject * bpy_intern_str_arr[17]
#define BPY_INTERN_STR(var, str)
PyObject * bpy_intern_str___annotations__
PyObject * bpy_intern_str___main__
PyObject * bpy_intern_str_unregister
PyObject * bpy_intern_str___slots__
PyObject * bpy_intern_str_properties
void bpy_intern_string_exit(void)
PyObject * bpy_intern_str_frame