summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Modules/syslogmodule.c192
1 files changed, 102 insertions, 90 deletions
diff --git a/Modules/syslogmodule.c b/Modules/syslogmodule.c
index 2ecf76d..db27101 100644
--- a/Modules/syslogmodule.c
+++ b/Modules/syslogmodule.c
@@ -44,52 +44,56 @@ Revision history:
static PyObject *
syslog_openlog(self, args)
- PyObject * self;
- PyObject * args;
+ PyObject * self;
+ PyObject * args;
{
- long logopt = 0;
- long facility = LOG_USER;
+ long logopt = 0;
+ long facility = LOG_USER;
- static PyObject *ident_o = NULL;
+ static PyObject *ident_o = NULL;
- Py_XDECREF(ident_o);
- if (!PyArg_ParseTuple(args, "S|ll;ident string [, logoption [, facility]]",
- &ident_o, &logopt, &facility)) {
- return NULL;
- }
- Py_INCREF(ident_o); /* This is needed because openlog() does NOT make a copy
- and syslog() later uses it.. cannot trash it. */
+ Py_XDECREF(ident_o);
+ if (!PyArg_ParseTuple(args,
+ "S|ll;ident string [, logoption [, facility]]",
+ &ident_o, &logopt, &facility))
+ return NULL;
+
+ /* This is needed because openlog() does NOT make a copy
+ * and syslog() later uses it.. cannot trash it.
+ */
+ Py_INCREF(ident_o);
- openlog(PyString_AsString(ident_o), logopt, facility);
+ openlog(PyString_AsString(ident_o), logopt, facility);
- Py_INCREF(Py_None);
- return Py_None;
+ Py_INCREF(Py_None);
+ return Py_None;
}
+
static PyObject *
syslog_syslog(self, args)
- PyObject * self;
- PyObject * args;
+ PyObject * self;
+ PyObject * args;
{
- char *message;
- int priority = LOG_INFO | LOG_USER;
-
- if (!PyArg_ParseTuple(args, "is;[priority,] message string",
- &priority, &message)) {
- PyErr_Clear();
- if (!PyArg_ParseTuple(args, "s;[priority,] message string", &message)) {
- return NULL;
- }
- }
- syslog(priority, "%s", message);
- Py_INCREF(Py_None);
- return Py_None;
+ char *message;
+ int priority = LOG_INFO | LOG_USER;
+
+ if (!PyArg_ParseTuple(args, "is;[priority,] message string",
+ &priority, &message)) {
+ PyErr_Clear();
+ if (!PyArg_ParseTuple(args, "s;[priority,] message string",
+ &message))
+ return NULL;
+ }
+ syslog(priority, "%s", message);
+ Py_INCREF(Py_None);
+ return Py_None;
}
static PyObject *
syslog_closelog(self, args)
- PyObject * self;
- PyObject * args;
+ PyObject * self;
+ PyObject * args;
{
if (!PyArg_ParseTuple(args, ""))
return NULL;
@@ -100,41 +104,41 @@ syslog_closelog(self, args)
static PyObject *
syslog_setlogmask(self, args)
- PyObject * self;
- PyObject * args;
+ PyObject * self;
+ PyObject * args;
{
- long maskpri, omaskpri;
+ long maskpri, omaskpri;
- if (!PyArg_ParseTuple(args,"l;mask for priority",&maskpri))
- return NULL;
- omaskpri = setlogmask(maskpri);
- return PyInt_FromLong(omaskpri);
+ if (!PyArg_ParseTuple(args, "l;mask for priority", &maskpri))
+ return NULL;
+ omaskpri = setlogmask(maskpri);
+ return PyInt_FromLong(omaskpri);
}
static PyObject *
syslog_log_mask(self, args)
- PyObject * self;
- PyObject * args;
+ PyObject * self;
+ PyObject * args;
{
- long mask;
- long pri;
- if (!PyArg_ParseTuple(args,"l",&pri))
- return NULL;
- mask = LOG_MASK(pri);
- return PyInt_FromLong(mask);
+ long mask;
+ long pri;
+ if (!PyArg_ParseTuple(args, "l", &pri))
+ return NULL;
+ mask = LOG_MASK(pri);
+ return PyInt_FromLong(mask);
}
static PyObject *
syslog_log_upto(self, args)
- PyObject * self;
- PyObject * args;
+ PyObject * self;
+ PyObject * args;
{
- long mask;
- long pri;
- if (!PyArg_ParseTuple(args,"l",&pri))
- return NULL;
- mask = LOG_UPTO(pri);
- return PyInt_FromLong(mask);
+ long mask;
+ long pri;
+ if (!PyArg_ParseTuple(args, "l", &pri))
+ return NULL;
+ mask = LOG_UPTO(pri);
+ return PyInt_FromLong(mask);
}
/* List of functions defined in the module */
@@ -151,8 +155,16 @@ static PyMethodDef syslog_methods[] = {
/* Initialization function for the module */
-#define DICT_SET_INT(d, s, x) \
- PyDict_SetItemString(d, s, PyInt_FromLong((long) (x)))
+void ins(d, s, x)
+ PyObject *d;
+ char *s;
+ long x;
+{
+ PyObject *xl = PyInt_FromLong(x);
+ PyDict_SetItemString(d, s, xl);
+ Py_XDECREF(xl);
+}
+
void
initsyslog()
@@ -166,54 +178,54 @@ initsyslog()
d = PyModule_GetDict(m);
/* Priorities */
- DICT_SET_INT(d, "LOG_EMERG", LOG_EMERG);
- DICT_SET_INT(d, "LOG_ALERT", LOG_ALERT);
- DICT_SET_INT(d, "LOG_CRIT", LOG_CRIT);
- DICT_SET_INT(d, "LOG_ERR", LOG_ERR);
- DICT_SET_INT(d, "LOG_WARNING", LOG_WARNING);
- DICT_SET_INT(d, "LOG_NOTICE", LOG_NOTICE);
- DICT_SET_INT(d, "LOG_INFO", LOG_INFO);
- DICT_SET_INT(d, "LOG_DEBUG", LOG_DEBUG);
+ ins(d, "LOG_EMERG", LOG_EMERG);
+ ins(d, "LOG_ALERT", LOG_ALERT);
+ ins(d, "LOG_CRIT", LOG_CRIT);
+ ins(d, "LOG_ERR", LOG_ERR);
+ ins(d, "LOG_WARNING", LOG_WARNING);
+ ins(d, "LOG_NOTICE", LOG_NOTICE);
+ ins(d, "LOG_INFO", LOG_INFO);
+ ins(d, "LOG_DEBUG", LOG_DEBUG);
/* openlog() option flags */
- DICT_SET_INT(d, "LOG_PID", LOG_PID);
- DICT_SET_INT(d, "LOG_CONS", LOG_CONS);
- DICT_SET_INT(d, "LOG_NDELAY", LOG_NDELAY);
- DICT_SET_INT(d, "LOG_NOWAIT", LOG_NOWAIT);
+ ins(d, "LOG_PID", LOG_PID);
+ ins(d, "LOG_CONS", LOG_CONS);
+ ins(d, "LOG_NDELAY", LOG_NDELAY);
+ ins(d, "LOG_NOWAIT", LOG_NOWAIT);
#ifdef LOG_PERROR
- DICT_SET_INT(d, "LOG_PERROR", LOG_PERROR);
+ ins(d, "LOG_PERROR", LOG_PERROR);
#endif
/* Facilities */
- DICT_SET_INT(d, "LOG_KERN", LOG_KERN);
- DICT_SET_INT(d, "LOG_USER", LOG_USER);
- DICT_SET_INT(d, "LOG_MAIL", LOG_MAIL);
- DICT_SET_INT(d, "LOG_DAEMON", LOG_DAEMON);
- DICT_SET_INT(d, "LOG_AUTH", LOG_AUTH);
- DICT_SET_INT(d, "LOG_LPR", LOG_LPR);
+ ins(d, "LOG_KERN", LOG_KERN);
+ ins(d, "LOG_USER", LOG_USER);
+ ins(d, "LOG_MAIL", LOG_MAIL);
+ ins(d, "LOG_DAEMON", LOG_DAEMON);
+ ins(d, "LOG_AUTH", LOG_AUTH);
+ ins(d, "LOG_LPR", LOG_LPR);
#ifdef LOG_NEWS
- DICT_SET_INT(d, "LOG_NEWS", LOG_NEWS);
+ ins(d, "LOG_NEWS", LOG_NEWS);
#else
- DICT_SET_INT(d, "LOG_NEWS", LOG_MAIL);
+ ins(d, "LOG_NEWS", LOG_MAIL);
#endif
#ifdef LOG_UUCP
- DICT_SET_INT(d, "LOG_UUCP", LOG_UUCP);
+ ins(d, "LOG_UUCP", LOG_UUCP);
#else
- DICT_SET_INT(d, "LOG_UUCP", LOG_MAIL);
+ ins(d, "LOG_UUCP", LOG_MAIL);
#endif
#ifdef LOG_CRON
- DICT_SET_INT(d, "LOG_CRON", LOG_CRON);
+ ins(d, "LOG_CRON", LOG_CRON);
#else
- DICT_SET_INT(d, "LOG_CRON", LOG_DAEMON);
+ ins(d, "LOG_CRON", LOG_DAEMON);
#endif
- DICT_SET_INT(d, "LOG_LOCAL0", LOG_LOCAL0);
- DICT_SET_INT(d, "LOG_LOCAL1", LOG_LOCAL1);
- DICT_SET_INT(d, "LOG_LOCAL2", LOG_LOCAL2);
- DICT_SET_INT(d, "LOG_LOCAL3", LOG_LOCAL3);
- DICT_SET_INT(d, "LOG_LOCAL4", LOG_LOCAL4);
- DICT_SET_INT(d, "LOG_LOCAL5", LOG_LOCAL5);
- DICT_SET_INT(d, "LOG_LOCAL6", LOG_LOCAL6);
- DICT_SET_INT(d, "LOG_LOCAL7", LOG_LOCAL7);
+ ins(d, "LOG_LOCAL0", LOG_LOCAL0);
+ ins(d, "LOG_LOCAL1", LOG_LOCAL1);
+ ins(d, "LOG_LOCAL2", LOG_LOCAL2);
+ ins(d, "LOG_LOCAL3", LOG_LOCAL3);
+ ins(d, "LOG_LOCAL4", LOG_LOCAL4);
+ ins(d, "LOG_LOCAL5", LOG_LOCAL5);
+ ins(d, "LOG_LOCAL6", LOG_LOCAL6);
+ ins(d, "LOG_LOCAL7", LOG_LOCAL7);
/* Check for errors */
if (PyErr_Occurred())