Subj : New FDN
To   : mark lewis
From : Vince Coen
Date : Fri Mar 25 2016 06:35 pm

Hello mark!

Thursday March 24 2016 13:28, you wrote to me:


VC>> That said a working source copy of pktdate might be useful not
VC>> that I have seen bad dates on net or echo mail but ....

> apparently you do not have folks feeding from your system that get
> nostalgic and restore their old BBS setup from 15+ year old tapes or
> CDs... BBS software that is not y2k compatible... software that mucks
> up the year because the code doesn't do modulo arithmetic [eg: "year =
> (year-1900) mod 100"]... they get a result of 1xx when they subtract
> 1900 from the current year while trying to make it a two digit year
> because they use math manipulation instead of string manipulation...
> this is a quite common problem seen in C code of that era... it is
> sometimes seen in code written in other languages but it is very
> common in C code... today, that code will return 116 for the year
> after they subtract 1900 and don't modulo it...

> that's only ONE of the various problems that can happen... depending
> on the rest of the processing it may make the PKT header one byte too
> long or it could result in the last byte of the PKT header being
> truncated... then you get to the dates in the packed messages and they
> could have headers that are one byte too long or be the proper length
> but missing the last byte of the message header...

> anyway, i thought i'd toss that out there to try to help explain the
> problem of non-y2k compliant software and the possible date problems
> they can cause...

Hmm, thanks for that, I have not noticed it but - I do not look and the mail
from all of the areas that come through here.

In that case I should try and install it but still have the issue of the
compiling warnings. If I can clear thoese I can plug it in to mbse.

For your interest here is the o/p from the attempt to compile it under Mageia
v5 X64 Linux : -

-----------
[mbse@Applewood a]$ gcc pktdate.c
pktdate.c:38:6: warning: conflicting types for built-in function 'log'
void log(int loglevel, const char *fmt, ...);
     ^
pktdate.c: In function 'process_pkt':
pktdate.c:152:9: warning: overflow in implicit constant conversion
[-Woverflow]
        return FATAL_ERROR;
        ^
pktdate.c:159:9: warning: overflow in implicit constant conversion
[-Woverflow]
        return FATAL_ERROR;
        ^
/tmp/ccoDkgoG.o: In function `write_pkt':
pktdate.c:(.text+0xe5c): warning: the use of `tmpnam' is dangerous, better use
`mkstemp'

-----------

No I don't understand them other than a basic level :(


Vince

--- Mageia Linux v5/Mbse v1.0.6/GoldED+/LNX 1.1.501-b20150715
* Origin: Air Applewood, The Linux Gateway to the UK (2:250/1)