@@ -44,52 +44,56 @@ Revision history:
4444
4545static PyObject *
4646syslog_openlog (self , args )
47- PyObject * self ;
48- PyObject * args ;
47+ PyObject * self ;
48+ PyObject * args ;
4949{
50- long logopt = 0 ;
51- long facility = LOG_USER ;
50+ long logopt = 0 ;
51+ long facility = LOG_USER ;
5252
53- static PyObject * ident_o = NULL ;
53+ static PyObject * ident_o = NULL ;
5454
55- Py_XDECREF (ident_o );
56- if (!PyArg_ParseTuple (args , "S|ll;ident string [, logoption [, facility]]" ,
57- & ident_o , & logopt , & facility )) {
58- return NULL ;
59- }
60- Py_INCREF (ident_o ); /* This is needed because openlog() does NOT make a copy
61- and syslog() later uses it.. cannot trash it. */
55+ Py_XDECREF (ident_o );
56+ if (!PyArg_ParseTuple (args ,
57+ "S|ll;ident string [, logoption [, facility]]" ,
58+ & ident_o , & logopt , & facility ))
59+ return NULL ;
60+
61+ /* This is needed because openlog() does NOT make a copy
62+ * and syslog() later uses it.. cannot trash it.
63+ */
64+ Py_INCREF (ident_o );
6265
63- openlog (PyString_AsString (ident_o ), logopt , facility );
66+ openlog (PyString_AsString (ident_o ), logopt , facility );
6467
65- Py_INCREF (Py_None );
66- return Py_None ;
68+ Py_INCREF (Py_None );
69+ return Py_None ;
6770}
6871
72+
6973static PyObject *
7074syslog_syslog (self , args )
71- PyObject * self ;
72- PyObject * args ;
75+ PyObject * self ;
76+ PyObject * args ;
7377{
74- char * message ;
75- int priority = LOG_INFO | LOG_USER ;
76-
77- if (!PyArg_ParseTuple (args , "is;[priority,] message string" ,
78- & priority , & message )) {
79- PyErr_Clear ();
80- if (!PyArg_ParseTuple (args , "s;[priority,] message string" , & message )) {
81- return NULL ;
82- }
83- }
84- syslog (priority , "%s" , message );
85- Py_INCREF (Py_None );
86- return Py_None ;
78+ char * message ;
79+ int priority = LOG_INFO | LOG_USER ;
80+
81+ if (!PyArg_ParseTuple (args , "is;[priority,] message string" ,
82+ & priority , & message )) {
83+ PyErr_Clear ();
84+ if (!PyArg_ParseTuple (args , "s;[priority,] message string" ,
85+ & message ))
86+ return NULL ;
87+ }
88+ syslog (priority , "%s" , message );
89+ Py_INCREF (Py_None );
90+ return Py_None ;
8791}
8892
8993static PyObject *
9094syslog_closelog (self , args )
91- PyObject * self ;
92- PyObject * args ;
95+ PyObject * self ;
96+ PyObject * args ;
9397{
9498 if (!PyArg_ParseTuple (args , "" ))
9599 return NULL ;
@@ -100,41 +104,41 @@ syslog_closelog(self, args)
100104
101105static PyObject *
102106syslog_setlogmask (self , args )
103- PyObject * self ;
104- PyObject * args ;
107+ PyObject * self ;
108+ PyObject * args ;
105109{
106- long maskpri , omaskpri ;
110+ long maskpri , omaskpri ;
107111
108- if (!PyArg_ParseTuple (args ,"l;mask for priority" ,& maskpri ))
109- return NULL ;
110- omaskpri = setlogmask (maskpri );
111- return PyInt_FromLong (omaskpri );
112+ if (!PyArg_ParseTuple (args , "l;mask for priority" , & maskpri ))
113+ return NULL ;
114+ omaskpri = setlogmask (maskpri );
115+ return PyInt_FromLong (omaskpri );
112116}
113117
114118static PyObject *
115119syslog_log_mask (self , args )
116- PyObject * self ;
117- PyObject * args ;
120+ PyObject * self ;
121+ PyObject * args ;
118122{
119- long mask ;
120- long pri ;
121- if (!PyArg_ParseTuple (args ,"l" ,& pri ))
122- return NULL ;
123- mask = LOG_MASK (pri );
124- return PyInt_FromLong (mask );
123+ long mask ;
124+ long pri ;
125+ if (!PyArg_ParseTuple (args , "l" , & pri ))
126+ return NULL ;
127+ mask = LOG_MASK (pri );
128+ return PyInt_FromLong (mask );
125129}
126130
127131static PyObject *
128132syslog_log_upto (self , args )
129- PyObject * self ;
130- PyObject * args ;
133+ PyObject * self ;
134+ PyObject * args ;
131135{
132- long mask ;
133- long pri ;
134- if (!PyArg_ParseTuple (args ,"l" ,& pri ))
135- return NULL ;
136- mask = LOG_UPTO (pri );
137- return PyInt_FromLong (mask );
136+ long mask ;
137+ long pri ;
138+ if (!PyArg_ParseTuple (args , "l" , & pri ))
139+ return NULL ;
140+ mask = LOG_UPTO (pri );
141+ return PyInt_FromLong (mask );
138142}
139143
140144/* List of functions defined in the module */
@@ -151,8 +155,16 @@ static PyMethodDef syslog_methods[] = {
151155
152156/* Initialization function for the module */
153157
154- #define DICT_SET_INT (d , s , x ) \
155- PyDict_SetItemString(d, s, PyInt_FromLong((long) (x)))
158+ void ins (d , s , x )
159+ PyObject * d ;
160+ char * s ;
161+ long x ;
162+ {
163+ PyObject * xl = PyInt_FromLong (x );
164+ PyDict_SetItemString (d , s , xl );
165+ Py_XDECREF (xl );
166+ }
167+
156168
157169void
158170initsyslog ()
@@ -166,54 +178,54 @@ initsyslog()
166178 d = PyModule_GetDict (m );
167179
168180 /* Priorities */
169- DICT_SET_INT (d , "LOG_EMERG" , LOG_EMERG );
170- DICT_SET_INT (d , "LOG_ALERT" , LOG_ALERT );
171- DICT_SET_INT (d , "LOG_CRIT" , LOG_CRIT );
172- DICT_SET_INT (d , "LOG_ERR" , LOG_ERR );
173- DICT_SET_INT (d , "LOG_WARNING" , LOG_WARNING );
174- DICT_SET_INT (d , "LOG_NOTICE" , LOG_NOTICE );
175- DICT_SET_INT (d , "LOG_INFO" , LOG_INFO );
176- DICT_SET_INT (d , "LOG_DEBUG" , LOG_DEBUG );
181+ ins (d , "LOG_EMERG" , LOG_EMERG );
182+ ins (d , "LOG_ALERT" , LOG_ALERT );
183+ ins (d , "LOG_CRIT" , LOG_CRIT );
184+ ins (d , "LOG_ERR" , LOG_ERR );
185+ ins (d , "LOG_WARNING" , LOG_WARNING );
186+ ins (d , "LOG_NOTICE" , LOG_NOTICE );
187+ ins (d , "LOG_INFO" , LOG_INFO );
188+ ins (d , "LOG_DEBUG" , LOG_DEBUG );
177189
178190 /* openlog() option flags */
179- DICT_SET_INT (d , "LOG_PID" , LOG_PID );
180- DICT_SET_INT (d , "LOG_CONS" , LOG_CONS );
181- DICT_SET_INT (d , "LOG_NDELAY" , LOG_NDELAY );
182- DICT_SET_INT (d , "LOG_NOWAIT" , LOG_NOWAIT );
191+ ins (d , "LOG_PID" , LOG_PID );
192+ ins (d , "LOG_CONS" , LOG_CONS );
193+ ins (d , "LOG_NDELAY" , LOG_NDELAY );
194+ ins (d , "LOG_NOWAIT" , LOG_NOWAIT );
183195#ifdef LOG_PERROR
184- DICT_SET_INT (d , "LOG_PERROR" , LOG_PERROR );
196+ ins (d , "LOG_PERROR" , LOG_PERROR );
185197#endif
186198
187199 /* Facilities */
188- DICT_SET_INT (d , "LOG_KERN" , LOG_KERN );
189- DICT_SET_INT (d , "LOG_USER" , LOG_USER );
190- DICT_SET_INT (d , "LOG_MAIL" , LOG_MAIL );
191- DICT_SET_INT (d , "LOG_DAEMON" , LOG_DAEMON );
192- DICT_SET_INT (d , "LOG_AUTH" , LOG_AUTH );
193- DICT_SET_INT (d , "LOG_LPR" , LOG_LPR );
200+ ins (d , "LOG_KERN" , LOG_KERN );
201+ ins (d , "LOG_USER" , LOG_USER );
202+ ins (d , "LOG_MAIL" , LOG_MAIL );
203+ ins (d , "LOG_DAEMON" , LOG_DAEMON );
204+ ins (d , "LOG_AUTH" , LOG_AUTH );
205+ ins (d , "LOG_LPR" , LOG_LPR );
194206#ifdef LOG_NEWS
195- DICT_SET_INT (d , "LOG_NEWS" , LOG_NEWS );
207+ ins (d , "LOG_NEWS" , LOG_NEWS );
196208#else
197- DICT_SET_INT (d , "LOG_NEWS" , LOG_MAIL );
209+ ins (d , "LOG_NEWS" , LOG_MAIL );
198210#endif
199211#ifdef LOG_UUCP
200- DICT_SET_INT (d , "LOG_UUCP" , LOG_UUCP );
212+ ins (d , "LOG_UUCP" , LOG_UUCP );
201213#else
202- DICT_SET_INT (d , "LOG_UUCP" , LOG_MAIL );
214+ ins (d , "LOG_UUCP" , LOG_MAIL );
203215#endif
204216#ifdef LOG_CRON
205- DICT_SET_INT (d , "LOG_CRON" , LOG_CRON );
217+ ins (d , "LOG_CRON" , LOG_CRON );
206218#else
207- DICT_SET_INT (d , "LOG_CRON" , LOG_DAEMON );
219+ ins (d , "LOG_CRON" , LOG_DAEMON );
208220#endif
209- DICT_SET_INT (d , "LOG_LOCAL0" , LOG_LOCAL0 );
210- DICT_SET_INT (d , "LOG_LOCAL1" , LOG_LOCAL1 );
211- DICT_SET_INT (d , "LOG_LOCAL2" , LOG_LOCAL2 );
212- DICT_SET_INT (d , "LOG_LOCAL3" , LOG_LOCAL3 );
213- DICT_SET_INT (d , "LOG_LOCAL4" , LOG_LOCAL4 );
214- DICT_SET_INT (d , "LOG_LOCAL5" , LOG_LOCAL5 );
215- DICT_SET_INT (d , "LOG_LOCAL6" , LOG_LOCAL6 );
216- DICT_SET_INT (d , "LOG_LOCAL7" , LOG_LOCAL7 );
221+ ins (d , "LOG_LOCAL0" , LOG_LOCAL0 );
222+ ins (d , "LOG_LOCAL1" , LOG_LOCAL1 );
223+ ins (d , "LOG_LOCAL2" , LOG_LOCAL2 );
224+ ins (d , "LOG_LOCAL3" , LOG_LOCAL3 );
225+ ins (d , "LOG_LOCAL4" , LOG_LOCAL4 );
226+ ins (d , "LOG_LOCAL5" , LOG_LOCAL5 );
227+ ins (d , "LOG_LOCAL6" , LOG_LOCAL6 );
228+ ins (d , "LOG_LOCAL7" , LOG_LOCAL7 );
217229
218230 /* Check for errors */
219231 if (PyErr_Occurred ())
0 commit comments