Gustav W Delius - 2003-07-12

Logged In: YES
user_id=737246

The following message from Neil is relevant:

I have just added and committed some new files:

OS0Win.mpl
OSWin.c
OSWin.dll
newDate.mpl

Currently, these are isolated: the main AIM code does not
refer to them
at all.

The idea is to get the operating system to handle times and
time zones,
which AIM currently tries to do for itself, not very
successfully. The
file OSWin.dll is obtained by compiling OSWin.c; the precise
command used
(with the Visual Studio C++ compiler) is recorded as a
comment in OSWin.c.

The file OS0Win.mpl calls define_external() to build a Maple
reference to
the functions defined in OSWin.dll.

The file newDate.mpl, which is intended as a replacement for
Date.mpl, uses
these references in the FillFromRaw and FillFromCooked
methods of the Date
class.

If anyone is feeling keen, you could work on the following:
(1) Check that this works properly under Windows 98 etc.
My reading of
the documentation suggests that it should.

(2) Work out how to do the analogous thing under Linux and
OSX.

(3) Fit everything together: remove references to time zones
in AutoConf.mpl
and Config.mpl, make sure that define_external gets
called in the right
place (I don't think it works to just store the result of
define_external
in lib/OSWin.m), and so on.

(4) Implement the rest of the functions in OS0DOS.mpl in the
same way. The
time functions are documented at

http://msdn.microsoft.com/library/default.asp?url=/library/en-
us/sysinfo/bas
e/time.asp?frame=true
and
http://msdn.microsoft.com/library/default.asp?url=/library/en-
us/vclib/html/
_crt_asctime.2c_._wasctime.asp?frame=true
I presume that the relevant filesystem functions are
documented
somewhere
close by.

Neil