66 static PyObject *
67 _wrap_gst_structure_set_value(PyObject *self, PyObject *args, PyObject *kwargs)
68 {
69 static char *kwlist[] = { "field", "value", "type_name", NULL };
70 char *field;
71 PyObject *py_value = NULL;
72 char *type_name = NULL;
73 GType type;
74 GValue value = { 0 };
75
76 if (!PyArg_ParseTupleAndKeywords(args, kwargs,
when PyArg_ParseTupleAndKeywords() succeeds
taking False path
77 "sO|s:GstStructure.set_value",
78 kwlist, &field, &py_value,
79 &type_name)) {
80 return NULL;
81 }
82
83 if (type_name) {
when treating unknown const char * from gststructure.override:76 as non-NULL
taking True path
84 if (strcmp (type_name, "char") == 0) {
taking False path
when considering range: -0x80000000 <= value <= -1
taking False path
85 type = G_TYPE_CHAR;
86 } else if (strcmp (type_name, "uchar") == 0) {
taking False path
when considering range: -0x80000000 <= value <= -1
taking False path
87 type = G_TYPE_UCHAR;
88 } else if (strcmp (type_name, "boolean") == 0) {
taking False path
when considering range: -0x80000000 <= value <= -1
taking False path
89 type = G_TYPE_BOOLEAN;
90 } else if (strcmp (type_name, "int") == 0) {
taking True path
when considering range: -0x80000000 <= value <= -1
taking False path
taking False path
91 type = G_TYPE_INT;
92 } else if (strcmp (type_name, "uint") == 0) {
taking False path
when considering range: -0x80000000 <= value <= -1
taking False path
93 type = G_TYPE_UINT;
94 } else if (strcmp (type_name, "long") == 0) {
taking False path
when considering range: -0x80000000 <= value <= -1
taking False path
95 type = G_TYPE_LONG;
96 } else if (strcmp (type_name, "ulong") == 0) {
taking False path
when considering range: -0x80000000 <= value <= -1
taking False path
97 type = G_TYPE_ULONG;
98 } else if (strcmp (type_name, "int64") == 0) {
taking False path
when considering range: -0x80000000 <= value <= -1
taking False path
99 type = G_TYPE_INT64;
100 } else if (strcmp (type_name, "uint64") == 0) {
taking False path
when considering range: -0x80000000 <= value <= -1
taking False path
101 type = G_TYPE_UINT64;
102 } else if (strcmp (type_name, "float") == 0) {
taking False path
when considering range: -0x80000000 <= value <= -1
taking False path
103 type = G_TYPE_FLOAT;
104 } else if (strcmp (type_name, "double") == 0) {
taking False path
when considering range: -0x80000000 <= value <= -1
taking False path
105 type = G_TYPE_DOUBLE;
106 } else if (strcmp (type_name, "string") == 0) {
taking False path
when considering value == (int)0 from gststructure.override:106
taking True path
107 type = G_TYPE_STRING;
108 } else {
109 PyErr_SetString(PyExc_TypeError,
110 "invalid type name");
111 return NULL;
112 }
113 } else {
114 /* Let PyGTK guess a GType for the object. */
115 type = pyg_type_from_object((PyObject *) py_value->ob_type);
116 }
117
118 if (type != G_TYPE_INVALID) {
taking True path
119 g_value_init(&value, type);
120 } else if (!pygst_value_init_for_pyobject(&value, py_value)) {
121 return NULL;
122 }
123
124 if (pygst_value_from_pyobject(&value, py_value) != 0) {
when considering range: -0x80000000 <= value <= -1
taking True path
125 return NULL;
126 }
127 gst_structure_set_value(pyg_boxed_get(self, GstStructure), field,
128 &value);
129
130 Py_INCREF(Py_None);
131 return Py_None;
132 }
returning (PyObject*)NULL without setting an exception
found 7 similar trace(s) to this