On Fri, 9 Dec 2011, Felipe Monteiro de Carvalho wrote:

Hello,

I would like to add NowUTC to SysUtils as we have already discussed
previously. I think that the need for adding this should be of common
knowledge for all after the long discussions about Now, and I
understand that this was agreed upon, although surely we can discuss
again.

So ok, now the problem starts. I have never added a new routine to the
RTL before, so I am totally lost at what exactly to do, because there
is a pletora of platforms there and I have implementations only for
the platforms which I use, which are Windows and UNIX (I think it
should work in all of them)

So what is done in these cases? Should I give some time for
maintainers of those platforms to come up with implementations?

There are 2 ways:
1. Place an empty routine in all platform sysutils units.

2. Placy a dummy routine which returns 'now' in sysutils.inc
{$IFNDEF FPC_HAS_NOWUTC}
function NowUTC : TDateTime;

begin
  Result:=Now;
end;
{$ENDIF}

Platform maintainers then add a {$DEFINE FPC_HAS_NOWUTC} to the platform
unit as soon as they implement it, and their definition will be used instead.


And if they don't? Just add a stub returning Now or something like that?

Adding a GetTickCount routine would also be good. Lazarus has this:

function GetTickCount64: QWord;

But maybe in the RTL it should have a different name to avoid
conflicts with the Windows unit... but which name?

I don't think it needs a different name, GetTickCount is OK. Why would you need that ? Units are namespaces, after all.

Michael.
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to