Skip to content

Commit

Permalink
Express
Browse files Browse the repository at this point in the history
1) Some code tidyup
2) Fix issue with daily bytes calculation with conference accounting
3) Improve ftp handling so no file list is needed in memory
4) Add ftp list option to read directly from file system
5) Add option to remove confs from ftp
6) Make ftp honour the file case settings
7) Move fto file checking to background and send please wait messages to keep client alive
8) Fix memory leak in message handling
9) Revert StrClone to StrCopy where it is needed
10) Fix node lock up problem when uploading
  • Loading branch information
dmcoles committed Jan 18, 2022
1 parent f79a8b4 commit fe06db6
Show file tree
Hide file tree
Showing 7 changed files with 820 additions and 466 deletions.
96 changes: 39 additions & 57 deletions MiscFuncs.e
Original file line number Diff line number Diff line change
Expand Up @@ -271,6 +271,18 @@ PROC asmputchar()
MOVE.B D0,(A3)+
ENDPROC

EXPORT PROC dateStampToDateTime(datestamp:PTR TO datestamp) IS (Mul(Mul(datestamp.days+2922,1440),60)+(datestamp.minute*60)+(datestamp.tick/50))+21600

EXPORT PROC dateTimeToDateStamp(dateVal,datestamp:PTR TO datestamp)
dateVal:=dateVal-21600

datestamp.tick:=(dateVal-Mul(Div(dateVal,60),60))
datestamp.tick:=Mul(datestamp.tick,50)
dateVal:=Div(dateVal,60)
datestamp.days:=Div((dateVal),1440)-2922 ->-2922 days between 1/1/70 and 1/1/78
datestamp.minute:=dateVal-(Mul(datestamp.days+2922,1440))
ENDPROC

EXPORT PROC formatUnsignedLong(val,outStr)
DEF outputTxt[10]:ARRAY OF CHAR

Expand All @@ -284,14 +296,8 @@ EXPORT PROC formatLongDate(cDateVal,outDateStr)
DEF datestr[10]:STRING
DEF dateVal

dateVal:=cDateVal-21600

d:=dt.stamp
d.tick:=(dateVal-Mul(Div(dateVal,60),60))
d.tick:=Mul(d.tick,50)
dateVal:=Div(dateVal,60)
d.days:=Div((dateVal),1440)-2922 ->-2922 days between 1/1/70 and 1/1/78
d.minute:=dateVal-(Mul(d.days+2922,1440))
dateTimeToDateStamp(cDateVal,d)

dt.format:=FORMAT_USA
dt.flags:=0
Expand All @@ -311,14 +317,8 @@ EXPORT PROC formatLongTime(cDateVal,outDateStr)
DEF time[10]:STRING
DEF dateVal

dateVal:=cDateVal-21600

d:=dt.stamp
d.tick:=(dateVal-Mul(Div(dateVal,60),60))
d.tick:=Mul(d.tick,50)
dateVal:=Div(dateVal,60)
d.days:=Div((dateVal),1440)-2922 ->-2922 days between 1/1/70 and 1/1/78
d.minute:=dateVal-(Mul(d.days+2922,1440))
dateTimeToDateStamp(cDateVal,d)

dt.format:=FORMAT_USA
dt.flags:=0
Expand All @@ -340,14 +340,8 @@ EXPORT PROC formatLongDateTime(cDateVal,outDateStr)
DEF timestr[10]:STRING
DEF dateVal

dateVal:=cDateVal-21600

d:=dt.stamp
d.tick:=(dateVal-Mul(Div(dateVal,60),60))
d.tick:=Mul(d.tick,50)
dateVal:=Div(dateVal,60)
d.days:=Div((dateVal),1440)-2922 ->-2922 days between 1/1/70 and 1/1/78
d.minute:=dateVal-(Mul(d.days+2922,1440))
dateTimeToDateStamp(cDateVal,d)

dt.format:=FORMAT_DOS
dt.flags:=0
Expand All @@ -369,14 +363,8 @@ EXPORT PROC formatCDateTime(cDateVal,outDateStr)
DEF timestr[10]:STRING
DEF dateVal

dateVal:=cDateVal-21600

d:=dt.stamp
d.tick:=(dateVal-Mul(Div(dateVal,60),60))
d.tick:=Mul(d.tick,50)
dateVal:=Div(dateVal,60)
d.days:=Div((dateVal),1440)-2922 ->-2922 days between 1/1/70 and 1/1/78
d.minute:=dateVal-(Mul(d.days+2922,1440))
dateTimeToDateStamp(cDateVal,d)

dt.format:=FORMAT_DOS
dt.flags:=0
Expand All @@ -397,14 +385,8 @@ EXPORT PROC formatLongDateTime2(cDateVal,outDateStr,seperatorChar)
DEF timestr[10]:STRING
DEF dateVal

dateVal:=cDateVal-21600

d:=dt.stamp
d.tick:=(dateVal-Mul(Div(dateVal,60),60))
d.tick:=Mul(d.tick,50)
dateVal:=Div(dateVal,60)
d.days:=Div((dateVal),1440)-2922 ->-2922 days between 1/1/70 and 1/1/78
d.minute:=dateVal-(Mul(d.days+2922,1440))
dateTimeToDateStamp(cDateVal,d)

dt.format:=FORMAT_USA
dt.flags:=0
Expand All @@ -431,7 +413,25 @@ EXPORT PROC decodeDateStr(datestr:PTR TO CHAR)
y:=Val(dtstr+6)

IF (y<100) AND (y>TWODIGITYEARSWITCHOVER) THEN y:=1900+y ELSE y:=2000+y
ENDPROC y,m,d
ENDPROC m,d,y

EXPORT PROC encodeDate(m,d,y)
DEF dt : datetime
DEF datestr[20]:STRING
DEF r
DEF ds:PTR TO datestamp
StringF(datestr,'\z\r\d[2]-\z\r\d[2]-\z\r\d[2]',m,d,Mod(y,100))

dt.format:=FORMAT_USA
dt.flags:=0
dt.strday:=0
dt.strtime:=0
dt.strdate:=datestr
r:=StrToDate(dt)
ds:=dt.stamp
ds.minute:=0
ds.tick:=0
ENDPROC dateStampToDateTime(ds)

->returns a numeric value of the date suitable for comparing to other dates
EXPORT PROC getDateCompareVal(datestr:PTR TO CHAR)
Expand Down Expand Up @@ -469,11 +469,12 @@ EXPORT PROC getSystemDate()

startds:=DateStamp(currDate)

s4:=(Mul(Mul(startds.days+2922,1440),60)+(startds.minute*60)+(startds.tick/50))+21600
s4:=dateStampToDateTime(startds)
->s4:=(Mul(Mul(startds.days+2922,1440),60)+(startds.minute*60)+(startds.tick/50))+21600
->2922 days between 1/1/70 and 1/1/78
ENDPROC Mul(Div(s4,86400),86400)

->returns system time converted to c time format
->returns system time converted to c time format and ticks
EXPORT PROC getSystemTime()
DEF currDate: datestamp
DEF startds:PTR TO datestamp
Expand All @@ -483,25 +484,6 @@ EXPORT PROC getSystemTime()

ENDPROC (Mul(Mul(startds.days+2922,1440),60)+(startds.minute*60)+(startds.tick/50))+21600,Mod(startds.tick,50)

->returns system time converted to c time format and ticks
EXPORT PROC getSystemTime2()
DEF currDate: datestamp
DEF startds:PTR TO datestamp
DEF s1,s2,s3,s4

startds:=DateStamp(currDate)

s1:=startds.days+2922
s1:=Mul(1440,s1)
s1:=Mul(60,s1)
s2:=Mul(60,startds.minute)
s3:=startds.tick/50
s4:=Mul(Mul(startds.days+2922,1440),60)+(startds.minute*60)+(startds.tick/50)

->2922 days between 1/1/70 and 1/1/78

ENDPROC s4+21600,Mod(startds.tick,50)

EXPORT PROC fileWriteLn(fh,str: PTR TO CHAR)
DEF stat
IF (stat:=fileWrite(fh,str))<>RESULT_SUCCESS THEN RETURN stat
Expand Down
3 changes: 2 additions & 1 deletion axconsts.e
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ EXPORT CONST MAX_FLAGGED_FILES=1000
EXPORT CONST BG_EXIT=1200
EXPORT CONST BG_DONT_EXIT=1200
EXPORT CONST BG_CHECKFILE=1201
EXPORT CONST BG_CHECKFILE_THEN_QUIT=1202

EXPORT CONST ACTION_REQUEST=5000

Expand All @@ -35,7 +36,7 @@ EXPORT CONST FREQ_RPEND=1
EXPORT CONST FREQ_WAVAIL=2
EXPORT CONST FREQ_ABORT=3

EXPORT CONST TWODIGITYEARSWITCHOVER=70
EXPORT CONST TWODIGITYEARSWITCHOVER=77

EXPORT CONST MAXNODES=32

Expand Down
2 changes: 1 addition & 1 deletion axobjects.e
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ EXPORT OBJECT confBase
bytesUpload: LONG
uploadTracking: INT
unused: INT
dailyBytesDld: LONG
unused2:LONG ->dailyBytesDld: LONG
upload: INT
downloads: INT
ratioType: INT
Expand Down
Loading

0 comments on commit fe06db6

Please sign in to comment.