summaryrefslogtreecommitdiffstats
path: root/Doc/api/api.tex
diff options
context:
space:
mode:
authorFred Drake <fdrake@acm.org>2000-08-14 02:50:21 (GMT)
committerFred Drake <fdrake@acm.org>2000-08-14 02:50:21 (GMT)
commit510d08bfe4a24d8d4f2b5ff8df0874746a16cfe8 (patch)
treeb8850cfc5287b6b6bd57cd9312175e4ac44f8a11 /Doc/api/api.tex
parentb07cf5080f3f4e098677e6e0b3c28cfdd4c42ed3 (diff)
downloadcpython-510d08bfe4a24d8d4f2b5ff8df0874746a16cfe8.zip
cpython-510d08bfe4a24d8d4f2b5ff8df0874746a16cfe8.tar.gz
cpython-510d08bfe4a24d8d4f2b5ff8df0874746a16cfe8.tar.bz2
In the section on the "Very High Level Layer", address concerns brought up
by Edward K. Ream <edream@users.sourceforge.net> about FILE* values and incompatible C libraries in dynamically linked extensions. It is not clear (to me) how realistic the issue is, but it is better documented than not. This closes SourceForge bug #111520.
Diffstat (limited to 'Doc/api/api.tex')
-rw-r--r--Doc/api/api.tex9
1 files changed, 9 insertions, 0 deletions
diff --git a/Doc/api/api.tex b/Doc/api/api.tex
index bebe8dc..fe09550 100644
--- a/Doc/api/api.tex
+++ b/Doc/api/api.tex
@@ -597,6 +597,15 @@ parameter. The available start symbols are \constant{Py_eval_input},
\constant{Py_file_input}, and \constant{Py_single_input}. These are
described following the functions which accept them as parameters.
+Note also that several of these functions take \ctype{FILE*}
+parameters. On particular issue which needs to be handled carefully
+is that the \ctype{FILE} structure for different C libraries can be
+different and incompatible. Under Windows (at least), it is possible
+for dynamically linked extensions to actually use different libraries,
+so care should be taken that \ctype{FILE*} parameters are only passed
+to these functions if it is certain that they were created by the same
+library that the Python runtime is using.
+
\begin{cfuncdesc}{int}{PyRun_AnyFile}{FILE *fp, char *filename}
If \var{fp} refers to a file associated with an interactive device
(console or terminal input or \UNIX{} pseudo-terminal), return the