Mercurial > cpython-lru_cache-weakref
annotate Include/traceback.h @ 84007:dbfbdf2b5c19 3.3
Fix #17967: For ftp urls CWD to target instead of hopping to each directory
towards target. This fixes a bug where target is accessible, but parent
directories are restricted.
| author | Senthil Kumaran <senthil@uthcode.com> |
|---|---|
| date | Sat, 01 Jun 2013 08:27:06 -0700 |
| parents | 7e3ed426962f |
| children |
| rev | line source |
|---|---|
| 145 | 1 |
|
13443
7e58c060d534
ANSI-fication and Py_PROTO extermination.
Fred Drake <fdrake@acm.org>
parents:
13256
diff
changeset
|
2 #ifndef Py_TRACEBACK_H |
|
7e58c060d534
ANSI-fication and Py_PROTO extermination.
Fred Drake <fdrake@acm.org>
parents:
13256
diff
changeset
|
3 #define Py_TRACEBACK_H |
|
7e58c060d534
ANSI-fication and Py_PROTO extermination.
Fred Drake <fdrake@acm.org>
parents:
13256
diff
changeset
|
4 #ifdef __cplusplus |
|
7e58c060d534
ANSI-fication and Py_PROTO extermination.
Fred Drake <fdrake@acm.org>
parents:
13256
diff
changeset
|
5 extern "C" { |
|
7e58c060d534
ANSI-fication and Py_PROTO extermination.
Fred Drake <fdrake@acm.org>
parents:
13256
diff
changeset
|
6 #endif |
|
7e58c060d534
ANSI-fication and Py_PROTO extermination.
Fred Drake <fdrake@acm.org>
parents:
13256
diff
changeset
|
7 |
|
69070
b0680b5a5215
Issue #11393: Add the new faulthandler module
Victor Stinner <victor.stinner@haypocalc.com>
parents:
66664
diff
changeset
|
8 #include "pystate.h" |
|
b0680b5a5215
Issue #11393: Add the new faulthandler module
Victor Stinner <victor.stinner@haypocalc.com>
parents:
66664
diff
changeset
|
9 |
|
31739
49ec0d8f08ec
Moved tracebackobject to traceback.h, Closes SF Bug #497067
Nicholas Bastin <nick.bastin@gmail.com>
parents:
24752
diff
changeset
|
10 struct _frame; |
|
49ec0d8f08ec
Moved tracebackobject to traceback.h, Closes SF Bug #497067
Nicholas Bastin <nick.bastin@gmail.com>
parents:
24752
diff
changeset
|
11 |
| 86 | 12 /* Traceback interface */ |
|
66664
62b61abd02b8
Merge branches/pep-0384.
Martin v. Löwis <martin@v.loewis.de>
parents:
62389
diff
changeset
|
13 #ifndef Py_LIMITED_API |
|
31739
49ec0d8f08ec
Moved tracebackobject to traceback.h, Closes SF Bug #497067
Nicholas Bastin <nick.bastin@gmail.com>
parents:
24752
diff
changeset
|
14 typedef struct _traceback { |
|
62389
907f564476be
Issue #6543: Write the traceback in the terminal encoding instead of utf-8.
Victor Stinner <victor.stinner@haypocalc.com>
parents:
48499
diff
changeset
|
15 PyObject_HEAD |
|
907f564476be
Issue #6543: Write the traceback in the terminal encoding instead of utf-8.
Victor Stinner <victor.stinner@haypocalc.com>
parents:
48499
diff
changeset
|
16 struct _traceback *tb_next; |
|
907f564476be
Issue #6543: Write the traceback in the terminal encoding instead of utf-8.
Victor Stinner <victor.stinner@haypocalc.com>
parents:
48499
diff
changeset
|
17 struct _frame *tb_frame; |
|
907f564476be
Issue #6543: Write the traceback in the terminal encoding instead of utf-8.
Victor Stinner <victor.stinner@haypocalc.com>
parents:
48499
diff
changeset
|
18 int tb_lasti; |
|
907f564476be
Issue #6543: Write the traceback in the terminal encoding instead of utf-8.
Victor Stinner <victor.stinner@haypocalc.com>
parents:
48499
diff
changeset
|
19 int tb_lineno; |
|
31739
49ec0d8f08ec
Moved tracebackobject to traceback.h, Closes SF Bug #497067
Nicholas Bastin <nick.bastin@gmail.com>
parents:
24752
diff
changeset
|
20 } PyTracebackObject; |
|
66664
62b61abd02b8
Merge branches/pep-0384.
Martin v. Löwis <martin@v.loewis.de>
parents:
62389
diff
changeset
|
21 #endif |
|
2043
4ebee904924e
Lots of small things, see ChangeLog
Guido van Rossum <guido@python.org>
parents:
1746
diff
changeset
|
22 |
|
24752
c1eb668525e1
Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents:
22527
diff
changeset
|
23 PyAPI_FUNC(int) PyTraceBack_Here(struct _frame *); |
|
c1eb668525e1
Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents:
22527
diff
changeset
|
24 PyAPI_FUNC(int) PyTraceBack_Print(PyObject *, PyObject *); |
|
66664
62b61abd02b8
Merge branches/pep-0384.
Martin v. Löwis <martin@v.loewis.de>
parents:
62389
diff
changeset
|
25 #ifndef Py_LIMITED_API |
|
62389
907f564476be
Issue #6543: Write the traceback in the terminal encoding instead of utf-8.
Victor Stinner <victor.stinner@haypocalc.com>
parents:
48499
diff
changeset
|
26 PyAPI_FUNC(int) _Py_DisplaySourceLine(PyObject *, PyObject *, int, int); |
|
66664
62b61abd02b8
Merge branches/pep-0384.
Martin v. Löwis <martin@v.loewis.de>
parents:
62389
diff
changeset
|
27 #endif |
|
1329
519c25039c6a
* Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents:
1257
diff
changeset
|
28 |
|
22527
a2fe0ecd0ce2
backport akuchling's checkin of
Michael W. Hudson <mwh@python.net>
parents:
14375
diff
changeset
|
29 /* Reveal traceback type so we can typecheck traceback objects */ |
|
24752
c1eb668525e1
Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents:
22527
diff
changeset
|
30 PyAPI_DATA(PyTypeObject) PyTraceBack_Type; |
|
44351
86a2679dca46
#1629: Renamed Py_Size, Py_Type and Py_Refcnt to Py_SIZE, Py_TYPE and Py_REFCNT.
Christian Heimes <christian@cheimes.de>
parents:
42334
diff
changeset
|
31 #define PyTraceBack_Check(v) (Py_TYPE(v) == &PyTraceBack_Type) |
|
2841
64928f6a8e80
keyword arguments and faster function calls
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
32 |
|
69070
b0680b5a5215
Issue #11393: Add the new faulthandler module
Victor Stinner <victor.stinner@haypocalc.com>
parents:
66664
diff
changeset
|
33 /* Write the Python traceback into the file 'fd'. For example: |
|
b0680b5a5215
Issue #11393: Add the new faulthandler module
Victor Stinner <victor.stinner@haypocalc.com>
parents:
66664
diff
changeset
|
34 |
|
b0680b5a5215
Issue #11393: Add the new faulthandler module
Victor Stinner <victor.stinner@haypocalc.com>
parents:
66664
diff
changeset
|
35 Traceback (most recent call first): |
|
b0680b5a5215
Issue #11393: Add the new faulthandler module
Victor Stinner <victor.stinner@haypocalc.com>
parents:
66664
diff
changeset
|
36 File "xxx", line xxx in <xxx> |
|
b0680b5a5215
Issue #11393: Add the new faulthandler module
Victor Stinner <victor.stinner@haypocalc.com>
parents:
66664
diff
changeset
|
37 File "xxx", line xxx in <xxx> |
|
b0680b5a5215
Issue #11393: Add the new faulthandler module
Victor Stinner <victor.stinner@haypocalc.com>
parents:
66664
diff
changeset
|
38 ... |
|
b0680b5a5215
Issue #11393: Add the new faulthandler module
Victor Stinner <victor.stinner@haypocalc.com>
parents:
66664
diff
changeset
|
39 File "xxx", line xxx in <xxx> |
|
b0680b5a5215
Issue #11393: Add the new faulthandler module
Victor Stinner <victor.stinner@haypocalc.com>
parents:
66664
diff
changeset
|
40 |
|
b0680b5a5215
Issue #11393: Add the new faulthandler module
Victor Stinner <victor.stinner@haypocalc.com>
parents:
66664
diff
changeset
|
41 This function is written for debug purpose only, to dump the traceback in |
|
b0680b5a5215
Issue #11393: Add the new faulthandler module
Victor Stinner <victor.stinner@haypocalc.com>
parents:
66664
diff
changeset
|
42 the worst case: after a segmentation fault, at fatal error, etc. That's why, |
|
b0680b5a5215
Issue #11393: Add the new faulthandler module
Victor Stinner <victor.stinner@haypocalc.com>
parents:
66664
diff
changeset
|
43 it is very limited. Strings are truncated to 100 characters and encoded to |
|
b0680b5a5215
Issue #11393: Add the new faulthandler module
Victor Stinner <victor.stinner@haypocalc.com>
parents:
66664
diff
changeset
|
44 ASCII with backslashreplace. It doesn't write the source code, only the |
|
b0680b5a5215
Issue #11393: Add the new faulthandler module
Victor Stinner <victor.stinner@haypocalc.com>
parents:
66664
diff
changeset
|
45 function name, filename and line number of each frame. Write only the first |
|
b0680b5a5215
Issue #11393: Add the new faulthandler module
Victor Stinner <victor.stinner@haypocalc.com>
parents:
66664
diff
changeset
|
46 100 frames: if the traceback is truncated, write the line " ...". |
|
b0680b5a5215
Issue #11393: Add the new faulthandler module
Victor Stinner <victor.stinner@haypocalc.com>
parents:
66664
diff
changeset
|
47 |
|
b0680b5a5215
Issue #11393: Add the new faulthandler module
Victor Stinner <victor.stinner@haypocalc.com>
parents:
66664
diff
changeset
|
48 This function is signal safe. */ |
|
b0680b5a5215
Issue #11393: Add the new faulthandler module
Victor Stinner <victor.stinner@haypocalc.com>
parents:
66664
diff
changeset
|
49 |
|
69102
7e3ed426962f
Issue #11393: _Py_DumpTraceback() writes the header even if there is no frame
Victor Stinner <victor.stinner@haypocalc.com>
parents:
69070
diff
changeset
|
50 PyAPI_DATA(void) _Py_DumpTraceback( |
|
69070
b0680b5a5215
Issue #11393: Add the new faulthandler module
Victor Stinner <victor.stinner@haypocalc.com>
parents:
66664
diff
changeset
|
51 int fd, |
|
b0680b5a5215
Issue #11393: Add the new faulthandler module
Victor Stinner <victor.stinner@haypocalc.com>
parents:
66664
diff
changeset
|
52 PyThreadState *tstate); |
|
b0680b5a5215
Issue #11393: Add the new faulthandler module
Victor Stinner <victor.stinner@haypocalc.com>
parents:
66664
diff
changeset
|
53 |
|
b0680b5a5215
Issue #11393: Add the new faulthandler module
Victor Stinner <victor.stinner@haypocalc.com>
parents:
66664
diff
changeset
|
54 /* Write the traceback of all threads into the file 'fd'. current_thread can be |
|
b0680b5a5215
Issue #11393: Add the new faulthandler module
Victor Stinner <victor.stinner@haypocalc.com>
parents:
66664
diff
changeset
|
55 NULL. Return NULL on success, or an error message on error. |
|
b0680b5a5215
Issue #11393: Add the new faulthandler module
Victor Stinner <victor.stinner@haypocalc.com>
parents:
66664
diff
changeset
|
56 |
|
b0680b5a5215
Issue #11393: Add the new faulthandler module
Victor Stinner <victor.stinner@haypocalc.com>
parents:
66664
diff
changeset
|
57 This function is written for debug purpose only. It calls |
|
b0680b5a5215
Issue #11393: Add the new faulthandler module
Victor Stinner <victor.stinner@haypocalc.com>
parents:
66664
diff
changeset
|
58 _Py_DumpTraceback() for each thread, and so has the same limitations. It |
|
b0680b5a5215
Issue #11393: Add the new faulthandler module
Victor Stinner <victor.stinner@haypocalc.com>
parents:
66664
diff
changeset
|
59 only write the traceback of the first 100 threads: write "..." if there are |
|
b0680b5a5215
Issue #11393: Add the new faulthandler module
Victor Stinner <victor.stinner@haypocalc.com>
parents:
66664
diff
changeset
|
60 more threads. |
|
b0680b5a5215
Issue #11393: Add the new faulthandler module
Victor Stinner <victor.stinner@haypocalc.com>
parents:
66664
diff
changeset
|
61 |
|
b0680b5a5215
Issue #11393: Add the new faulthandler module
Victor Stinner <victor.stinner@haypocalc.com>
parents:
66664
diff
changeset
|
62 This function is signal safe. */ |
|
b0680b5a5215
Issue #11393: Add the new faulthandler module
Victor Stinner <victor.stinner@haypocalc.com>
parents:
66664
diff
changeset
|
63 |
|
b0680b5a5215
Issue #11393: Add the new faulthandler module
Victor Stinner <victor.stinner@haypocalc.com>
parents:
66664
diff
changeset
|
64 PyAPI_DATA(const char*) _Py_DumpTracebackThreads( |
|
b0680b5a5215
Issue #11393: Add the new faulthandler module
Victor Stinner <victor.stinner@haypocalc.com>
parents:
66664
diff
changeset
|
65 int fd, PyInterpreterState *interp, |
|
b0680b5a5215
Issue #11393: Add the new faulthandler module
Victor Stinner <victor.stinner@haypocalc.com>
parents:
66664
diff
changeset
|
66 PyThreadState *current_thread); |
|
b0680b5a5215
Issue #11393: Add the new faulthandler module
Victor Stinner <victor.stinner@haypocalc.com>
parents:
66664
diff
changeset
|
67 |
|
b0680b5a5215
Issue #11393: Add the new faulthandler module
Victor Stinner <victor.stinner@haypocalc.com>
parents:
66664
diff
changeset
|
68 |
|
1329
519c25039c6a
* Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents:
1257
diff
changeset
|
69 #ifdef __cplusplus |
|
519c25039c6a
* Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents:
1257
diff
changeset
|
70 } |
|
519c25039c6a
* Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents:
1257
diff
changeset
|
71 #endif |
|
519c25039c6a
* Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents:
1257
diff
changeset
|
72 #endif /* !Py_TRACEBACK_H */ |
