OSLib 6.11 Released
Tony van der Hoff
OSLib at mk-net.demon.co.uk
Thu Sep 21 10:48:37 BST 2000
The latest OSLib, Version 6.11 is now available for download from
http://www.mk-net.demon.co.uk/oslib.
OSLib is a highly optimised, efficient, type-safe APCS interface library
for the RISC OS API. Headers are provided for C, C++ and Assembler.
Extract from the change log since version 6.00 follows:
##########################################
OSLib Version 6.11 - Tony van der Hoff - 19/09/2000
------------------
6.10 was only released as a late beta. This corrects that situation,
makes one
enhancement, and fixes one bug:
Fixes:
* The argument passed to Wimp_LoadTemplate in R5 is now a pointer to a
non-const string (Chris Rutter).
Enhancements:
* Constant Wimp_GetSize is defined for passing to Wimp_LoadTemplate
when the
buffer size is to be returned (Chris Rutter).
OSLib Version 6.10 - Tony van der Hoff - 01/06/2000
------------------
A couple of bug fixes, one major compatibility issue, C++ compatibility,
and some additional future-proofing:
Fixes:
* PaletteV_ReadEntry: Correct reason code passed in R9. (Tom Hughes)
* Some name corrections for MimeMap. (Tom Hughes)
* osmemory definitions now correctly refer to osmemory instead of
os_memory.
(David Thomas)
* For compatibility with GCC, some duplicated formal parameter names
have been
fixed.
* The try string element in the font dbox structure has been renamed
from |try| (which is a c++ reserved word) to |try_string|.
** This change is not backwards compatible **.
The compiler will fault the use of |try| in this context.
Binary compatibility is OK.
* The files Macros.Hdr and Types.Hdr have been renamed to
Macros.Hdr.macros
and Types.Hdr.types respectively for consistency with standard naming
conventions. (A.Thoukidides)
* Toolbox.SWI.Quit now correctly includes "NEEDS TOOLBOX".
(A.Thoukidides)
Enhancements:
* To aid compatibility with C99 and C++ compilers, where |bool| is a
keyword,
OSLib's Boolean type has been renamed from |bool| to |osbool|. To
support
backwards compatibility, types.h typedefs |bool| as |osbool| for
compilers
where |bool| is not used. This may be overridden by defining the
constant
BOOL_DEFINED before including types.h.
Note that some gcc users have been undefining |bool| in types.h to
work round
the generated error condition. THIS INTRODUCES AN ERROR, as OSLib's
bool was
typedef'd as an integer (4 bytes), whereas sizeof( bool ) in g++ is 1
byte.
Anyone who has done this, and got has away with it, should be aware
of this
ticking time-bomb, and amend their code at the earliest opportunity.
* __swi(x) is now automatically undefined for compilers other than
Norcroft.
There is no longer any need to define __swi, but it is not an error
to do so.
* By defining the constant NAMESPACE_OSLIB, all declarations in the
headers are
placed in a namespace oslib {...} block. This allows all typedefs to
be
qualified within the namespace. However, OSLib itself currently
requires
"C" linkage, therefore the function names are retained in the global
namespace.
See file Test.cpp.Test_cpp for an example of namespace usage.
* Constant os_VDUVAR_END_LIST now defined. (John Tytgat)
* Further changes to DefMod for 32-bit compatibility.
(Stewart Brodie)
* SetVars has been amended to bring the library itself and the headers
together
into OSLib$Path, thus removing the need for the unwieldy
OSLibInclude$Path.
The latter is retained for backwards compatibility, but is now
deprecated.
* All #includes in the library headers now specify the OSLib: library
path to
avoid possible name clashes with other libraries.
#################################################
--
Tony van der Hoff | mailto:OSLib at mk-net.demon.co.uk
Buckinghamshire, England | http://www.mk-net.demon.co.uk/oslib/
----------------------------------------------------------------
More information about the oslib-user
mailing list