Commit Graph

971 Commits

Author SHA1 Message Date
Guido van Rossum fe4dfc7ce3 Add platform to welcome message. 1997-05-19 18:33:01 +00:00
Guido van Rossum 5a37d7d150 Renamed strndup to my_strndup to avoid conflict witth GNU libc. 1997-05-16 16:36:52 +00:00
Guido van Rossum 1a747f894a Address the following problem on DOS and Win 3.1, reported by Jim
Ahlstrom:

Arraymodule.c has static functions H_getitem and h_getitem, and a
few others which differ only in case.  These are a problem on
Windows 3.1, since a case-sensitive link causes Winsock to fail
(hey, it's not my fault).  Please convert H_etc to HH_etc etc.
1997-05-16 16:21:38 +00:00
Guido van Rossum fe28fa05e9 Remove the last three uses of PyArg_GetInt() from the source. 1997-05-15 19:09:26 +00:00
Guido van Rossum 1cbdfb9187 Add sections for PIL (Fred Lundh). 1997-05-14 19:22:11 +00:00
Guido van Rossum fc4f503762 Fix showstopping bug (^ wouldn't match after \n). Jeffrey Ollie. 1997-05-14 18:27:51 +00:00
Guido van Rossum 34570d7669 A new set of symbols. Hopefully this will be sufficient, I have no
idea how this is used, really.
1997-05-14 17:59:37 +00:00
Guido van Rossum 445efa9602 Add a cast to a malloc to shut up the DEC Unix compiler. 1997-05-14 15:30:32 +00:00
Guido van Rossum 7d3246d0e4 Keep gcc -Wall happy. 1997-05-13 19:19:41 +00:00
Guido van Rossum de8d6d73fb Use compile-time test for 64-bit hardware instead of run-time test.
This silences some compilers.
1997-05-13 18:00:44 +00:00
Guido van Rossum 2ef21efad3 Removed symbols that are no longer defined.
Still have to find a way to add symbols that *are* defined...
1997-05-13 17:56:38 +00:00
Guido van Rossum 4917d93ca9 Keep picky compilers happy. 1997-05-13 17:53:34 +00:00
Guido van Rossum d77636216c Another change suggested by Donn Cave -- forget "step 5", which
searches /usr/local, /usr and /.
1997-05-12 20:53:23 +00:00
Guido van Rossum 573a24a4f7 Fix problem reported by Donn Cave: if VPATH is an absolute path, it
would always be a hit.   Prevent this by only using VPATH if we know
we are in the build directory.
1997-05-12 20:49:39 +00:00
Guido van Rossum 4a807f5939 Fix big ineficciency in regobj.search/match (introduced by Barry in an
otherwise laudible attempt to rationalize the argument parsing): it
would save a copy of the original string instead of a reference to it.
Go back to saving a reference, but keep the "s#" format (using a hack
that involves two argument parsing steps, first using "O", then using
"s#").
1997-05-12 16:04:09 +00:00
Guido van Rossum 004c1e1d07 Latest from Jeffrey Ollie.
Infinite failure stack, some bugs fixed (fastmap, star_jump, register bug).
1997-05-09 02:35:58 +00:00
Guido van Rossum db4a629ba0 Avoid warning from gcc on Linux about dropping const. 1997-05-09 02:17:12 +00:00
Guido van Rossum ee2373b930 Oops, missed some renamings. 1997-05-07 23:51:07 +00:00
Guido van Rossum b05a5c7698 Instead of importing graminit.h whenever one of the three grammar 'root'
symbols is needed, define these in Python.h with a Py_ prefix.
1997-05-07 17:46:13 +00:00
Guido van Rossum 8813b58ffa On popular demand, re-enable the readline event hook. 1997-05-07 17:42:41 +00:00
Guido van Rossum aa948df877 In makesockaddr(), if we don't know the address family, don't raise an
exception -- return it as a tuple.  Seems useful in promiscuous mode.
1997-05-07 17:41:48 +00:00
Guido van Rossum fdf95dd525 Checkin of Jack's buffer mods.
Not really checked, but didn't fail any tests either...
1997-05-05 22:15:02 +00:00
Guido van Rossum a027efa5bf Massive changes for separate thread state management.
All per-thread globals are moved into a struct which is manipulated
separately.
1997-05-05 20:56:21 +00:00
Guido van Rossum d3d6f8ffad Add -lgl and -lm for imgfile. Better way to configure zlib. 1997-05-05 20:48:00 +00:00
Guido van Rossum 03ef647847 Add PYTHONHOME to the usage message. 1997-04-30 19:48:59 +00:00
Guido van Rossum ebde385fc0 One copy is enough; we already had resource.c. 1997-04-30 19:43:15 +00:00
Guido van Rossum 1ed5e57684 Keep gcc -Wall happy. 1997-04-29 21:34:16 +00:00
Guido van Rossum 87490eb3b0 Renamed inittab. 1997-04-29 20:31:59 +00:00
Guido van Rossum e2b4f0906d Track updates in rename2.h. 1997-04-29 16:27:09 +00:00
Guido van Rossum 8105821bf5 Added -I$(srcdir) to line for glmodule so we can move cgensupport.h here. 1997-04-29 16:07:45 +00:00
Guido van Rossum ba9d7c5612 Change the exception objects to have the string value "os.error"
instead "posix.error" or "nt.error".
1997-04-29 15:49:54 +00:00
Guido van Rossum 8ec9e639ab Adapt Mac specific code to new universal headers (I think -- this is
Jack's code).
1997-04-29 15:49:04 +00:00
Guido van Rossum dfed920e51 Hm. What was previously checked in was the edited *output* of the old
cgen.py.  Now that cgen.py and cstubs have been quickly renamed, check
in the actual output.  This has some "old-style" names left in
(getilongarg etc.) but these are now take care of by macros in
cgensupport.h (which is now specific to glmodule.c).
1997-04-29 15:46:43 +00:00
Guido van Rossum 3837de00a9 Moved here from ../Python and quickly renamed. 1997-04-29 15:43:55 +00:00
Guido van Rossum 4f1099fcf4 Added cgensupport.o. 1997-04-29 15:41:53 +00:00
Guido van Rossum 7fa3b75f28 Added cgensupport.c to Setup line for gl module.
Addeed Andrew Kuchling's zlib module.
1997-04-29 15:41:26 +00:00
Guido van Rossum 9e3a812306 Added Jeremy's resource module. 1997-04-29 15:39:45 +00:00
Guido van Rossum 0a3eaf0838 Quickly renamed. 1997-04-29 15:39:28 +00:00
Guido van Rossum fb221562a3 Added Andrew Kuchling's zlib module. 1997-04-29 15:38:09 +00:00
Guido van Rossum 1818b7702b Moved rename2's macros relevant to this module here and added comment
about the file's obsolescence.
1997-04-29 15:35:28 +00:00
Guido van Rossum b31c7dcb43 OK, I lied. On Windows, _IOLBF seems to be the same as full
buffering, so to get the normal behavior back, I set it to
unbuffered.
1997-04-11 22:19:12 +00:00
Guido van Rossum 2a212191f8 Change in when and how stdin and stdout are set to line-buffering.
This used to be done whenever stdin was interactive.  Now we only do
it when the -i flag is given.  Also (and this is the real reason for
this fix) we explicitly allocate a buffer -- this seems to be
necessary on Windows.
1997-04-11 21:57:53 +00:00
Guido van Rossum 7844e38a98 Keep Microsoft VC happy. 1997-04-11 20:44:04 +00:00
Guido van Rossum 6bf62dad9e Keep gcc -Wall and Microsoft VC happy. 1997-04-11 20:37:35 +00:00
Barry Warsaw 90126035ca Removed two unused static function: string_addsep() and
string_append().  These must be artifacts of GvR's rewrite.

Fixed some typos in the leading comment (and re-filled the
paragraphs).

Hope you don't mind, Guido.
1997-04-11 20:27:03 +00:00
Guido van Rossum 3dc35b0c66 My own patch: support writable 'softspace' attribute. 1997-04-11 19:56:06 +00:00
Guido van Rossum fd16d9438d (Jack:) fopen arg typo (?) "rw" changed to "rb". 1997-04-11 19:12:20 +00:00
Guido van Rossum fb421c82a9 (Jack:) Mac only: get GUSI errno.h values too. 1997-04-11 19:11:25 +00:00
Guido van Rossum 3d82972b85 Remove the Emacs shell-script line. It's not a shell script. 1997-04-11 18:42:45 +00:00
Guido van Rossum 97227814a9 The default path components are now all relative instead of absolute paths.
This completes the getpath.c checkin.  Note that to enable this in an
existing build tree, you'll have to edit your Setup and Setup.in file
to remove the $(DESTLIB) from all the PATH variable definitions.
1997-04-11 17:19:54 +00:00
Guido van Rossum 305e5d0d4f Completely revamped the way the default path is constructed.
Idea and first three implementation rounds due to Barry -- after that
I spent another day on it, hopefully it's enough for now :-)

(Wait for the checkin to Setup.in.)
1997-04-11 17:18:45 +00:00
Guido van Rossum ec61b77216 Pass VERSION and VPATH into getpath.c. 1997-04-11 17:04:49 +00:00
Guido van Rossum 1e0b19e9e4 Bugfix by Sjoerd:
/* x_ocount is in bytes, wheras play.samples is in frames */
	/* we want frames */
1997-04-11 15:23:52 +00:00
Guido van Rossum 644a12b00c Tweaks to keep the Microsoft compiler quier. 1997-04-09 19:24:53 +00:00
Guido van Rossum d385d59c09 Give PyErr_Format a new name and make it static. 1997-04-09 17:47:47 +00:00
Guido van Rossum 60456fdcfe Jim Fulton's version 2.2. 1997-04-09 17:36:32 +00:00
Guido van Rossum 154417e27b Unknown changes by Jim Fulton. 1997-04-09 17:35:33 +00:00
Guido van Rossum d641d67b89 New version by Sjoerd, with support for IRIX 6 audio library. 1997-04-03 17:06:32 +00:00
Guido van Rossum 101923bba6 Added replace() implementation by Perry Stoll (debugged and reformatted by me). 1997-04-02 06:11:18 +00:00
Guido van Rossum 3917c22125 Win32 precision clock() -- Mark Hammond. 1997-04-02 05:35:28 +00:00
Guido van Rossum 9bf8445541 Support include statement :-( 1997-04-02 05:33:00 +00:00
Guido van Rossum 925e547fcc Support assert stmt. 1997-04-02 05:32:13 +00:00
Guido van Rossum 9199f62aa1 remove ConflictError 1997-03-31 17:19:05 +00:00
Roger E. Masse e5a9c8fa31 As per GvR recomendation, added support for a 'sync' attribute for the
GDBM module.
1997-03-25 17:39:56 +00:00
Guido van Rossum 45b83915f8 New form of PyFPE_END_PROTECT macro. 1997-03-14 04:32:50 +00:00
Guido van Rossum 1aeb1047ba Include setjmp.h so it compiles if WANT_SIGFPE_HANDLER is undefined. 1997-03-14 04:32:25 +00:00
Guido van Rossum 7b7c578616 Add optional 4th argument to [r]find and [r]index (end of slice). 1997-03-14 04:13:56 +00:00
Guido van Rossum 159b77fd5e Add Emacs shell-script directive, SunPro version#, and fix typo 1997-03-04 23:44:15 +00:00
Guido van Rossum 53bb550a5f Solaris and IRIX specific instructions for fpectl. 1997-03-04 23:36:04 +00:00
Guido van Rossum 7614da6b87 Add -O option which sets Py_OptimizeFlag to avoid emitting SET_LINENO.
Fred: sorry, I hadn't checked these changes in.  This should fix your
tracebacks!
1997-03-03 19:14:45 +00:00
Guido van Rossum 5680906cdb Change all three fopen calls to use binary mode. 1997-02-21 15:19:03 +00:00
Guido van Rossum 05bc4af47d Lee's next version. Careful: this now dumps core for me on SGI IRIX 5.3.
Lee is wondering whether to withdraw his patchs.  Sigh.
1997-02-21 01:22:47 +00:00
Barry Warsaw 909d7c3284 regex_get_syntax(): New module function exported to Python. 1997-02-18 18:48:50 +00:00
Guido van Rossum 10efb05d51 Add fpectl and fpetest modules. 1997-02-14 23:03:31 +00:00
Guido van Rossum 52fa3a6909 Changes for Lee Busby's SIGFPE patch set.
Two new modules fpectl and fpetest.
Surround various and sundry f.p. operations with PyFPE_*_PROTECT macros.
1997-02-14 22:59:58 +00:00
Guido van Rossum 129e91aa77 Add parentheses around && within || as gcc -Wall advises. 1997-02-14 21:00:50 +00:00
Guido van Rossum 775af91911 My version of Lee Busby's patches to make '-i' pretend stdin is a tty
even if it isn't.  Changes:

- set the global flag Py_InteractiveFlag when -i is given
- call Py_FdIsInteractive() instead of isatty()
- make stdin unbuffered, too, when using -u
- make stdin and stdout line buffered, when stdin is interactive and not -u

Note that setting the environment variable PYTHONINSPECT does not have
these extra effects of -i.  (Should it?)

Unlike Lee's changes, I don't set change the prompt to go to stderr
when -i is given.
1997-02-14 19:50:32 +00:00
Guido van Rossum babacb0369 Added .cxx and .cpp to extensions recognized as source files. 1997-02-14 16:44:04 +00:00
Guido van Rossum c1cc8ab1a4 djgpp fix (SIGMAX). 1997-02-14 16:35:36 +00:00
Guido van Rossum a78bfe1985 Issue a more meaningful error if strftime keeps returning a NULL pointer.
Run the loop up to and including 8k.
1997-02-14 16:35:10 +00:00
Guido van Rossum 1851a67695 Changes by Sjoerd (reformatted).
add(): better handling of overflow (substitute maxval instead of
throwing away higher order bits).

ratecv(): some bugfixes, Sjoerd says.
1997-02-14 16:14:03 +00:00
Barry Warsaw 5ed19dcc0e posix_execve(): Accept any mapping protocol object for the env
argument, not hardwired to a dictionary.
1997-01-29 15:08:24 +00:00
Guido van Rossum 47110d7f44 Change bsddbmodule.o -> bsddbmodule.c. 1997-01-28 02:21:56 +00:00
Guido van Rossum bd5f193ee5 Added LDLAST variable, substituted by configure script, for the final
argument to the linker (required for DEC Alpha threads).
1997-01-28 02:21:24 +00:00
Guido van Rossum 463e55a916 Two more arguments to newcodeobject -- first lineno and lineno table. 1997-01-24 03:58:52 +00:00
Guido van Rossum f2b2dac5eb Initialize the ob_type field of PyAST_Type dynamically (in
initparser()) instead of statically (in the initializer).  The static
initialization, using the address of an object in a different DLL, is
too much for the Microsoft VC++ compiler, and we want to be able to
build this module as a separate DLL (it's nice to have but we don't
want to increase the core DLL's size by 25K).  This same trick has
been applied to a number of modules, e.g. NumPy and _tkinter.
1997-01-23 23:29:44 +00:00
Guido van Rossum f631d13ac7 Bump install version to 1.5. 1997-01-22 03:45:38 +00:00
Guido van Rossum fcdd0e40a4 Arrange for PyErr_CheckSignals() to be called via Py_AddPendingCall().
This avoids having to call sigcheck() (the same routine by its old
name :-) in the ticker code in ceval.c's main interpreter loop.
1997-01-21 06:13:09 +00:00
Guido van Rossum 2fff2e6b05 work build# into version string 1997-01-20 18:34:26 +00:00
Guido van Rossum 3e7ae7ab17 Fix the _setmode() patch for MS_WINDOWS: include <fcntl.h> and use
fileno(std*).
1997-01-17 22:05:38 +00:00
Guido van Rossum e9fd28dae5 Add stacksize argument to new.code(). 1997-01-17 21:12:06 +00:00
Roger E. Masse c905fffa15 Added Sjoerd's submitted 'ratecv' method. Made corrections for new names.
Reindented.
1997-01-17 18:12:04 +00:00
Roger E. Masse ed648a25bd Renamed, but not tested. Guido will you try your test script on this? 1997-01-17 16:08:55 +00:00
Roger E. Masse e474fb36ab Renamed. 1997-01-17 16:00:02 +00:00
Barry Warsaw e886ea916e (puremodule.c): New module which exports the Purify and Quantify C API
to Python.  Minimal documentation is included in comments at the top
of the file, and in the Misc/PURIFY.README file.  Note that this
module must be statically linked since Pure doesn't provide shared
stubs libraries.

(Setup.in): Added commented template for pure module

(syslogmodule.c): ins() function wasn't declared static.
1997-01-17 00:01:33 +00:00
Roger E. Masse d9240d19b2 Already renamed. Indented. 1997-01-16 22:05:33 +00:00
Roger E. Masse 5f4ce18898 Renamed. 1997-01-16 17:10:22 +00:00
Barry Warsaw 47d3500787 set_key(): Use Py_CHARMASK macro to get the character from the array
unsigned.  This fixes the 8bit-char-in-key platform incompatibility.

I also removed the old backwards compatibility code, and the commented
lisp rotor code.  I retained the lisp docstrings as comments preceding
each function.
1997-01-16 16:49:44 +00:00
Barry Warsaw fa701a88ab reformatted
memory leak in Tkapp_(Create|Delete)FileHandler plugged.

standard eyeballing
1997-01-16 00:15:11 +00:00
Barry Warsaw 9a0313cd62 Removed _xdr module 1997-01-14 18:20:26 +00:00
Barry Warsaw 93d29b6895 Eliminated gcc -Wall complaints:
- Quieted gcc -Wall by removing unused local variables.

    - Added some choice parentheses around assignments in conditional
      tests.

    - Removed an unused (and seemingly unreachable) err label in
      load_short_binstring().

    - in Unpickler_load(), removed \. in string format.

    - init_stuff() was declared to return an int, but had these
      problems:

	- it was returning NULL instead of 0 or 1 in some cases
	- it was falling of the end of the routine without returning
	  anything
	- the call of init_stuff() in initcPickle() was never checking
	  the return value anyway.

      I changed all this by returning 1 in the case of errors, 0 when
      no error occurred.  Then in initcPickle(), if init_stuff()
      returns non-zero, I call Py_FatalError().

Suppressing my urge to reformat according to Python coding standards!
:-)
1997-01-14 17:45:08 +00:00
Barry Warsaw 61a63e152d Quieted gcc -Wall by removing unused local variables.
Suppressing my urge to reformat according to Python coding standards!
:-)
1997-01-14 17:38:28 +00:00
Barry Warsaw 54dbf02da2 Quieted gcc -Wall by removing unused local variables. 1997-01-14 17:37:32 +00:00
Barry Warsaw 845a4c6bb7 Formatting. 1997-01-14 17:36:36 +00:00
Barry Warsaw 41317d120d Obsolete, now that xdrlib.py uses the new-and-improved struct module. 1997-01-14 17:34:06 +00:00
Barry Warsaw 58d40a7400 Renamed. 1997-01-13 22:57:42 +00:00
Barry Warsaw 4a6cf4167b Formatting, and minor error detection 1997-01-13 22:44:55 +00:00
Barry Warsaw 64278cf5f7 initthread(): Removed extraneous Py_INCREF(ThreadError) 1997-01-13 22:09:43 +00:00
Guido van Rossum 9c6ba5e901 Fix leak involving BuildValue("...O..."). 1997-01-12 20:02:04 +00:00
Guido van Rossum ee88ff9d05 Add entries for cStringIO and cPickle 1997-01-11 19:29:30 +00:00
Guido van Rossum f22d7e2c69 On Windows, -u implies binary mode for stdin/stdout
(as well as unbuffered stdout/stderr).
1997-01-11 19:28:55 +00:00
Barry Warsaw 5709dcfaec The usual return-value and memory management checks. I'm not planning
a test for this module though (it does compile at least on Solaris
2.5)
1997-01-10 18:42:18 +00:00
Barry Warsaw 43a476ac00 Formatting changes, plus memory management in initsyslog() 1997-01-09 23:51:21 +00:00
Barry Warsaw 73a75eb79b initsignal(): Py_DECREFs really should be Py_XDECREFs in case the
PyInt_FromLong's failed.
1997-01-09 23:50:28 +00:00
Barry Warsaw 42185a2d7a Plugged a couple of potential return value problems, memory leaks, and
descriptor leaks.
1997-01-09 22:29:57 +00:00
Barry Warsaw 2dc8c2c26b Primarily formatting changes, but I also plugged a couple of potential
return value problems, memory leaks, and descriptor leaks.
1997-01-09 22:29:12 +00:00
Barry Warsaw 4bc9d39560 Nailed a couple of memory leaks, caught by Purify. 1997-01-09 22:22:05 +00:00
Guido van Rossum 2f4caa4c48 cPickle, version 0.1. 1997-01-06 22:59:08 +00:00
Guido van Rossum 55702f8d6a Jim's latest version. 1997-01-06 22:57:52 +00:00
Barry Warsaw d4ff1b908b New strop_joinfields implementation, highly optimized for Lists. All
other sequences use the Sequence protocol from the abstract API.  The
algorithm has changed so that only one pass through the sequences are
made.
1997-01-06 22:48:32 +00:00
Guido van Rossum e0548b8da7 Rewrote translate() as follows:
- 'delete' is a C++ keyword; use 'del_table' instead
	- apply Py_CHARMASK() to del_table[i] before using it as an index
	  *** this fixes a bug that was just reported on the list ***
	- if the translation didn't make any changes, INCREF and return
	  the original string
	- when del_table is empty or omitted, don't copy the translation
	  table to a table of ints (should be a bit faster)

Rewrote maketrans() to avoid copying the table (2-3% faster).
1997-01-06 16:50:09 +00:00
Barry Warsaw 04d2d15b6b strop_upper(), strop_lower(): shared code version caused to much of a
performance hit.  Urg.  Reverted.

strop_joinfields(): re-instate optimizations for lists and tuples, but
support arbitrary other kinds of sequences as well.
1997-01-03 23:46:51 +00:00
Roger E. Masse bf0c3ca9bd Renamed but not well tested. 1997-01-03 23:00:51 +00:00
Barry Warsaw e8fc29cde7 Several changes:
- split_whitespace(): slightly better memory ref handling when errors
  occur.

- strop_joinfields(): First argument can now be any sequence-protocol
  conformant object.

- strop_find(), strop_rfind(): Use PyArg_ParseTuple for optional
  arguments

- strop_lower(), strop_upper(): Factor logic into a common function
  do_casechange().

- strop_atoi(), strop_atol(): Use PyArg_ParseTuple.

- strop_maketrans(): arguments used to be optional, although the
  documentation doesn't reflect this.  Make the source conform to the
  docs.  Arguments are required, but two empty strings will return the
  identity translation table.

- General pass fixing up formatting, and checking for return values.
1997-01-03 22:45:34 +00:00
Roger E. Masse a2a8b27221 Renamed, but not throughly tested. 1997-01-03 22:40:34 +00:00
Roger E. Masse 7ba4c07768 Renamed, but untested. 1997-01-03 22:17:11 +00:00
Guido van Rossum 9bc7e0af50 Added PyLong*UnsignedLong and PyCobject interfaces. 1997-01-03 21:05:44 +00:00
Roger E. Masse eaa6e1102f Renamed, reindented. (was already partially complete) 1997-01-03 19:26:27 +00:00
Guido van Rossum 549ab711aa Add new formats B, H, I, L for unsigned data types (analogous to the
recent changes in the struct module).
1997-01-03 19:09:47 +00:00
Guido van Rossum 6c87ecaff1 Changed the ``add/sub_offset'' hacks for dealing with C's unsigned
int/long types, and use the new PyLong_FromUnsignedLong() and
PyLong_AsUnsignedLong() interfaces instead.

Semantic change: the 'I' format will now always return a long int.
1997-01-03 19:08:16 +00:00
Roger E. Masse 5b0eba3ced Reindented. 1997-01-03 18:51:01 +00:00
Barry Warsaw 752300bbdf Check of return values and proper error handling. 1997-01-03 17:18:10 +00:00
Guido van Rossum b9d338cbfb Fill pad bytes with zeros (fixing a bug dating from the very first version!). 1997-01-03 15:40:33 +00:00
Barry Warsaw b9a781e177 Scratch the ears of gcc -Wall. 1997-01-03 00:26:28 +00:00
Barry Warsaw 929711765e Several changes:
- Conform to standard Python C coding styles.

- All static symbols were renamed and shorted.

- Eyeballed all return values and memory references.

- Fixed a bug in signal.pause() so that exceptions raised in signal
  handlers are now properly caught after pause() returns.

- Removed SIGCPU and SIGFSZ.  We surmise that these were typos for the
  previously missing SIGXCPU and SIGXFSZ.
1997-01-03 00:14:25 +00:00
Guido van Rossum 4ccc531f34 Ok, ok, I've fixed gradual underflow on packing too.
Still don't know what to do with Inf/NaN, so I raise an exception on
pack(), and something random decided by ldexp() will happen on
unpack().
1997-01-02 23:23:20 +00:00
Guido van Rossum 07ef655222 Oops -- unpack float/double didn't do the right thing if e==0. 1997-01-02 22:31:07 +00:00
Guido van Rossum 74679b455f Support float and double in non-native formats.
These use the ANSI/IEEE standard, which is also used by XDR;
so the _xdr module may become obsolete.
1997-01-02 22:21:36 +00:00
Barry Warsaw 9e3fceb5b3 rotorobj_setkey(): A single string argument is now required (i.e. no
long optional with nearly-no-op missing).
1997-01-02 20:36:36 +00:00
Guido van Rossum 60c50614e1 Added better handling of unsigned longs -- a Python long returned by
unpack('L', ...) is now acceptable to pack('L', ...).
1996-12-31 16:29:52 +00:00
Guido van Rossum 3aa27fd315 Fix the first bugs... treatment of 0 count was wrong, and memchr()
should be memset().
1996-12-31 02:10:45 +00:00
Guido van Rossum f7e6b4b388 Pretty much rewritten to fulfull several long-standing wishes:
-- The whole implementation is now more table-driven.

-- Unsigned integers.  Format characters 'B', 'H', 'I' and 'L'
mean unsigned byte, short, int and long.  For 'I' and 'L', the return
value is a Python long integer if a Python plain integer can't
represent the required range (note: this is dependent on the size of
the relevant C types only, not of the sign of the actual value).

-- A new format character 's' packs/unpacks a string.  When given a
count prefix, this is the size of the string, not a repeat count like
for the other format characters; e.g. '10s' means a single 10-byte
string, while '10c' means 10 characters.  For packing, the string is
truncated or padded with null bytes as appropriate to make it fit.
For unpacking, the resulting string always has exactly the specified
number of bytes.  As a special case, '0s' means a single, empty
string (while '0c' means 0 characters).

-- Various byte order options.  The first character of the format
string determines the byte order, size and alignment, as follows:

First character		Byte order		size and alignment

	'@'		native			native
	'='		native			standard
	'<'		little-endian		standard
	'>'		big-endian		standard
	'!'		network (= big-endian)	standard

If the first character is not one of these, '@' is assumed.

Native byte order is big-endian or little-endian, depending on the
host system (e.g. Motorola and Sun are big-endian; Intel and DEC are
little-endian).

Native size and alignment are determined using the C compiler's sizeof
expression.  This is always combined with native byte order.

Standard size and alignment are as follows: no alignment is required
for any type (so you have to use pad bytes); short is 2 bytes; int and
long are 4 bytes.  In this mode, there is no support for float and
double.

Note the difference between '@' and '=': both use native byte order,
but the size and alignment of the latter is standardized.

The form '!' is available for those poor souls who can't remember
whether network byte order is big-endian or little-endian.

There is no way to indicate non-native byte order (i.e. force
byte-swapping); use the appropriate choice of '<' or '>'.
1996-12-31 01:41:25 +00:00
Roger E. Masse fbd1d74286 Renamed.
However: "cgensupport.h" is still present... otherwise I get
	maaaany type errors... not sure if this needs more attention.
1996-12-24 19:39:23 +00:00
Barry Warsaw aeb207c6b6 Reworked to check for memory problems (one potential found),
non-checked error return values, and where appropriate,
PyArg_ParseTuple() style argument parsing.

I also changed some function names and converted all malloc/free calls
to PyMem_NEW/PyMem_DEL.

Some stylistic changes and formatting standardization.
1996-12-23 23:36:24 +00:00
Roger E. Masse 7f33e403a4 Renamed. 1996-12-20 21:56:08 +00:00
Barry Warsaw c357325663 Several changes. Test program to follow.
- Where optional arguments were being used, converted to
  PyArg_ParseTuple() style instead of nested PyArg_Parse() style.

- Check for and handle many potential error conditions that were never
  being tested.

- internal reg_* functions renamed to regobj_* (makes it easier to
  figure out which are global regex functions and which are for regex
  objects).

- reg_group (now regobj_group) was quite extensively reworked.  it no
  longer recurses to do its job (by factoring core functionality into
  a separate function that knows about string and integer indexes).

- some minor formatting fixes.

- regex_set_syntax() now invalidates the cache.  Without this change
  (in the example below), the second search would produce different
  output depending on whether the first search were performed or not
  (since performing the first search would cache the compiled object
  with RE_SYNTAX_EMACS, causing the second test to unexpectedly fail).

  regex.search('(a+)|(b+)', 'cdb')
  prev = regex.set_syntax(RE_SYNTAX_AWK)
  regex.search('(a+)|(b+)', 'cdb')
1996-12-20 21:56:07 +00:00
Roger E. Masse a141f8a31a Renamed. 1996-12-20 20:50:39 +00:00
Barry Warsaw 4a34209468 1. Export open(2) flag constants for every defined constant
2. Reworked error checking in initposix() and initnt().
1996-12-19 23:50:02 +00:00
Barry Warsaw bab218e420 Minor formatting changes. 1996-12-19 22:22:32 +00:00
Barry Warsaw 43d68b8fb0 Minor formatting changes. 1996-12-19 22:10:44 +00:00