Hi All,
I've done further investigations into this EleBBS/WEB 1 day message problem and found that if I have a hudson or a Squish message base
the DATE is correct so it is only in a JAM message area... As far as
I can tell EleBBS uses Mark May's Source code... So would this narrow
it down to maybe a MKMSGJAM.PAS problem?
Sorry for not replying to anyones message but been working heaps of
late work/sleep is my day 2 days off now...
I've done further investigations into this EleBBS/WEB
1 day message problem and found that if I have a hudson
or a Squish message base the DATE is correct so it is
only in a JAM message area... As far as I can tell
EleBBS uses Mark May's Source code... So would this
narrow it down to maybe a MKMSGJAM.PAS problem?
FWIW: i have several tools that create messages in JAM bases
and they all use mark's code... none of them exhibit this
problem...
FWIW: i have several tools that create messages in JAM bases
and they all use mark's code... none of them exhibit this
problem...
this got out before i had a chance to add this...
i just looked at the MKMSGJAM that i have and i do see these two notes
at the top...
{
changed MSGTIME from 5 characters to 8 characters to get real
seconds instead of forcing them to zero. MFL - 13 June 96
added SETATTR procedure to allow specific access to attributes
MFL - 9 June 96
}
i just looked at the MKMSGJAM that i have and i do see these
two notes at the top...
{
changed MSGTIME from 5 characters to 8 characters to get real
seconds instead of forcing them to zero. MFL - 13 June 96
added SETATTR procedure to allow specific access to attributes
MFL - 9 June 96
}
Nice. Mark, would you netmail that unit to me?
Since I am writing message base utils for EleBBS that might
be handy to have. I wonder if Maarten is even still around
anymore. Haven't heard from him in the echo for over a year
I think.
I've done further investigations into this EleBBS/WEB 1 day message problem and found that if I have a hudson or a Squish message base
the DATE is correct so it is only in a JAM message area... As far as
I can tell EleBBS uses Mark May's Source code... So would this narrow
it down to maybe a MKMSGJAM.PAS problem?
i can get it together and make it available but first i'd like to see
if i can get hold of mark may and get approval for releasing my
mods... note that i've only worked with this under TP6... i believe
that i did do some experimenting with BP6... i've not tried to use it
at all under delphi or any windows or os/2 native pascal compilers...
Since I am writing message base utils for EleBBS that might
be handy to have. I wonder if Maarten is even still around
anymore. Haven't heard from him in the echo for over a year
I think.
i don't know if he is still around or not...
I've done further investigations into this EleBBS/WEB
1 day message problem and found that if I have a
hudson or a Squish message base the DATE is correct
so it is only in a JAM message area... As far as I
can tell EleBBS uses Mark May's Source code... So
would this narrow it down to maybe a MKMSGJAM.PAS
problem?
Gawd DAY-EM! What a rats' nest.
First, you should have your TZ environment variable set.
TZ=EST-10 if you're in Sydney/Melb/etc.
Second, it looks like unix2norm() is FUBAR. Which is really
odd since a simple unix2norm(norm2unix()) would tell you it's
broken,
and this is a piece of code that's been floating around for
ages (and obviously used by many people).
The fix eludes me (at 5am), so I rewrote it. This isn't
well tested, but it Works For Me.
I can compile Win32 and Linux binaries, if you're running
OS/2 or something you'll have to compile it yourself.
Just replace unix2norm with the following in
elebbs/src/unixdate.pas.
Procedure Unix2Norm(Date: LongInt; var Year, Month, Day, Hour,
Min, Sec: Word);
Gawd DAY-EM! What a rats' nest.where? in ele or the mk library?
odd since a simple unix2norm(norm2unix()) would tell you it's
broken,
hummm... wonder what that compares with in the mkmsg stuff? mkmsg uses UnixToDT and DTToUnix to convert the datetime record format back and forth...
and this is a piece of code that's been floating around formakes me even more curious, now...
ages (and obviously used by many people).
The fix eludes me (at 5am), so I rewrote it. This isn'tdid you test leapyears ;)
well tested, but it Works For Me.
Netiher do I. Which is why I adopted EleBBS sorta. I've had
three BBS software's I use abandoned, I don't want to make it
#4. Teleard, TAG, and RemoteAccess all were abandoned by their
author. Yes Telegard and RA were picked up again, but they
also seem to have been dropped again. I'm determined to not
let that happen to EleBBS untill no one is using it, or till I
just cann't do it anymore.
Gawd DAY-EM! What a rats' nest.
where? in ele or the mk library?
Ele. The ifdefs.... awmigawd the ifdefs... *cries*
odd since a simple unix2norm(norm2unix()) would tell you it's
broken,
hummm... wonder what that compares with in the mkmsg stuff? mkmsg uses
UnixToDT and DTToUnix to convert the datetime record format back and
forth...
The mkmsgjam.pas in the Ele source tree has been modified to
use unixdate.pas and jdates.pas from the parent (elebbs)
directory. In fact, the whole mkmsg source included with Ele
has been drastically pruned.
The original mkmsg source (v1.04 is what I have) uses a
different algorithm. I'll have a look at it later and see if
it's accurate, if so I'll massage it into unix2norm() form,
since it's no doubt much more tested than my code.
and this is a piece of code that's been floating around for
ages (and obviously used by many people).
makes me even more curious, now...
It's from SWAG, BTW. And the first whole page of hits off
Google for any searches mentioning unix, dates, and Pascal.
The fix eludes me (at 5am), so I rewrote it. This isn't
well tested, but it Works For Me.
did you test leapyears ;)
Of course :)
It doesn't take into consideration leapseconds or any of that
other stuff though. But a few seconds here and there over a
couple of decades is accurate enough for our purposes.
hummm... hey, i've got SWAG installed on my machine, IIRC... the last
one released, anyway...
ahh, yes, v1.06 made several fixes and implemented filebuffering for
i found the unix2norm routine... its not anything like
the stuff i use...
hummm... hey, i've got SWAG installed on my machine,
IIRC... the last one released, anyway...
What version? I have.. umm.. reader v3.13, and the most
recent files are 1997-10-07.
ahh, yes, v1.06 made several fixes and implemented filebuffering for
Hmm... it looks like v1.06 has the:
BlockWrite(JM^.IdxFile, JamIdx^, JamIdxBufSize);
to
BlockWrite(JM^.IdxFile, JamIdx^, JM^.IdxRead);
fix,
but what about the:
If JM^.TxtSubChars <= TxtSubBufSize Then
to
If JM^.TxtSubChars <= TxtSubBufSize-1 Then
one?
Did that turn out not to be needed?
If JM^.TxtSubChars <= TxtSubBufSize Then
to
If JM^.TxtSubChars <= TxtSubBufSize-1 Then
if so, which one? i'm not aware of needing that change... all my stuff
function IsLeapYear;
begin
IsLeapYear := (Source and 3 = 0)
end;
If JM^.TxtSubChars <= TxtSubBufSize Then
to
If JM^.TxtSubChars <= TxtSubBufSize-1 Then
if so, which one? i'm not aware of needing that change... all my stuff
Stick "mkmsg bugs" into Google and hit "I'm Feeling Lucky":
--\/--
Contributor: FRANK VAN DER HAM
Line 150:
Change
TxtSubBuf: Array[1..TxtSubBufSize] of Char; {temp storage
... }
Into
TxtSubBuf: Array[0..TxtSubBufSize-1] of Char; {temp storage
... }
Line 831:
Change
If JM^.TxtSubChars <= TxtSubBufSize Then
Into
If JM^.TxtSubChars <= TxtSubBufSize-1 Then
Line 838:
Change
If JM^.TxtSubChars <= TxtSubBufSize Then
Into
If JM^.TxtSubChars <= TxtSubBufSize-1 Then
Line 1490:
Change
BlockWrite(JM^.IdxFile, JamIdx^, JamIdxBufSize);
Into
BlockWrite(JM^.IdxFile, JamIdx^, JM^.IdxRead);
Line 150:
Line 831:
Line 838:
Line 1490:
Despite a bugfix on this very subject from 1.02 to 1.03,
Change
If JM^.TxtSubChars <= TxtSubBufSize Then
Into
If JM^.TxtSubChars <= TxtSubBufSize-1 Then
((source and 3 = 0) and not (source mod 100 = 0)) or (source mod 400 = 0)
Despite a bugfix on this very subject from 1.02 to 1.03,
Those all seems to be fixed in the 1.05 version I have. I
also have 1.06, but that one is always 'unable to open
messagebase' for some reason that I haven't bothered to look
for.
Change
If JM^.TxtSubChars <= TxtSubBufSize Then
Into
If JM^.TxtSubChars <= TxtSubBufSize-1 Then
Hmmm... Why not just delete the '=' sign? :)
There are some bugs in MkMsgCvt, that I've tracked down to
the JAM part, since all works fine to and fro any combination
of msg-bases, just not from MSG to JAM. After a couple of
hundred msgs (different on different "folders", but always on
the same msg (usually, but not always, some big msg) in the
same folder, the program crashes with a run-time error 216.
Going MSG->Squish->JAM works. Really strange bug. Plus of
course the S-B lines are added to the msg-text -- might be a
correlated bug, but since it seems to be impossible to do any
serious debugging on the package, it's hard to find the bug.
((source and 3 = 0) and not (source mod 100 = 0)) or (source mod 400 = 0)
Why? Will you be around Mars 1st 2100 and listen to the
complaints? :)
And unixtime will be broken long before that anyway. 2038
for those that use unsigned longint.
if Maarten is even still around anymore. Haven't heard from him in
the echo for over a year I think.
and RemoteAccess allwere abandoned by their author. Yes Telegard and
RA were picked up again, but they also seem to have been dropped
again. I'm determined to not let that happen to EleBBS untill no one
function IsLeapYear;
begin
IsLeapYear := (Source and 3 = 0)
end;
function IsLeapYear;
begin
IsLeapYear := (Source and 3 = 0)
end;
This cannot be exactly correct, can it?
Line 1490: Change BlockWrite(JM^.IdxFile, JamIdx^, JamIdxBufSize);
Into BlockWrite(JM^.IdxFile, JamIdx^, JM^.IdxRead);
Line 1490: Change BlockWrite(JM^.IdxFile, JamIdx^,The EleBBS /mkmsg/mkmsgjam.pas has no record of blockwrite :(
JamIdxBufSize); Into BlockWrite(JM^.IdxFile, JamIdx^,
JM^.IdxRead);
Netiher do I. Which is why I adopted EleBBS sorta. I've had
three BBS software's I use abandoned, I don't want to make it
#4. Teleard, TAG, and RemoteAccess all were abandoned by their
author. Yes Telegard and RA were picked up again, but they
also seem to have been dropped again. I'm determined to not
let that happen to EleBBS untill no one is using it, or till I
just cann't do it anymore.
understand that... what compiler are you using? what OS' are you
compiling for? where is the project based?
i found the unix2norm routine... its not anything like
the stuff i use...
Here's one that I (and several others) have used for more than ten years now. Take it or leave it. :)
- = * = -
unit UnixUtil;
in JAM bases, seenbys are code 2001
an additional note that i see that the mkjam stuff also
doesn't do anything with the TZUTC stuff, either... that's a
2004 in the above... i see some mods coming to the stuff that
i do here, ;)
Sysop: | digital man |
---|---|
Location: | Riverside County, California |
Users: | 1,143 |
Nodes: | 15 (0 / 15) |
Uptime: | 80:11:58 |
Calls: | 230,051 |
Files: | 59,452 |
Messages: | 293,431 |