Skip to content

Commit 43a476a

Browse files
committed
Formatting changes, plus memory management in initsyslog()
1 parent 73a75eb commit 43a476a

1 file changed

Lines changed: 102 additions & 90 deletions

File tree

Modules/syslogmodule.c

Lines changed: 102 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -44,52 +44,56 @@ Revision history:
4444

4545
static PyObject *
4646
syslog_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+
6973
static PyObject *
7074
syslog_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

8993
static PyObject *
9094
syslog_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

101105
static PyObject *
102106
syslog_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

114118
static PyObject *
115119
syslog_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

127131
static PyObject *
128132
syslog_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

157169
void
158170
initsyslog()
@@ -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

Comments
 (0)