163 /* Publish the config to Python */
164 void config_publish(void)
165 {
166 gchar *ruleset;
167 PyObject *module, *dict, *object, *result;
168
169 /* Get a reference to score.set() */
170 module = PyImport_AddModule("__main__");
when PyImport_AddModule() fails
171 dict = PyModule_GetDict(module);
172 object = PyDict_GetItemString(dict, "rules");
when PyDict_GetItemString() succeeds
173
174 switch (cfg.ruleset)
when following default
175 {
176 case RULESET_OMNIBUS: ruleset = "omnibus"; break;
177 case RULESET_OMNIBUS_ALT: ruleset = "omnibus_alt"; break;
178 case RULESET_SPOT_HEARTS: ruleset = "spot_hearts"; break;
179 case RULESET_STANDARD: default: ruleset = "standard"; break;
180
181 }
182
183 result = PyObject_CallMethod(object, "set", "siiii", ruleset, cfg.clubs_lead, cfg.hearts_break, cfg.queen_breaks_hearts, cfg.no_blood);
when PyObject_CallMethod() fails
184
185 Py_DECREF(result);
dereferencing NULL (result->ob_refcnt) at cfg.c:185
found 9 similar trace(s) to this
186 }