86 //
87 static PyObject * pylirc_init(self, args)
88 PyObject *self;
89 PyObject *args; {
90
91 char *lircname;
92 char *configname = NULL;
93 int intBlocking = 0;
94
95 // Just return if already initialized...
96 if(intInitialized)
when considering range: -0x80000000 <= value <= -1
taking True path
97 return NULL;
98
99 // Check if we got the right arguments..
100 if (!PyArg_ParseTuple(args, "s|si", &lircname, &configname, &intBlocking)) {
101 PyErr_SetString(PyExc_ValueError, "Wrong number of arguments!");
102 return NULL;
103 }
104
105 // initialize lirc
106 intSocket = lirc_init(lircname, 1);
107 if(intSocket == -1) {
108 PyErr_SetString(PyExc_RuntimeError, "Unable to initialize lirc!");
109 return NULL;
110 }
111
112 // Set nonblocking mode (now optional)
113 SetMode(intBlocking);
114
115
116 // Read configuration
117 if(!lirc_readconfig(configname, &config, NULL) == 0) {
118 lirc_deinit();
119 PyErr_SetString(PyExc_IOError, "Unable to read configuration!");
120 return NULL;
121 }
122
123 // set flag and return
124 intInitialized = 1;
125 return Py_BuildValue("i", intSocket);
126 }
returning (PyObject*)NULL without setting an exception
found 1 similar trace(s) to this