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