Mercurial > cpython-lru_cache-weakref
annotate Modules/syslogmodule.c @ 6719:faebc1940432 legacy-trunk
Understand -Xlinker option.
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Tue, 02 Dec 1997 20:38:11 +0000 |
| parents | 994376af9064 |
| children | ea7dc510e2df |
| rev | line source |
|---|---|
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1 /*********************************************************** |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
1737
diff
changeset
|
2 Copyright 1994 by Lance Ellinghouse, |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
1737
diff
changeset
|
3 Cathedral City, California Republic, United States of America. |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
4 |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
5 All Rights Reserved |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
6 |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
7 Permission to use, copy, modify, and distribute this software and its |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
8 documentation for any purpose and without fee is hereby granted, |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
9 provided that the above copyright notice appear in all copies and that |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
10 both that copyright notice and this permission notice appear in |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
1737
diff
changeset
|
11 supporting documentation, and that the name of Lance Ellinghouse |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
1737
diff
changeset
|
12 not be used in advertising or publicity pertaining to distribution |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
1737
diff
changeset
|
13 of the software without specific, written prior permission. |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
14 |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
1737
diff
changeset
|
15 LANCE ELLINGHOUSE DISCLAIMS ALL WARRANTIES WITH REGARD TO |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
16 THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
1737
diff
changeset
|
17 FITNESS, IN NO EVENT SHALL LANCE ELLINGHOUSE BE LIABLE FOR ANY SPECIAL, |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
1737
diff
changeset
|
18 INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
1737
diff
changeset
|
19 FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
1737
diff
changeset
|
20 NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
1737
diff
changeset
|
21 WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
22 |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
23 ******************************************************************/ |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
24 |
|
3197
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
25 /****************************************************************** |
|
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
26 |
|
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
27 Revision history: |
|
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
28 |
|
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
29 95/06/29 (Steve Clift) |
|
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
30 - Changed arg parsing to use PyArg_ParseTuple. |
|
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
31 - Added PyErr_Clear() call(s) where needed. |
|
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
32 - Fix core dumps if user message contains format specifiers. |
|
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
33 - Change openlog arg defaults to match normal syslog behaviour. |
|
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
34 - Plug memory leak in openlog(). |
|
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
35 - Fix setlogmask() to return previous mask value. |
|
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
36 |
|
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
37 ******************************************************************/ |
|
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
38 |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
39 /* syslog module */ |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
40 |
|
2123
fd5ab7e828fc
cosmetic changes so these modules will work with the strict new naming scheme
Guido van Rossum <guido@python.org>
parents:
1855
diff
changeset
|
41 #include "Python.h" |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
42 |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
43 #include <syslog.h> |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
44 |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
1737
diff
changeset
|
45 static PyObject * |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
46 syslog_openlog(self, args) |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
47 PyObject * self; |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
48 PyObject * args; |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
49 { |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
50 long logopt = 0; |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
51 long facility = LOG_USER; |
|
3197
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
52 |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
53 static PyObject *ident_o = NULL; |
|
3197
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
54 |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
55 Py_XDECREF(ident_o); |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
56 if (!PyArg_ParseTuple(args, |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
57 "S|ll;ident string [, logoption [, facility]]", |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
58 &ident_o, &logopt, &facility)) |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
59 return NULL; |
|
3197
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
60 |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
61 /* This is needed because openlog() does NOT make a copy |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
62 * and syslog() later uses it.. cannot trash it. |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
63 */ |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
64 Py_INCREF(ident_o); |
|
3197
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
65 |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
66 openlog(PyString_AsString(ident_o), logopt, facility); |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
67 |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
68 Py_INCREF(Py_None); |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
69 return Py_None; |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
70 } |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
71 |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
72 |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
1737
diff
changeset
|
73 static PyObject * |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
74 syslog_syslog(self, args) |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
75 PyObject * self; |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
76 PyObject * args; |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
77 { |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
78 char *message; |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
79 int priority = LOG_INFO | LOG_USER; |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
80 |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
81 if (!PyArg_ParseTuple(args, "is;[priority,] message string", |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
82 &priority, &message)) { |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
83 PyErr_Clear(); |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
84 if (!PyArg_ParseTuple(args, "s;[priority,] message string", |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
85 &message)) |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
86 return NULL; |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
87 } |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
88 syslog(priority, "%s", message); |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
89 Py_INCREF(Py_None); |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
90 return Py_None; |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
91 } |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
92 |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
1737
diff
changeset
|
93 static PyObject * |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
94 syslog_closelog(self, args) |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
95 PyObject * self; |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
96 PyObject * args; |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
97 { |
|
3197
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
98 if (!PyArg_ParseTuple(args, "")) |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
99 return NULL; |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
100 closelog(); |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
1737
diff
changeset
|
101 Py_INCREF(Py_None); |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
1737
diff
changeset
|
102 return Py_None; |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
103 } |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
104 |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
1737
diff
changeset
|
105 static PyObject * |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
106 syslog_setlogmask(self, args) |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
107 PyObject * self; |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
108 PyObject * args; |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
109 { |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
110 long maskpri, omaskpri; |
|
3197
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
111 |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
112 if (!PyArg_ParseTuple(args, "l;mask for priority", &maskpri)) |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
113 return NULL; |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
114 omaskpri = setlogmask(maskpri); |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
115 return PyInt_FromLong(omaskpri); |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
116 } |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
117 |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
1737
diff
changeset
|
118 static PyObject * |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
119 syslog_log_mask(self, args) |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
120 PyObject * self; |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
121 PyObject * args; |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
122 { |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
123 long mask; |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
124 long pri; |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
125 if (!PyArg_ParseTuple(args, "l", &pri)) |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
126 return NULL; |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
127 mask = LOG_MASK(pri); |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
128 return PyInt_FromLong(mask); |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
129 } |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
130 |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
1737
diff
changeset
|
131 static PyObject * |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
132 syslog_log_upto(self, args) |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
133 PyObject * self; |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
134 PyObject * args; |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
135 { |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
136 long mask; |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
137 long pri; |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
138 if (!PyArg_ParseTuple(args, "l", &pri)) |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
139 return NULL; |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
140 mask = LOG_UPTO(pri); |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
141 return PyInt_FromLong(mask); |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
142 } |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
143 |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
144 /* List of functions defined in the module */ |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
145 |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
1737
diff
changeset
|
146 static PyMethodDef syslog_methods[] = { |
|
3197
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
147 {"openlog", syslog_openlog, METH_VARARGS}, |
|
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
148 {"closelog", syslog_closelog, METH_VARARGS}, |
|
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
149 {"syslog", syslog_syslog, METH_VARARGS}, |
|
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
150 {"setlogmask", syslog_setlogmask, METH_VARARGS}, |
|
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
151 {"LOG_MASK", syslog_log_mask, METH_VARARGS}, |
|
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
152 {"LOG_UPTO", syslog_log_upto, METH_VARARGS}, |
|
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
153 {NULL, NULL, 0} |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
154 }; |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
155 |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
156 /* Initialization function for the module */ |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
157 |
|
4981
994376af9064
(puremodule.c): New module which exports the Purify and Quantify C API
Barry Warsaw <barry@python.org>
parents:
4921
diff
changeset
|
158 static void |
|
994376af9064
(puremodule.c): New module which exports the Purify and Quantify C API
Barry Warsaw <barry@python.org>
parents:
4921
diff
changeset
|
159 ins(d, s, x) |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
160 PyObject *d; |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
161 char *s; |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
162 long x; |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
163 { |
|
4981
994376af9064
(puremodule.c): New module which exports the Purify and Quantify C API
Barry Warsaw <barry@python.org>
parents:
4921
diff
changeset
|
164 PyObject *v = PyInt_FromLong(x); |
|
994376af9064
(puremodule.c): New module which exports the Purify and Quantify C API
Barry Warsaw <barry@python.org>
parents:
4921
diff
changeset
|
165 if (v) { |
|
994376af9064
(puremodule.c): New module which exports the Purify and Quantify C API
Barry Warsaw <barry@python.org>
parents:
4921
diff
changeset
|
166 PyDict_SetItemString(d, s, v); |
|
994376af9064
(puremodule.c): New module which exports the Purify and Quantify C API
Barry Warsaw <barry@python.org>
parents:
4921
diff
changeset
|
167 Py_DECREF(v); |
|
994376af9064
(puremodule.c): New module which exports the Purify and Quantify C API
Barry Warsaw <barry@python.org>
parents:
4921
diff
changeset
|
168 } |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
169 } |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
170 |
|
3197
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
171 |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
172 void |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
173 initsyslog() |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
174 { |
|
3197
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
175 PyObject *m, *d; |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
176 |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
177 /* Create the module and add the functions */ |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
1737
diff
changeset
|
178 m = Py_InitModule("syslog", syslog_methods); |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
179 |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
180 /* Add some symbolic constants to the module */ |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
1737
diff
changeset
|
181 d = PyModule_GetDict(m); |
|
3197
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
182 |
|
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
183 /* Priorities */ |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
184 ins(d, "LOG_EMERG", LOG_EMERG); |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
185 ins(d, "LOG_ALERT", LOG_ALERT); |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
186 ins(d, "LOG_CRIT", LOG_CRIT); |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
187 ins(d, "LOG_ERR", LOG_ERR); |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
188 ins(d, "LOG_WARNING", LOG_WARNING); |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
189 ins(d, "LOG_NOTICE", LOG_NOTICE); |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
190 ins(d, "LOG_INFO", LOG_INFO); |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
191 ins(d, "LOG_DEBUG", LOG_DEBUG); |
|
3197
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
192 |
|
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
193 /* openlog() option flags */ |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
194 ins(d, "LOG_PID", LOG_PID); |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
195 ins(d, "LOG_CONS", LOG_CONS); |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
196 ins(d, "LOG_NDELAY", LOG_NDELAY); |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
197 ins(d, "LOG_NOWAIT", LOG_NOWAIT); |
|
3197
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
198 #ifdef LOG_PERROR |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
199 ins(d, "LOG_PERROR", LOG_PERROR); |
|
3197
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
200 #endif |
|
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
201 |
|
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
202 /* Facilities */ |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
203 ins(d, "LOG_KERN", LOG_KERN); |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
204 ins(d, "LOG_USER", LOG_USER); |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
205 ins(d, "LOG_MAIL", LOG_MAIL); |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
206 ins(d, "LOG_DAEMON", LOG_DAEMON); |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
207 ins(d, "LOG_AUTH", LOG_AUTH); |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
208 ins(d, "LOG_LPR", LOG_LPR); |
|
3843
de0ad7527de7
Some NeXT changes (default certain symbols to others)
Guido van Rossum <guido@python.org>
parents:
3197
diff
changeset
|
209 #ifdef LOG_NEWS |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
210 ins(d, "LOG_NEWS", LOG_NEWS); |
|
3843
de0ad7527de7
Some NeXT changes (default certain symbols to others)
Guido van Rossum <guido@python.org>
parents:
3197
diff
changeset
|
211 #else |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
212 ins(d, "LOG_NEWS", LOG_MAIL); |
|
3843
de0ad7527de7
Some NeXT changes (default certain symbols to others)
Guido van Rossum <guido@python.org>
parents:
3197
diff
changeset
|
213 #endif |
|
de0ad7527de7
Some NeXT changes (default certain symbols to others)
Guido van Rossum <guido@python.org>
parents:
3197
diff
changeset
|
214 #ifdef LOG_UUCP |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
215 ins(d, "LOG_UUCP", LOG_UUCP); |
|
3843
de0ad7527de7
Some NeXT changes (default certain symbols to others)
Guido van Rossum <guido@python.org>
parents:
3197
diff
changeset
|
216 #else |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
217 ins(d, "LOG_UUCP", LOG_MAIL); |
|
3843
de0ad7527de7
Some NeXT changes (default certain symbols to others)
Guido van Rossum <guido@python.org>
parents:
3197
diff
changeset
|
218 #endif |
|
de0ad7527de7
Some NeXT changes (default certain symbols to others)
Guido van Rossum <guido@python.org>
parents:
3197
diff
changeset
|
219 #ifdef LOG_CRON |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
220 ins(d, "LOG_CRON", LOG_CRON); |
|
3843
de0ad7527de7
Some NeXT changes (default certain symbols to others)
Guido van Rossum <guido@python.org>
parents:
3197
diff
changeset
|
221 #else |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
222 ins(d, "LOG_CRON", LOG_DAEMON); |
|
3843
de0ad7527de7
Some NeXT changes (default certain symbols to others)
Guido van Rossum <guido@python.org>
parents:
3197
diff
changeset
|
223 #endif |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
224 ins(d, "LOG_LOCAL0", LOG_LOCAL0); |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
225 ins(d, "LOG_LOCAL1", LOG_LOCAL1); |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
226 ins(d, "LOG_LOCAL2", LOG_LOCAL2); |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
227 ins(d, "LOG_LOCAL3", LOG_LOCAL3); |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
228 ins(d, "LOG_LOCAL4", LOG_LOCAL4); |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
229 ins(d, "LOG_LOCAL5", LOG_LOCAL5); |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
230 ins(d, "LOG_LOCAL6", LOG_LOCAL6); |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
231 ins(d, "LOG_LOCAL7", LOG_LOCAL7); |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
232 |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
233 /* Check for errors */ |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
1737
diff
changeset
|
234 if (PyErr_Occurred()) |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
1737
diff
changeset
|
235 Py_FatalError("can't initialize module syslog"); |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
236 } |
