Commit Graph

13093 Commits

Author SHA1 Message Date
Jack Jansen 0ed1148b75 added ucnhash (optional on USE_UCNHASH) and the mysteriously disappeared math. 2000-06-28 21:59:35 +00:00
Jack Jansen e641ba1e6a ucnhash and various other modules added. 2000-06-28 21:58:03 +00:00
Jack Jansen 2819146cc7 Added USE_UCNHASH (experimental, I hope it can go), USE_TOOLBOX and USE_QT. 2000-06-28 21:57:24 +00:00
Guido van Rossum ad89bbcd88 Trent Mick: change a few casts for Win64 compatibility. 2000-06-28 21:57:18 +00:00
Jack Jansen 2c9cb7aff3 Added USE_UCNHASH (experimental, I hope it can go) 2000-06-28 21:57:05 +00:00
Fred Drake 4e716fa0ac Skip Montanaro <skip@mojam.com>:
Added an example of using an HTTP POST request.
2000-06-28 21:51:43 +00:00
Guido van Rossum fa48116993 Trent Mick: use size_t instead of int where appropriate (time_strftime()). 2000-06-28 21:33:59 +00:00
Guido van Rossum e826895d48 Trent Mick: use size_t instead of int where appropriate (set_key()). 2000-06-28 21:31:10 +00:00
Guido van Rossum 26418a90f0 Trent Mick: use size_t instead of int where appropriate (call_readline()). 2000-06-28 21:30:31 +00:00
Guido van Rossum 2650a42f0b Trent Mick: use size_t instead of int where appropriate (mpz_format()). 2000-06-28 21:29:47 +00:00
Guido van Rossum b6f657c0cc Trent Mick: use size_t instead of int where appropriate (various spots). 2000-06-28 21:29:03 +00:00
Guido van Rossum 7d0ae5e14e Trent Mick: use size_t instead of int where appropriate (in
fromfile(), to hold fread() result.)
2000-06-28 21:27:21 +00:00
Guido van Rossum 2f8a054418 Trent Mick: use size_t instead of int where appropriate (in strxfrm(),
to hold strlen() outcome).
2000-06-28 21:23:33 +00:00
Guido van Rossum 3262e16753 Trent Mick:
This patches fixes a possible overflow of the optional timeout
parameter for the select() function (selectmodule.c). This timeout is
passed in as a double and then truncated to an int. If the double is
sufficiently large you can get unexpected results as it
overflows. This patch raises an overflow if the given select timeout
overflows.

[GvR: To my embarrassment, the original code was assuming an int could
always hold a million.  Note that the overflow check doesn't test for
a very large *negative* timeout passed in -- but who in the world
would do such a thing?]
2000-06-28 21:18:13 +00:00
Guido van Rossum 106f2dae86 Trent Mick:
Various small fixes to the builtin module to ensure no buffer
overflows.

- chunk #1:
Proper casting to ensure no truncation, and hence no surprises, in the
comparison.

- chunk #2:
The id() function guarantees a unique return value for different
objects.  It does this by returning the pointer to the object. By
returning a PyInt, on Win64 (sizeof(long) < sizeof(void*)) the pointer
is truncated and the guarantee may be proven false. The appropriate
return function is PyLong_FromVoidPtr, this returns a PyLong if that
is necessary to return the pointer without truncation.

[GvR: note that this means that id() can now return a long on Win32
platforms.  This *might* break some code...]

- chunk #3:
Ensure no overflow in raw_input(). Granted the user would have to pass
in >2GB of data but it *is* a possible buffer overflow condition.
2000-06-28 21:12:25 +00:00
Fred Drake 7388f730a3 Support constant as a font name for the first column of a table using the
tableii & friends markup family.
2000-06-28 21:06:08 +00:00
Guido van Rossum eceebb87d9 Jack Jansen: Moved includes to the top, removed think C support 2000-06-28 20:57:07 +00:00
Guido van Rossum 40ced50cb0 Jack Jansen: Mac Carbon: don't include sys/types if we don't have it 2000-06-28 20:56:30 +00:00
Guido van Rossum 9cb1cabb77 Jack Jansen: Removed support for long-dead Think C compiler 2000-06-28 20:55:34 +00:00
Guido van Rossum 6b7a5d8959 Jack Jansen: Removed Macintosh tab-guessing code 2000-06-28 20:54:53 +00:00
Guido van Rossum b7c298f806 Jack Jansen: Support for conditional inclusion of methods and functions 2000-06-28 20:53:33 +00:00
Fred Drake 35c09f2e51 Revise the description of when functions retrieved from class instances
are and are not turned into bound methods; some confusion was noted by
Andrew Dalke.

In particular, it has to be noted that functions located on the class
instance are not turned into any sort of method, only those which are
found via the underlying class.
2000-06-28 20:15:47 +00:00
Fred Drake 6da0b9148c Michael Hudson <mwh21@cam.ac.uk>:
As I really do not have anything better to do at the moment, I have written
a patch to Python/marshal.c that prevents Python dumping core when trying
to marshal stack bustingly deep (or recursive) data structure.

It just throws an exception; even slightly clever handling of recursive
data is what pickle is for...

[Fred Drake:]  Moved magic constant 5000 to a #define.

This closes SourceForge patch #100645.
2000-06-28 18:47:56 +00:00
Fred Drake 7833447f8f Trent Mick <trentm@activestate.com>:
Testing: test_array.py was also extended to check that one can set the
full range of values for each of the integral signed and unsigned
array types.

This closes SourceForge patch #100506.
2000-06-28 17:50:51 +00:00
Fred Drake 541dc3b7b2 Trent Mick <trentm@activestate.com>:
The cause: Relatively recent (last month) patches to getargs.c added
overflow checking to the PyArg_Parse*() integral formatters thereby
restricting 'b' to unsigned char value and 'h','i', and 'l' to signed
integral values (i.e. if the incoming value is outside of the
specified bounds you get an OverflowError, previous it silently
overflowed).

The problem: This broke the array module (as Fredrik pointed out)
because *its* formatters relied on the loose allowance of signed and
unsigned ranges being able to pass through PyArg_Parse*()'s
formatters.

The fix: This patch fixes the array module to work with the more
strict bounds checking now in PyArg_Parse*().

How: If the type signature of a formatter in the arraymodule exactly
matches one in PyArg_Parse*(), then use that directly. If there is no
equivalent type signature in PyArg_Parse*() (e.g. there is no unsigned
int formatter in PyArg_Parse*()), then use the next one up and do some
extra bounds checking in the array module.

This partially closes SourceForge patch #100506.
2000-06-28 17:49:30 +00:00
Fred Drake c82634c13c Thomas Wouters <thomas@xs4all.net>:
Documentation updates related to the addition of openpty() and forkpty().
2000-06-28 17:27:48 +00:00
Marc-André Lemburg 4e5302a27e Marc-Andre Lemburg <mal@lemburg.com>:
Perfect hash table generator. Outputs a Python extension module
which provides access to the hash table (which is stored in static
C data) using custom code.

This module can currently only generates code for the ucnhash
module, but can easily be adapted to produce perfect hash tables
for other tasks where fast lookup in large tables is needed.

By Bill Tutt.
2000-06-28 16:53:16 +00:00
Marc-André Lemburg c5bb9c21fe Marc-Andre Lemburg <mal@lemburg.com>:
Generator for the new ucnhash module (ucnhash.h|c). Uses perfect_hash.py
to create the ucnhash module.
2000-06-28 16:49:29 +00:00
Marc-André Lemburg 93c409a590 Marc-Andre Lemburg <mal@lemburg.com>:
Utility extension module needed by perfect_hash.py

By Bill Tutt.
2000-06-28 16:48:05 +00:00
Marc-André Lemburg 0f774e3987 Marc-Andre Lemburg <mal@lemburg.com>:
Patch to the standard unicode-escape codec which dynamically
loads the Unicode name to ordinal mapping from the module
ucnhash.

By Bill Tutt.
2000-06-28 16:43:35 +00:00
Marc-André Lemburg 2dabf69f5c Marc-Andre Lemburg <mal@lemburg.com>:
Added new ucnhash module by Bill Tutt.
2000-06-28 16:42:39 +00:00
Marc-André Lemburg b0c0ecfa26 Marc-Andre Lemburg <mal@lemburg.com>:
Added new ucnhash module.
2000-06-28 16:42:14 +00:00
Marc-André Lemburg 4a9188c557 Marc-Andre Lemburg <mal@lemburg.com>:
Updated test output.
2000-06-28 16:41:46 +00:00
Marc-André Lemburg a6f73d64c5 Marc-Andre Lemburg <mal@lemburg.com>:
Added tests for the new Unicode character name support in the
standard unicode-escape codec.
2000-06-28 16:41:23 +00:00
Fred Drake 8cef4cf737 Thomas Wouters <thomas@xs4all.net>:
This patch adds the openpty() and forkpty() library calls to posixmodule.c,
when they are available on the target
system. (glibc-2.1-based Linux systems, FreeBSD and BSDI at least, probably
the other BSD-based systems as well.)

Lib/pty.py is also rewritten to use openpty when available, but falls
back to the old SGI method or the "manual" BSD open-a-pty
code. Openpty() is necessary to use the Unix98 ptys under Linux 2.2,
or when using non-standard tty names under (at least) BSDI, which is
why I needed it, myself ;-) forkpty() is included for symmetry.
2000-06-28 16:40:38 +00:00
Marc-André Lemburg 5782386268 Marc-Andre Lemburg <mal@lemburg.com>:
MSVC project file for the new module ucnhash. This may have to
be added to pcbuild.dsw with an dependancy on python16.

By Bill Tutt.
2000-06-28 16:40:10 +00:00
Marc-André Lemburg 8fb8748a5f Marc-Andre Lemburg <mal@lemburg.com>:
New ucnhash module by Bill Tutt. This module contains the hash
table needed to map Unicode character names to Unicode ordinals
and is loaded on-the-fly by the standard unicode-escape codec.
2000-06-28 16:38:56 +00:00
Marc-André Lemburg 808d9b140e Marc-Andre Lemburg <mal@lemburg.com>:
Exports the C API of the new ucnhash module.

By Bill Tutt.
2000-06-28 16:37:24 +00:00
Fred Drake ec105d0993 Enhanced memory-reference information in the description of Py_BuildValue(),
based on response from Frank Stajano <fstajano@uk.research.att.com>.
2000-06-28 16:15:08 +00:00
Fred Drake cabbc3be5b Added documentation for PyOS_AfterFork(). 2000-06-28 15:53:13 +00:00
Fred Drake 2b9e180ec3 Added memory-reference information to the description of Py_BuildValue(),
based on comments from Frank Stajano <fstajano@uk.research.att.com>.
2000-06-28 15:32:29 +00:00
Fred Drake c19425d520 Added the atexit module and documentation from Skip Montanaro
<skip@mojam.com>.  Revisions to the markup to make it pass LaTeX, added
an index entry and a reference from the sys.exitfunc documentation.

This closes SourceForge patch #100620.
2000-06-28 15:07:31 +00:00
Jeremy Hylton a05e293a21 typos fixed by Rob Hooft 2000-06-28 14:48:01 +00:00
Marc-André Lemburg 7c014684c2 Marc-Andre Lemburg <mal@lemburg.com>:
Better error message for "1 in unicodestring". Submitted
by Andrew Kuchling.
2000-06-28 08:11:47 +00:00
Fred Drake e39607f27e Changed the #error to a #warning when checking gcc versions, and
noted the minimum recommended version in the message.
2000-06-28 03:54:48 +00:00
Andrew M. Kuchling 69db0e4a0b Added section on cycle GC
Various minor fixes
2000-06-28 02:16:00 +00:00
Greg Ward cc623a2574 Lyle Johnson: pass in temp directory as 'build_temp' argument when calling
'link_shared_object()'.
2000-06-28 01:29:37 +00:00
Greg Ward bfc79d644a Lyle Johnson: added 'build_temp' parameter to 'link_shared_{lib,object}()'
methods (but not 'link_executable()', hmmm).  Currently only used by
BCPPCompiler; it's a dummy parameter for UnixCCompiler and MSVCCompiler.

Also added 'bcpp' to compiler table used by 'new_compiler()'.
2000-06-28 01:29:09 +00:00
Greg Ward 7d9c705b23 Typo fix. 2000-06-28 01:25:27 +00:00
Greg Ward fe9b818b7d Lyle Johnson's interface to Borland C++, with a few editorial comments by me.
Two major points:
  * lots of overlap with MSVCCompiler; the common code really should be
    factored out into a base class, say WindowsCCompiler
  * it doesn't work: weird problem spawning the linker (see comment for
    details)
2000-06-28 01:20:35 +00:00