mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 07:31:38 +00:00 
			
		
		
		
	Formatting changes, plus memory management in initsyslog()
This commit is contained in:
		
							parent
							
								
									73a75eb79b
								
							
						
					
					
						commit
						43a476ac00
					
				
					 1 changed files with 101 additions and 89 deletions
				
			
		| 
						 | 
				
			
			@ -53,12 +53,15 @@ syslog_openlog(self, args)
 | 
			
		|||
	static PyObject *ident_o = NULL;
 | 
			
		||||
 | 
			
		||||
	Py_XDECREF(ident_o);
 | 
			
		||||
  if (!PyArg_ParseTuple(args, "S|ll;ident string [, logoption [, facility]]",
 | 
			
		||||
			&ident_o, &logopt, &facility)) {
 | 
			
		||||
	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. */
 | 
			
		||||
 | 
			
		||||
	/* 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);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -66,6 +69,7 @@ syslog_openlog(self, args)
 | 
			
		|||
	return Py_None;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
static PyObject * 
 | 
			
		||||
syslog_syslog(self, args)
 | 
			
		||||
	PyObject * self;
 | 
			
		||||
| 
						 | 
				
			
			@ -77,10 +81,10 @@ syslog_syslog(self, args)
 | 
			
		|||
	if (!PyArg_ParseTuple(args, "is;[priority,] message string",
 | 
			
		||||
			      &priority, &message)) {
 | 
			
		||||
		PyErr_Clear();
 | 
			
		||||
    if (!PyArg_ParseTuple(args, "s;[priority,] message string", &message)) {
 | 
			
		||||
		if (!PyArg_ParseTuple(args, "s;[priority,] message string",
 | 
			
		||||
				      &message))
 | 
			
		||||
			return NULL;
 | 
			
		||||
	}
 | 
			
		||||
  }
 | 
			
		||||
	syslog(priority, "%s", message);
 | 
			
		||||
	Py_INCREF(Py_None);
 | 
			
		||||
	return Py_None;
 | 
			
		||||
| 
						 | 
				
			
			@ -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())
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue