Kaydet (Commit) 43a476ac authored tarafından Barry Warsaw's avatar Barry Warsaw

Formatting changes, plus memory management in initsyslog()

üst 73a75eb7
...@@ -53,12 +53,15 @@ syslog_openlog(self, args) ...@@ -53,12 +53,15 @@ syslog_openlog(self, args)
static PyObject *ident_o = NULL; static PyObject *ident_o = NULL;
Py_XDECREF(ident_o); Py_XDECREF(ident_o);
if (!PyArg_ParseTuple(args, "S|ll;ident string [, logoption [, facility]]", if (!PyArg_ParseTuple(args,
&ident_o, &logopt, &facility)) { "S|ll;ident string [, logoption [, facility]]",
&ident_o, &logopt, &facility))
return NULL; return NULL;
}
Py_INCREF(ident_o); /* This is needed because openlog() does NOT make a copy /* This is needed because openlog() does NOT make a copy
and syslog() later uses it.. cannot trash it. */ * 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);
...@@ -66,6 +69,7 @@ syslog_openlog(self, args) ...@@ -66,6 +69,7 @@ syslog_openlog(self, args)
return Py_None; return Py_None;
} }
static PyObject * static PyObject *
syslog_syslog(self, args) syslog_syslog(self, args)
PyObject * self; PyObject * self;
...@@ -77,10 +81,10 @@ syslog_syslog(self, args) ...@@ -77,10 +81,10 @@ syslog_syslog(self, args)
if (!PyArg_ParseTuple(args, "is;[priority,] message string", if (!PyArg_ParseTuple(args, "is;[priority,] message string",
&priority, &message)) { &priority, &message)) {
PyErr_Clear(); PyErr_Clear();
if (!PyArg_ParseTuple(args, "s;[priority,] message string", &message)) { if (!PyArg_ParseTuple(args, "s;[priority,] message string",
&message))
return NULL; return NULL;
} }
}
syslog(priority, "%s", message); syslog(priority, "%s", message);
Py_INCREF(Py_None); Py_INCREF(Py_None);
return Py_None; return Py_None;
...@@ -105,7 +109,7 @@ syslog_setlogmask(self, args) ...@@ -105,7 +109,7 @@ syslog_setlogmask(self, args)
{ {
long maskpri, omaskpri; long maskpri, omaskpri;
if (!PyArg_ParseTuple(args,"l;mask for priority",&maskpri)) if (!PyArg_ParseTuple(args, "l;mask for priority", &maskpri))
return NULL; return NULL;
omaskpri = setlogmask(maskpri); omaskpri = setlogmask(maskpri);
return PyInt_FromLong(omaskpri); return PyInt_FromLong(omaskpri);
...@@ -118,7 +122,7 @@ syslog_log_mask(self, args) ...@@ -118,7 +122,7 @@ syslog_log_mask(self, args)
{ {
long mask; long mask;
long pri; long pri;
if (!PyArg_ParseTuple(args,"l",&pri)) if (!PyArg_ParseTuple(args, "l", &pri))
return NULL; return NULL;
mask = LOG_MASK(pri); mask = LOG_MASK(pri);
return PyInt_FromLong(mask); return PyInt_FromLong(mask);
...@@ -131,7 +135,7 @@ syslog_log_upto(self, args) ...@@ -131,7 +135,7 @@ syslog_log_upto(self, args)
{ {
long mask; long mask;
long pri; long pri;
if (!PyArg_ParseTuple(args,"l",&pri)) if (!PyArg_ParseTuple(args, "l", &pri))
return NULL; return NULL;
mask = LOG_UPTO(pri); mask = LOG_UPTO(pri);
return PyInt_FromLong(mask); return PyInt_FromLong(mask);
...@@ -151,8 +155,16 @@ static PyMethodDef syslog_methods[] = { ...@@ -151,8 +155,16 @@ static PyMethodDef syslog_methods[] = {
/* Initialization function for the module */ /* Initialization function for the module */
#define DICT_SET_INT(d, s, x) \ void ins(d, s, x)
PyDict_SetItemString(d, s, PyInt_FromLong((long) (x))) PyObject *d;
char *s;
long x;
{
PyObject *xl = PyInt_FromLong(x);
PyDict_SetItemString(d, s, xl);
Py_XDECREF(xl);
}
void void
initsyslog() initsyslog()
...@@ -166,54 +178,54 @@ initsyslog() ...@@ -166,54 +178,54 @@ initsyslog()
d = PyModule_GetDict(m); d = PyModule_GetDict(m);
/* Priorities */ /* Priorities */
DICT_SET_INT(d, "LOG_EMERG", LOG_EMERG); ins(d, "LOG_EMERG", LOG_EMERG);
DICT_SET_INT(d, "LOG_ALERT", LOG_ALERT); ins(d, "LOG_ALERT", LOG_ALERT);
DICT_SET_INT(d, "LOG_CRIT", LOG_CRIT); ins(d, "LOG_CRIT", LOG_CRIT);
DICT_SET_INT(d, "LOG_ERR", LOG_ERR); ins(d, "LOG_ERR", LOG_ERR);
DICT_SET_INT(d, "LOG_WARNING", LOG_WARNING); ins(d, "LOG_WARNING", LOG_WARNING);
DICT_SET_INT(d, "LOG_NOTICE", LOG_NOTICE); ins(d, "LOG_NOTICE", LOG_NOTICE);
DICT_SET_INT(d, "LOG_INFO", LOG_INFO); ins(d, "LOG_INFO", LOG_INFO);
DICT_SET_INT(d, "LOG_DEBUG", LOG_DEBUG); ins(d, "LOG_DEBUG", LOG_DEBUG);
/* openlog() option flags */ /* openlog() option flags */
DICT_SET_INT(d, "LOG_PID", LOG_PID); ins(d, "LOG_PID", LOG_PID);
DICT_SET_INT(d, "LOG_CONS", LOG_CONS); ins(d, "LOG_CONS", LOG_CONS);
DICT_SET_INT(d, "LOG_NDELAY", LOG_NDELAY); ins(d, "LOG_NDELAY", LOG_NDELAY);
DICT_SET_INT(d, "LOG_NOWAIT", LOG_NOWAIT); ins(d, "LOG_NOWAIT", LOG_NOWAIT);
#ifdef LOG_PERROR #ifdef LOG_PERROR
DICT_SET_INT(d, "LOG_PERROR", LOG_PERROR); ins(d, "LOG_PERROR", LOG_PERROR);
#endif #endif
/* Facilities */ /* Facilities */
DICT_SET_INT(d, "LOG_KERN", LOG_KERN); ins(d, "LOG_KERN", LOG_KERN);
DICT_SET_INT(d, "LOG_USER", LOG_USER); ins(d, "LOG_USER", LOG_USER);
DICT_SET_INT(d, "LOG_MAIL", LOG_MAIL); ins(d, "LOG_MAIL", LOG_MAIL);
DICT_SET_INT(d, "LOG_DAEMON", LOG_DAEMON); ins(d, "LOG_DAEMON", LOG_DAEMON);
DICT_SET_INT(d, "LOG_AUTH", LOG_AUTH); ins(d, "LOG_AUTH", LOG_AUTH);
DICT_SET_INT(d, "LOG_LPR", LOG_LPR); ins(d, "LOG_LPR", LOG_LPR);
#ifdef LOG_NEWS #ifdef LOG_NEWS
DICT_SET_INT(d, "LOG_NEWS", LOG_NEWS); ins(d, "LOG_NEWS", LOG_NEWS);
#else #else
DICT_SET_INT(d, "LOG_NEWS", LOG_MAIL); ins(d, "LOG_NEWS", LOG_MAIL);
#endif #endif
#ifdef LOG_UUCP #ifdef LOG_UUCP
DICT_SET_INT(d, "LOG_UUCP", LOG_UUCP); ins(d, "LOG_UUCP", LOG_UUCP);
#else #else
DICT_SET_INT(d, "LOG_UUCP", LOG_MAIL); ins(d, "LOG_UUCP", LOG_MAIL);
#endif #endif
#ifdef LOG_CRON #ifdef LOG_CRON
DICT_SET_INT(d, "LOG_CRON", LOG_CRON); ins(d, "LOG_CRON", LOG_CRON);
#else #else
DICT_SET_INT(d, "LOG_CRON", LOG_DAEMON); ins(d, "LOG_CRON", LOG_DAEMON);
#endif #endif
DICT_SET_INT(d, "LOG_LOCAL0", LOG_LOCAL0); ins(d, "LOG_LOCAL0", LOG_LOCAL0);
DICT_SET_INT(d, "LOG_LOCAL1", LOG_LOCAL1); ins(d, "LOG_LOCAL1", LOG_LOCAL1);
DICT_SET_INT(d, "LOG_LOCAL2", LOG_LOCAL2); ins(d, "LOG_LOCAL2", LOG_LOCAL2);
DICT_SET_INT(d, "LOG_LOCAL3", LOG_LOCAL3); ins(d, "LOG_LOCAL3", LOG_LOCAL3);
DICT_SET_INT(d, "LOG_LOCAL4", LOG_LOCAL4); ins(d, "LOG_LOCAL4", LOG_LOCAL4);
DICT_SET_INT(d, "LOG_LOCAL5", LOG_LOCAL5); ins(d, "LOG_LOCAL5", LOG_LOCAL5);
DICT_SET_INT(d, "LOG_LOCAL6", LOG_LOCAL6); ins(d, "LOG_LOCAL6", LOG_LOCAL6);
DICT_SET_INT(d, "LOG_LOCAL7", LOG_LOCAL7); ins(d, "LOG_LOCAL7", LOG_LOCAL7);
/* Check for errors */ /* Check for errors */
if (PyErr_Occurred()) if (PyErr_Occurred())
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment