OSLib V6.00 alpha

Jonathan Coxhead jonathan at doves.demon.co.uk
Thu Apr 6 23:09:49 BST 2000


 | I have put OSLib V6.00(alpha) on the website at
 | http:www.mk-net.demon.co.uk/oslib/600

   A fine piece of work!

   But with 3 problems, of varying sizes ...

   (1) |arcweb_fetch_request|, |arcweb_fetch_done| don't have the 
|full_message_| name element that's present in all the other full 
message types in ArcWeb.

   (2) SWI names (even when they aren't real SWI names) and OSLib 
type names should have the form <Module>_<FullName>, where <Module> 
and <FullName> contain only letters and digits. (DefMod converts 
these into the C by downcasing <Module>, and inserting underscores 
between the words and downcasing in <FullName>.)

   So the postfix "_W" should be just "W" in the .swi files---DefMod 
will convert it to "_w" for C. (It's going to guess wrong for some 
edge cases, such as "BPutVW" -> "bput_vw", but I don't see that as 
important).

   (3) All the varying-size types have been misdefined, e g:

      #define wimp_WINDOW(N) \
         struct \
            {  wimp_WINDOW_MEMBERS \
               wimp_icon icons [UNKNOWN]; \
            }

should be 

      #define wimp_WINDOW(N) \
         struct \
            {  wimp_WINDOW_MEMBERS \
               wimp_icon icons [N]; \
            }

   The resulting error is not typically diagnosable at compile-time---
if you compile your programme with the new headers, you will get 
memory corruption at run-time. So this is a pretty severe problem. 
There are 66 instances of it, altogether.

        /|
 o o o (_|/
        /|
       (_/



More information about the oslib-team mailing list