===============================================================================
emxfix04.doc emx 0.9d FIX 04 20-Mar-2001
===============================================================================
Copyright (c) 1999-2001 by Eberhard Mattes
Introduction
------------
emxfix04.zip is a fix package for emx 0.9d. It contains all fixes and
new features of emxfix01.zip through emxfix03.zip, and new fixes.
If you are a programmer who uses emx for creating applications,
install emxfix04.zip. If you just use applications which use emx,
install the emxrt.zip corresponding to emxfix04.zip (see the ZIP
comment). You don't have to install both.
License
-------
emx is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
emx is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with emx; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
See \emx\doc\COPYING.EMX and \emx\doc\COPYING for details.
In consequence, emxfix04.zip can be distributed only if distributed
with emxsrcr.zip, gccsrc*.zip, gppsrc2.zip, and gbinusrc.zip.
Caveat
------
Do not install this fix package unless you have installed emx 0.9d.
It does not work with any other release of emx. Do not install
emxfix04.zip if you have already installed a later fix package.
Problems solved by this fix package
-----------------------------------
[emxfix04.zip]
o emxdoc: LaTeX and IPF output fixed
o various bugs in DB fixed:
put() fixed for keys in overflow pages
splitting after new key (which is the first on page) fixed
applied patches from http://www.sleepycat.com/update/1.85/patch.185.html
o sscanf(): Don't set errno (to EACCES) when reaching EOF (C99)
o fscanf(): "%[A-]" does not contain a set
o strtol(): *END_PTR now points to 'x' instead of '0' for "0x*"
o printf(): printf("%#.4g", 0.0) fixed
o <ctype.h>: don't define macros when compiling C++
[emxfix03.zip]
o emxfix01.zip and emxfix02.zip don't contain html.c and html.h for
emxdoc
o fork(): Don't call addsockettolist() twice for the same
handle
o fork(): support 256 DLLs (was 64)
o emx.dll options taking numeric arguments now support hexadecimal
numbers (prefixed by "0x")
o Attempt to fix a bug related to closing sockets (observed in
Apache); try
set emxopt=-!0x800
if it still does not work
o emx.exe now supports up to 1 GB of memory (was 64 MB)
o printf(): incorrect output for "%0f" fixed
o printf(): incorrect rounding for "%.0f" fixed
o printf(): incorrect number of digits for value 0.0 with "%#g" fixed
o export another symbol from emxlibc*.dll to resolve
'exception type_info node'
o mktime() and ctime() no longer overwrite the structure used by
gmtime() and localtime()
o Prototypes added for macro functions in <ctype.h>
o For C++, don't define wchar_t in the headers
o as: input line length limit increased
o exp(): incorrect results for +INF and -INF fixed
o log(+INF) and log10(+INF): don't set errno to EDOM
o <limits.h>: LONG_LONG_MAX renamed LLONG_MAX (etc.)
o <math.h>: cbrt() and cbrtl() are now ISO C functions
o <arpa/nameser.h>: nested comment cleaned up
[emxfix02.zip]
o emxfix01.zip does not contain the new versions of c_import.a
o the implementation of strstr() has been simplified a bit
o all REXX definitions in os2emx.h are now enclosed in #if ... #endif
o emxdoc didn't treat '&' (C++!) the same way as '*' in prototypes
[emxfix01.zip]
o "%[...]" of scanf() should match a _nonempty_ sequence of
characters only
o malloc(~(size_t)0) succeeded
o fseek() didn't work correctly after an attempt to read more than
one buffer worth of data beyond EOF with fread()
o read() read "x\r\377y" as "x\ry" in text mode
o <sys/un.h> no longer tests the TCPIPV4 macro
o Prototypes added for inlined functions in <ctype.h> and <stdio.h>
o #pragma interface/implementation should work now
o libg++ (gpp.a) has been rebuilt with the above fix
Features added by this fix package
----------------------------------
[emxfix04.zip]
o New function wm_putsn()
[emxfix03.zip]
o emxdoc: ref{} now makes a hypertext link
[emxfix02.zip]
[emxfix01.zip]
o emxdoc: LaTeX output improved
o emxdoc: HTML output added
o emxdoc: options renamed (-i, -k, -l, -m, -t -> upper case)
Revision indexes
----------------
emx.dll 61
emx.exe 61
emxio.dll 60
emxlibc.dll 63
emxlibcm.dll 64
emxlibcs.dll 64
emxwrap.dll 60
Installing this fix package
---------------------------
1. Stop all processes which use emxlibcm.dll or emxlibcs.dll. Use
emxload -qw
to stop preloaded programs under OS/2.
2. Unpack emxfix04.zip or emxrt.zip (see introduction) in the root
directory of the drive where you have installed emx:
cd \
unzip -o emxfix04 (or `unzip -o emxrt')
Do not use the -f and -u options of unzip -- the time stamp of
header files has not been updated.
If you get an error message such as
error: cannot create emx/dll/emx.dll
about not being able to create a DLL file, create a temporary
directory and run emxuzdll.cmd in that directory, giving the path
name of emxfix04.zip or emxrt.zip and the path name of the emx DLL
directory on the command line:
mkdir \emxtmp
chdir \emxtmp
emxuzdll a:\emxfix04.zip c:\emx\dll
chdir ..
rmdir emxtmp
This will replace the DLLs in c:\emx\dll with the DLLs in
emxfix04.zip even if the DLLs are in use. The new versions of the
DLLs become active as soon as the last process referencing them is
terminated, or on the next reboot. Therefore, you should reboot
after running emxuzdll, otherwise you won't know if and when the
new versions become active. (Actually, you don't need a temporary
directory, any directory not containing any DLL files will do.)
3. Type the following command to rebuild the OMF-style libraries (you
don't need this step under DOS):
cd \emx\lib
emxomf -s -l -q gpp.a mt/c.a st/c.a st/c_p.a
emxomf -s -l -q mt/c_import.a st/c_import.a
To take advantage of the library fixes, relink your programs.
You should keep the file \emx\doc\emxfix04.doc as it shows what fixes
you have installed.
--------------------------- END OF EMXFIX04.DOC ------------------------------
Add new comment