Mercurial > cpython-lru_cache-weakref
annotate Modules/syslogmodule.c @ 74006:88198b93ff2f
Issue #13560: Add PyUnicode_EncodeLocale()
* Use PyUnicode_EncodeLocale() in time.strftime() if wcsftime() is not
available
* Document my last changes in Misc/NEWS
| author | Victor Stinner <victor.stinner@haypocalc.com> |
|---|---|
| date | Sat, 17 Dec 2011 04:13:41 +0100 |
| parents | afa42c04f0a3 |
| children | dc8e61044055 |
| 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 |
|
61467
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
7 Permission to use, copy, modify, and distribute this software and its |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
8 documentation for any purpose and without fee is hereby granted, |
|
1737
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 |
|
61467
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
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 |
|
61467
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
12 not be used in advertising or publicity pertaining to distribution |
|
1855
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 |
|
61467
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
17 FITNESS, IN NO EVENT SHALL LANCE ELLINGHOUSE BE LIABLE FOR ANY SPECIAL, |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
18 INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
19 FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
20 NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION |
|
1855
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 |
|
60886
562967881dc5
Port of issue8451 to python3: Syslog use sys.argv[0] for ident.
Sean Reifscheider <jafo@tummy.com>
parents:
48660
diff
changeset
|
29 2010/04/20 (Sean Reifschneider) |
|
562967881dc5
Port of issue8451 to python3: Syslog use sys.argv[0] for ident.
Sean Reifscheider <jafo@tummy.com>
parents:
48660
diff
changeset
|
30 - Use basename(sys.argv[0]) for the default "ident". |
|
562967881dc5
Port of issue8451 to python3: Syslog use sys.argv[0] for ident.
Sean Reifscheider <jafo@tummy.com>
parents:
48660
diff
changeset
|
31 - Arguments to openlog() are now keyword args and are all optional. |
|
562967881dc5
Port of issue8451 to python3: Syslog use sys.argv[0] for ident.
Sean Reifscheider <jafo@tummy.com>
parents:
48660
diff
changeset
|
32 - syslog() calls openlog() if it hasn't already been called. |
|
562967881dc5
Port of issue8451 to python3: Syslog use sys.argv[0] for ident.
Sean Reifscheider <jafo@tummy.com>
parents:
48660
diff
changeset
|
33 |
|
8286
4c88cc62e9e9
Fix by Sean Reifschneider:
Guido van Rossum <guido@python.org>
parents:
7115
diff
changeset
|
34 1998/04/28 (Sean Reifschneider) |
|
4c88cc62e9e9
Fix by Sean Reifschneider:
Guido van Rossum <guido@python.org>
parents:
7115
diff
changeset
|
35 - When facility not specified to syslog() method, use default from openlog() |
|
4c88cc62e9e9
Fix by Sean Reifschneider:
Guido van Rossum <guido@python.org>
parents:
7115
diff
changeset
|
36 (This is how it was claimed to work in the documentation) |
|
4c88cc62e9e9
Fix by Sean Reifschneider:
Guido van Rossum <guido@python.org>
parents:
7115
diff
changeset
|
37 - Potential resource leak of o_ident, now cleaned up in closelog() |
|
4c88cc62e9e9
Fix by Sean Reifschneider:
Guido van Rossum <guido@python.org>
parents:
7115
diff
changeset
|
38 - Minor comment accuracy fix. |
|
4c88cc62e9e9
Fix by Sean Reifschneider:
Guido van Rossum <guido@python.org>
parents:
7115
diff
changeset
|
39 |
|
3197
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
40 95/06/29 (Steve Clift) |
|
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
41 - Changed arg parsing to use PyArg_ParseTuple. |
|
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
42 - Added PyErr_Clear() call(s) where needed. |
|
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
43 - Fix core dumps if user message contains format specifiers. |
|
13620
5b727ab37092
Spelling fixes supplied by Rob W. W. Hooft. All these are fixes in either
Thomas Wouters <thomas@python.org>
parents:
13502
diff
changeset
|
44 - Change openlog arg defaults to match normal syslog behavior. |
|
3197
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
45 - Plug memory leak in openlog(). |
|
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
46 - Fix setlogmask() to return previous mask value. |
|
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
47 |
|
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
48 ******************************************************************/ |
|
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
49 |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
50 /* syslog module */ |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
51 |
|
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
|
52 #include "Python.h" |
|
60886
562967881dc5
Port of issue8451 to python3: Syslog use sys.argv[0] for ident.
Sean Reifscheider <jafo@tummy.com>
parents:
48660
diff
changeset
|
53 #include "osdefs.h" |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
54 |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
55 #include <syslog.h> |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
56 |
|
8286
4c88cc62e9e9
Fix by Sean Reifschneider:
Guido van Rossum <guido@python.org>
parents:
7115
diff
changeset
|
57 /* only one instance, only one syslog, so globals should be ok */ |
|
61467
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
58 static PyObject *S_ident_o = NULL; /* identifier, held by openlog() */ |
|
60940
7e2229877459
Porting commit 80458 to python 3
Sean Reifscheider <jafo@tummy.com>
parents:
60886
diff
changeset
|
59 static char S_log_open = 0; |
|
8286
4c88cc62e9e9
Fix by Sean Reifschneider:
Guido van Rossum <guido@python.org>
parents:
7115
diff
changeset
|
60 |
|
4c88cc62e9e9
Fix by Sean Reifschneider:
Guido van Rossum <guido@python.org>
parents:
7115
diff
changeset
|
61 |
|
61467
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
62 static PyObject * |
|
60886
562967881dc5
Port of issue8451 to python3: Syslog use sys.argv[0] for ident.
Sean Reifscheider <jafo@tummy.com>
parents:
48660
diff
changeset
|
63 syslog_get_argv(void) |
|
562967881dc5
Port of issue8451 to python3: Syslog use sys.argv[0] for ident.
Sean Reifscheider <jafo@tummy.com>
parents:
48660
diff
changeset
|
64 { |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
65 /* Figure out what to use for as the program "ident" for openlog(). |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
66 * This swallows exceptions and continues rather than failing out, |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
67 * because the syslog module can still be used because openlog(3) |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
68 * is optional. |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
69 */ |
|
60886
562967881dc5
Port of issue8451 to python3: Syslog use sys.argv[0] for ident.
Sean Reifscheider <jafo@tummy.com>
parents:
48660
diff
changeset
|
70 |
|
66799
50d170bb71c7
Issue #6697: Fixed instances of _PyUnicode_AsString() result not checked for NULL
Alexander Belopolsky <alexander.belopolsky@gmail.com>
parents:
61466
diff
changeset
|
71 Py_ssize_t argv_len, scriptlen; |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
72 PyObject *scriptobj; |
| 72475 | 73 Py_ssize_t slash; |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
74 PyObject *argv = PySys_GetObject("argv"); |
|
60886
562967881dc5
Port of issue8451 to python3: Syslog use sys.argv[0] for ident.
Sean Reifscheider <jafo@tummy.com>
parents:
48660
diff
changeset
|
75 |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
76 if (argv == NULL) { |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
77 return(NULL); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
78 } |
|
60886
562967881dc5
Port of issue8451 to python3: Syslog use sys.argv[0] for ident.
Sean Reifscheider <jafo@tummy.com>
parents:
48660
diff
changeset
|
79 |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
80 argv_len = PyList_Size(argv); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
81 if (argv_len == -1) { |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
82 PyErr_Clear(); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
83 return(NULL); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
84 } |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
85 if (argv_len == 0) { |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
86 return(NULL); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
87 } |
|
60886
562967881dc5
Port of issue8451 to python3: Syslog use sys.argv[0] for ident.
Sean Reifscheider <jafo@tummy.com>
parents:
48660
diff
changeset
|
88 |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
89 scriptobj = PyList_GetItem(argv, 0); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
90 if (!PyUnicode_Check(scriptobj)) { |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
91 return(NULL); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
92 } |
|
72863
afa42c04f0a3
Fix misuse of PyUnicode_GET_SIZE, use PyUnicode_GET_LENGTH instead
Victor Stinner <victor.stinner@haypocalc.com>
parents:
72475
diff
changeset
|
93 scriptlen = PyUnicode_GET_LENGTH(scriptobj); |
|
66799
50d170bb71c7
Issue #6697: Fixed instances of _PyUnicode_AsString() result not checked for NULL
Alexander Belopolsky <alexander.belopolsky@gmail.com>
parents:
61466
diff
changeset
|
94 if (scriptlen == 0) { |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
95 return(NULL); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
96 } |
|
60886
562967881dc5
Port of issue8451 to python3: Syslog use sys.argv[0] for ident.
Sean Reifscheider <jafo@tummy.com>
parents:
48660
diff
changeset
|
97 |
|
72863
afa42c04f0a3
Fix misuse of PyUnicode_GET_SIZE, use PyUnicode_GET_LENGTH instead
Victor Stinner <victor.stinner@haypocalc.com>
parents:
72475
diff
changeset
|
98 slash = PyUnicode_FindChar(scriptobj, SEP, 0, scriptlen, -1); |
| 72475 | 99 if (slash == -2) |
| 100 return NULL; | |
| 101 if (slash != -1) { | |
|
72863
afa42c04f0a3
Fix misuse of PyUnicode_GET_SIZE, use PyUnicode_GET_LENGTH instead
Victor Stinner <victor.stinner@haypocalc.com>
parents:
72475
diff
changeset
|
102 return PyUnicode_Substring(scriptobj, slash, scriptlen); |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
103 } else { |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
104 Py_INCREF(scriptobj); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
105 return(scriptobj); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
106 } |
|
60886
562967881dc5
Port of issue8451 to python3: Syslog use sys.argv[0] for ident.
Sean Reifscheider <jafo@tummy.com>
parents:
48660
diff
changeset
|
107 |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
108 return(NULL); |
|
60886
562967881dc5
Port of issue8451 to python3: Syslog use sys.argv[0] for ident.
Sean Reifscheider <jafo@tummy.com>
parents:
48660
diff
changeset
|
109 } |
|
562967881dc5
Port of issue8451 to python3: Syslog use sys.argv[0] for ident.
Sean Reifscheider <jafo@tummy.com>
parents:
48660
diff
changeset
|
110 |
|
562967881dc5
Port of issue8451 to python3: Syslog use sys.argv[0] for ident.
Sean Reifscheider <jafo@tummy.com>
parents:
48660
diff
changeset
|
111 |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
112 static PyObject * |
|
60886
562967881dc5
Port of issue8451 to python3: Syslog use sys.argv[0] for ident.
Sean Reifscheider <jafo@tummy.com>
parents:
48660
diff
changeset
|
113 syslog_openlog(PyObject * self, PyObject * args, PyObject *kwds) |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
114 { |
|
61467
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
115 long logopt = 0; |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
116 long facility = LOG_USER; |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
117 PyObject *new_S_ident_o = NULL; |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
118 static char *keywords[] = {"ident", "logoption", "facility", 0}; |
|
66799
50d170bb71c7
Issue #6697: Fixed instances of _PyUnicode_AsString() result not checked for NULL
Alexander Belopolsky <alexander.belopolsky@gmail.com>
parents:
61466
diff
changeset
|
119 char *ident = NULL; |
|
3197
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
120 |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
121 if (!PyArg_ParseTupleAndKeywords(args, kwds, |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
122 "|Ull:openlog", keywords, &new_S_ident_o, &logopt, &facility)) |
|
61467
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
123 return NULL; |
|
3197
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
124 |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
125 if (new_S_ident_o) { |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
126 Py_INCREF(new_S_ident_o); |
|
66799
50d170bb71c7
Issue #6697: Fixed instances of _PyUnicode_AsString() result not checked for NULL
Alexander Belopolsky <alexander.belopolsky@gmail.com>
parents:
61466
diff
changeset
|
127 } |
|
60886
562967881dc5
Port of issue8451 to python3: Syslog use sys.argv[0] for ident.
Sean Reifscheider <jafo@tummy.com>
parents:
48660
diff
changeset
|
128 |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
129 /* get sys.argv[0] or NULL if we can't for some reason */ |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
130 if (!new_S_ident_o) { |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
131 new_S_ident_o = syslog_get_argv(); |
|
66799
50d170bb71c7
Issue #6697: Fixed instances of _PyUnicode_AsString() result not checked for NULL
Alexander Belopolsky <alexander.belopolsky@gmail.com>
parents:
61466
diff
changeset
|
132 } |
|
60886
562967881dc5
Port of issue8451 to python3: Syslog use sys.argv[0] for ident.
Sean Reifscheider <jafo@tummy.com>
parents:
48660
diff
changeset
|
133 |
|
61467
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
134 Py_XDECREF(S_ident_o); |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
135 S_ident_o = new_S_ident_o; |
|
3197
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
136 |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
137 /* At this point, S_ident_o should be INCREF()ed. openlog(3) does not |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
138 * make a copy, and syslog(3) later uses it. We can't garbagecollect it |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
139 * If NULL, just let openlog figure it out (probably using C argv[0]). |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
140 */ |
|
66799
50d170bb71c7
Issue #6697: Fixed instances of _PyUnicode_AsString() result not checked for NULL
Alexander Belopolsky <alexander.belopolsky@gmail.com>
parents:
61466
diff
changeset
|
141 if (S_ident_o) { |
|
50d170bb71c7
Issue #6697: Fixed instances of _PyUnicode_AsString() result not checked for NULL
Alexander Belopolsky <alexander.belopolsky@gmail.com>
parents:
61466
diff
changeset
|
142 ident = _PyUnicode_AsString(S_ident_o); |
|
50d170bb71c7
Issue #6697: Fixed instances of _PyUnicode_AsString() result not checked for NULL
Alexander Belopolsky <alexander.belopolsky@gmail.com>
parents:
61466
diff
changeset
|
143 if (ident == NULL) |
|
50d170bb71c7
Issue #6697: Fixed instances of _PyUnicode_AsString() result not checked for NULL
Alexander Belopolsky <alexander.belopolsky@gmail.com>
parents:
61466
diff
changeset
|
144 return NULL; |
|
50d170bb71c7
Issue #6697: Fixed instances of _PyUnicode_AsString() result not checked for NULL
Alexander Belopolsky <alexander.belopolsky@gmail.com>
parents:
61466
diff
changeset
|
145 } |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
146 |
|
61467
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
147 openlog(ident, logopt, facility); |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
148 S_log_open = 1; |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
149 |
|
61467
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
150 Py_INCREF(Py_None); |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
151 return Py_None; |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
152 } |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
153 |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
154 |
|
61467
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
155 static PyObject * |
|
13502
7348cceee8fa
ANSI-fication
Peter Schneider-Kamp <nowonder@nowonder.de>
parents:
11882
diff
changeset
|
156 syslog_syslog(PyObject * self, PyObject * args) |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
157 { |
|
61467
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
158 PyObject *message_object; |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
159 const char *message; |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
160 int priority = LOG_INFO; |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
161 |
|
61467
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
162 if (!PyArg_ParseTuple(args, "iU;[priority,] message string", |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
163 &priority, &message_object)) { |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
164 PyErr_Clear(); |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
165 if (!PyArg_ParseTuple(args, "U;[priority,] message string", |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
166 &message_object)) |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
167 return NULL; |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
168 } |
|
8286
4c88cc62e9e9
Fix by Sean Reifschneider:
Guido van Rossum <guido@python.org>
parents:
7115
diff
changeset
|
169 |
|
61467
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
170 message = _PyUnicode_AsString(message_object); |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
171 if (message == NULL) |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
172 return NULL; |
|
60886
562967881dc5
Port of issue8451 to python3: Syslog use sys.argv[0] for ident.
Sean Reifscheider <jafo@tummy.com>
parents:
48660
diff
changeset
|
173 |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
174 /* if log is not opened, open it now */ |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
175 if (!S_log_open) { |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
176 PyObject *openargs; |
|
60886
562967881dc5
Port of issue8451 to python3: Syslog use sys.argv[0] for ident.
Sean Reifscheider <jafo@tummy.com>
parents:
48660
diff
changeset
|
177 |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
178 /* Continue even if PyTuple_New fails, because openlog(3) is optional. |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
179 * So, we can still do loggin in the unlikely event things are so hosed |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
180 * that we can't do this tuple. |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
181 */ |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
182 if ((openargs = PyTuple_New(0))) { |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
183 PyObject *openlog_ret = syslog_openlog(self, openargs, NULL); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
184 Py_XDECREF(openlog_ret); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
185 Py_DECREF(openargs); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
186 } |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
187 } |
|
60886
562967881dc5
Port of issue8451 to python3: Syslog use sys.argv[0] for ident.
Sean Reifscheider <jafo@tummy.com>
parents:
48660
diff
changeset
|
188 |
|
61467
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
189 Py_BEGIN_ALLOW_THREADS; |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
190 syslog(priority, "%s", message); |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
191 Py_END_ALLOW_THREADS; |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
192 Py_RETURN_NONE; |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
193 } |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
194 |
|
61467
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
195 static PyObject * |
|
38669
19fd6141940d
Partially merge trunk into p3yk. The removal of Mac/Tools is confusing svn
Thomas Wouters <thomas@python.org>
parents:
36324
diff
changeset
|
196 syslog_closelog(PyObject *self, PyObject *unused) |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
197 { |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
198 if (S_log_open) { |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
199 closelog(); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
200 Py_XDECREF(S_ident_o); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
201 S_ident_o = NULL; |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
202 S_log_open = 0; |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
203 } |
|
61467
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
204 Py_INCREF(Py_None); |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
205 return Py_None; |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
206 } |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
207 |
|
61467
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
208 static PyObject * |
|
13502
7348cceee8fa
ANSI-fication
Peter Schneider-Kamp <nowonder@nowonder.de>
parents:
11882
diff
changeset
|
209 syslog_setlogmask(PyObject *self, PyObject *args) |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
210 { |
|
61467
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
211 long maskpri, omaskpri; |
|
3197
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
212 |
|
61467
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
213 if (!PyArg_ParseTuple(args, "l;mask for priority", &maskpri)) |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
214 return NULL; |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
215 omaskpri = setlogmask(maskpri); |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
216 return PyLong_FromLong(omaskpri); |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
217 } |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
218 |
|
61467
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
219 static PyObject * |
|
13502
7348cceee8fa
ANSI-fication
Peter Schneider-Kamp <nowonder@nowonder.de>
parents:
11882
diff
changeset
|
220 syslog_log_mask(PyObject *self, PyObject *args) |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
221 { |
|
61467
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
222 long mask; |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
223 long pri; |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
224 if (!PyArg_ParseTuple(args, "l:LOG_MASK", &pri)) |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
225 return NULL; |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
226 mask = LOG_MASK(pri); |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
227 return PyLong_FromLong(mask); |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
228 } |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
229 |
|
61467
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
230 static PyObject * |
|
13502
7348cceee8fa
ANSI-fication
Peter Schneider-Kamp <nowonder@nowonder.de>
parents:
11882
diff
changeset
|
231 syslog_log_upto(PyObject *self, PyObject *args) |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
232 { |
|
61467
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
233 long mask; |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
234 long pri; |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
235 if (!PyArg_ParseTuple(args, "l:LOG_UPTO", &pri)) |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
236 return NULL; |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
237 mask = LOG_UPTO(pri); |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
238 return PyLong_FromLong(mask); |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
239 } |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
240 |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
241 /* 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
|
242 |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
1737
diff
changeset
|
243 static PyMethodDef syslog_methods[] = { |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
60940
diff
changeset
|
244 {"openlog", (PyCFunction) syslog_openlog, METH_VARARGS | METH_KEYWORDS}, |
|
61467
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
245 {"closelog", syslog_closelog, METH_NOARGS}, |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
246 {"syslog", syslog_syslog, METH_VARARGS}, |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
247 {"setlogmask", syslog_setlogmask, METH_VARARGS}, |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
248 {"LOG_MASK", syslog_log_mask, METH_VARARGS}, |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
249 {"LOG_UPTO", syslog_log_upto, METH_VARARGS}, |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
250 {NULL, NULL, 0} |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
251 }; |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
252 |
|
8286
4c88cc62e9e9
Fix by Sean Reifschneider:
Guido van Rossum <guido@python.org>
parents:
7115
diff
changeset
|
253 /* Initialization function for the module */ |
|
3197
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
254 |
|
47580
94f64f11fdd0
Implement PEP 3121: new module initialization and finalization API.
Martin v. Löwis <martin@v.loewis.de>
parents:
45471
diff
changeset
|
255 |
|
94f64f11fdd0
Implement PEP 3121: new module initialization and finalization API.
Martin v. Löwis <martin@v.loewis.de>
parents:
45471
diff
changeset
|
256 static struct PyModuleDef syslogmodule = { |
|
61467
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
257 PyModuleDef_HEAD_INIT, |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
258 "syslog", |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
259 NULL, |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
260 -1, |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
261 syslog_methods, |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
262 NULL, |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
263 NULL, |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
264 NULL, |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
265 NULL |
|
47580
94f64f11fdd0
Implement PEP 3121: new module initialization and finalization API.
Martin v. Löwis <martin@v.loewis.de>
parents:
45471
diff
changeset
|
266 }; |
|
94f64f11fdd0
Implement PEP 3121: new module initialization and finalization API.
Martin v. Löwis <martin@v.loewis.de>
parents:
45471
diff
changeset
|
267 |
|
24471
f66b3a3509c7
Excise DL_EXPORT/DL_IMPORT from Modules/*. Required adding a prototype
Mark Hammond <mhammond@skippinet.com.au>
parents:
22729
diff
changeset
|
268 PyMODINIT_FUNC |
|
47580
94f64f11fdd0
Implement PEP 3121: new module initialization and finalization API.
Martin v. Löwis <martin@v.loewis.de>
parents:
45471
diff
changeset
|
269 PyInit_syslog(void) |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
270 { |
|
61467
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
271 PyObject *m; |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
272 |
|
61467
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
273 /* Create the module and add the functions */ |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
274 m = PyModule_Create(&syslogmodule); |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
275 if (m == NULL) |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
276 return NULL; |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
277 |
|
61467
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
278 /* Add some symbolic constants to the module */ |
|
3197
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
279 |
|
61467
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
280 /* Priorities */ |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
281 PyModule_AddIntConstant(m, "LOG_EMERG", LOG_EMERG); |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
282 PyModule_AddIntConstant(m, "LOG_ALERT", LOG_ALERT); |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
283 PyModule_AddIntConstant(m, "LOG_CRIT", LOG_CRIT); |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
284 PyModule_AddIntConstant(m, "LOG_ERR", LOG_ERR); |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
285 PyModule_AddIntConstant(m, "LOG_WARNING", LOG_WARNING); |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
286 PyModule_AddIntConstant(m, "LOG_NOTICE", LOG_NOTICE); |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
287 PyModule_AddIntConstant(m, "LOG_INFO", LOG_INFO); |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
288 PyModule_AddIntConstant(m, "LOG_DEBUG", LOG_DEBUG); |
|
3197
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
289 |
|
61467
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
290 /* openlog() option flags */ |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
291 PyModule_AddIntConstant(m, "LOG_PID", LOG_PID); |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
292 PyModule_AddIntConstant(m, "LOG_CONS", LOG_CONS); |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
293 PyModule_AddIntConstant(m, "LOG_NDELAY", LOG_NDELAY); |
|
8823
f2a4a2b60860
Changes for BeOS, QNX and long long, by Chris Herborth.
Guido van Rossum <guido@python.org>
parents:
8286
diff
changeset
|
294 #ifdef LOG_NOWAIT |
|
61467
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
295 PyModule_AddIntConstant(m, "LOG_NOWAIT", LOG_NOWAIT); |
|
8823
f2a4a2b60860
Changes for BeOS, QNX and long long, by Chris Herborth.
Guido van Rossum <guido@python.org>
parents:
8286
diff
changeset
|
296 #endif |
|
3197
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
297 #ifdef LOG_PERROR |
|
61467
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
298 PyModule_AddIntConstant(m, "LOG_PERROR", LOG_PERROR); |
|
3197
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
299 #endif |
|
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
300 |
|
61467
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
301 /* Facilities */ |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
302 PyModule_AddIntConstant(m, "LOG_KERN", LOG_KERN); |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
303 PyModule_AddIntConstant(m, "LOG_USER", LOG_USER); |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
304 PyModule_AddIntConstant(m, "LOG_MAIL", LOG_MAIL); |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
305 PyModule_AddIntConstant(m, "LOG_DAEMON", LOG_DAEMON); |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
306 PyModule_AddIntConstant(m, "LOG_AUTH", LOG_AUTH); |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
307 PyModule_AddIntConstant(m, "LOG_LPR", LOG_LPR); |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
308 PyModule_AddIntConstant(m, "LOG_LOCAL0", LOG_LOCAL0); |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
309 PyModule_AddIntConstant(m, "LOG_LOCAL1", LOG_LOCAL1); |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
310 PyModule_AddIntConstant(m, "LOG_LOCAL2", LOG_LOCAL2); |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
311 PyModule_AddIntConstant(m, "LOG_LOCAL3", LOG_LOCAL3); |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
312 PyModule_AddIntConstant(m, "LOG_LOCAL4", LOG_LOCAL4); |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
313 PyModule_AddIntConstant(m, "LOG_LOCAL5", LOG_LOCAL5); |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
314 PyModule_AddIntConstant(m, "LOG_LOCAL6", LOG_LOCAL6); |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
315 PyModule_AddIntConstant(m, "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
|
316 |
|
8286
4c88cc62e9e9
Fix by Sean Reifschneider:
Guido van Rossum <guido@python.org>
parents:
7115
diff
changeset
|
317 #ifndef LOG_SYSLOG |
|
61467
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
318 #define LOG_SYSLOG LOG_DAEMON |
|
8286
4c88cc62e9e9
Fix by Sean Reifschneider:
Guido van Rossum <guido@python.org>
parents:
7115
diff
changeset
|
319 #endif |
|
4c88cc62e9e9
Fix by Sean Reifschneider:
Guido van Rossum <guido@python.org>
parents:
7115
diff
changeset
|
320 #ifndef LOG_NEWS |
|
61467
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
321 #define LOG_NEWS LOG_MAIL |
|
8286
4c88cc62e9e9
Fix by Sean Reifschneider:
Guido van Rossum <guido@python.org>
parents:
7115
diff
changeset
|
322 #endif |
|
4c88cc62e9e9
Fix by Sean Reifschneider:
Guido van Rossum <guido@python.org>
parents:
7115
diff
changeset
|
323 #ifndef LOG_UUCP |
|
61467
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
324 #define LOG_UUCP LOG_MAIL |
|
8286
4c88cc62e9e9
Fix by Sean Reifschneider:
Guido van Rossum <guido@python.org>
parents:
7115
diff
changeset
|
325 #endif |
|
4c88cc62e9e9
Fix by Sean Reifschneider:
Guido van Rossum <guido@python.org>
parents:
7115
diff
changeset
|
326 #ifndef LOG_CRON |
|
61467
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
327 #define LOG_CRON LOG_DAEMON |
|
8286
4c88cc62e9e9
Fix by Sean Reifschneider:
Guido van Rossum <guido@python.org>
parents:
7115
diff
changeset
|
328 #endif |
|
4c88cc62e9e9
Fix by Sean Reifschneider:
Guido van Rossum <guido@python.org>
parents:
7115
diff
changeset
|
329 |
|
61467
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
330 PyModule_AddIntConstant(m, "LOG_SYSLOG", LOG_SYSLOG); |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
331 PyModule_AddIntConstant(m, "LOG_CRON", LOG_CRON); |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
332 PyModule_AddIntConstant(m, "LOG_UUCP", LOG_UUCP); |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
333 PyModule_AddIntConstant(m, "LOG_NEWS", LOG_NEWS); |
|
f197407bdba2
Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
48660
diff
changeset
|
334 return m; |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
335 } |
