Skip to content

Commit

Permalink
ACP
Browse files Browse the repository at this point in the history
1) Add txt as well as cfg file handling
2) Specify path as parameter rather than config file
Express
1) Fix issue with not taking modem offhook when doing sysop or local logon
2) Fix cfg file handling for access levels
3) Fix bug with filename checking for .rip extension
  • Loading branch information
dmcoles committed Mar 5, 2020
1 parent 388f76c commit 779f89e
Show file tree
Hide file tree
Showing 3 changed files with 57 additions and 23 deletions.
15 changes: 13 additions & 2 deletions ACP.e
Original file line number Diff line number Diff line change
Expand Up @@ -782,8 +782,15 @@ PROC getToolTypes(filename:PTR TO CHAR)
dobj:=GetDiskObject(filename)
isCfg:=FALSE
IF(dobj=NIL)
StringF(fn,'\s.cfg',filename)
IF (len:=FileLength(fn))<>-1
StringF(fn,'\s.txt',filename)
IF (len:=FileLength(fn))=-1
StringF(fn,'\s.cfg',filename)
IF (len:=FileLength(fn))=-1
StrCopy(fn,'')
ENDIF
ENDIF

IF StrLen(fn)>0
dobj:=GetDefDiskObject(WBPROJECT)
IF dobj<>NIL
fileBuf:=New(len+1) ->allow an extra char in case file does not end in LF
Expand Down Expand Up @@ -3521,6 +3528,10 @@ PROC main() HANDLE
ELSE
IF StrLen(arg)>0
StrCopy(iconStartName,arg)
RightStr(tempstr,iconStartName,3)
UpperStr(tempstr)
IF StrCmp(tempstr,'acp')=FALSE THEN StrAdd(iconStartName,'acp')

StrCopy(tempstr,iconStartName,PathPart(iconStartName)-iconStartName)
newlock:=Lock(tempstr,ACCESS_READ)
IF newlock<>NIL THEN oldDirLock:=CurrentDir(newlock)
Expand Down
8 changes: 2 additions & 6 deletions MiscFuncs.e
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,10 @@ EXPORT PROC getFileSize(s: PTR TO CHAR)
FreeDosObject(DOS_FIB,fBlock)
ENDPROC fsize

EXPORT PROC fileExists(filename, addInfo = FALSE)
EXPORT PROC fileExists(filename)
/* checks to see if a file exists and returns TRUE OR FALSE */
DEF lh
DEF fn[255]:STRING

StrCopy(fn,filename)
IF addInfo THEN StrAdd(fn,'.info')
IF lh:=Lock(fn,ACCESS_READ)
IF lh:=Lock(filename,ACCESS_READ)
UnLock(lh)
RETURN TRUE
ENDIF
Expand Down
57 changes: 42 additions & 15 deletions express.e
Original file line number Diff line number Diff line change
Expand Up @@ -416,6 +416,28 @@ RAISE ERR_BRKR IF CxBroker()=NIL,
ERR_PORT IF CreateMsgPort()=NIL,
ERR_ASL IF AllocAslRequest()=NIL

PROC configFileExists(fname:PTR TO CHAR)
DEF lh
DEF fn[255]:STRING

StringF(fn,'\s.info',fname)
IF lh:=Lock(fn,ACCESS_READ)
UnLock(lh)
RETURN TRUE
ENDIF
StringF(fn,'\s.cfg',fname)
IF lh:=Lock(fn,ACCESS_READ)
UnLock(lh)
RETURN TRUE
ENDIF

StringF(fn,'\s.txt',fname)
IF lh:=Lock(fn,ACCESS_READ)
UnLock(lh)
RETURN TRUE
ENDIF
ENDPROC FALSE

PROC checkIconifyMsg()
ENDPROC

Expand Down Expand Up @@ -450,11 +472,11 @@ PROC convertAccess()
DEF tempStr[255]:STRING

acsLevel:=findAcsLevel()
StringF(tempStr,'\sAccess.info',cmds.bbsLoc)
IF fileExists(tempStr)=FALSE THEN overrideDefaultAccess:=TRUE ELSE overrideDefaultAccess:=checkSecurity(ACS_OVERRIDE_DEFAULTS)
StringF(tempStr,'\sAccess',cmds.bbsLoc)
IF configFileExists(tempStr)=FALSE THEN overrideDefaultAccess:=TRUE ELSE overrideDefaultAccess:=checkSecurity(ACS_OVERRIDE_DEFAULTS)

getUserAccessFilename(tempStr)
userSpecificAccess:=fileExists(tempStr,TRUE);
userSpecificAccess:=configFileExists(tempStr);

StrCopy(securityFlags,'')
ENDPROC
Expand Down Expand Up @@ -2941,7 +2963,7 @@ PROC findAcsLevel()
level:=loggedOnUser.secStatus/5*5
REPEAT
getNodeFile(TOOLTYPE_ACCESS,level,ttfile)
found:=fileExists(ttfile,TRUE)
found:=configFileExists(ttfile)
IF (found=FALSE) THEN level:=level-5
UNTIL (level=0) OR (found)

Expand Down Expand Up @@ -4363,15 +4385,15 @@ PROC runCommand(cmdtype,cmd,params,privcmd)

IF cmdtype=CMDTYPE_BBSCMD
getNodeFile(TOOLTYPE_CONFCMD,cmd,commandfile)
IF fileExists(commandfile,TRUE)
IF configFileExists(commandfile)
tooltype:=TOOLTYPE_CONFCMD
ELSE
getNodeFile(TOOLTYPE_NODECMD,cmd,commandfile)
IF fileExists(commandfile,TRUE)
IF configFileExists(commandfile)
tooltype:=TOOLTYPE_NODECMD
ELSE
getNodeFile(TOOLTYPE_BBSCMD,cmd,commandfile)
IF fileExists(commandfile,TRUE)
IF configFileExists(commandfile)
tooltype:=TOOLTYPE_BBSCMD
ELSE
RETURN FALSE
Expand All @@ -4381,15 +4403,15 @@ PROC runCommand(cmdtype,cmd,params,privcmd)

ELSEIF cmdtype=CMDTYPE_SYSCMD
getNodeFile(TOOLTYPE_CONFSYSCMD,cmd,commandfile)
IF fileExists(commandfile,TRUE)
IF configFileExists(commandfile)
tooltype:=TOOLTYPE_CONFSYSCMD
ELSE
getNodeFile(TOOLTYPE_NODESYSCMD,cmd,commandfile)
IF fileExists(commandfile,TRUE)
IF configFileExists(commandfile)
tooltype:=TOOLTYPE_NODESYSCMD
ELSE
getNodeFile(TOOLTYPE_SYSCMD,cmd,commandfile)
IF fileExists(commandfile,TRUE)
IF configFileExists(commandfile)
tooltype:=TOOLTYPE_SYSCMD
ELSE
RETURN FALSE
Expand All @@ -4398,7 +4420,7 @@ PROC runCommand(cmdtype,cmd,params,privcmd)
ENDIF
ELSEIF cmdtype=CMDTYPE_CUSTOM
getNodeFile(TOOLTYPE_CONFCMD2,cmd,commandfile)
IF fileExists(commandfile,TRUE)
IF configFileExists(commandfile)
tooltype:=TOOLTYPE_CONFCMD2
ELSE
RETURN FALSE
Expand Down Expand Up @@ -6430,14 +6452,16 @@ PROC displayFile(filename, allowMCI=TRUE, resetNonStop=TRUE)
DEF len,res,stat,read,lf
DEF ripFile=FALSE
DEF extension[4]:STRING
DEF fname[255]:STRING

lineCount:=0

IF (mciViewSafe=FALSE) AND ((checkSecurity(ACS_MCI_MSG)=FALSE) OR (sopt.toggles[TOGGLES_NOMCIMSGS]=TRUE)) THEN allowMCI:=FALSE
IF mcioff=TRUE THEN allowMCI:=FALSE

StrCopy(mciterminator,'|')
RightStr(extension,filename,4)
StrCopy(fname,filename)
RightStr(extension,fname,4)

IF strCmpi(extension,'.rip',ALL)
conPuts('\b\n\b\nDisplaying Rip Script\b\n\b\n')
Expand Down Expand Up @@ -7217,6 +7241,7 @@ PROC processInputMessage(timeout, extsig = 0,rawMode=FALSE, allowSer=TRUE)
ioFlags[IOFLAG_SCR_OUT]:=-1
onlineBaud:=cmds.openingBaud
onlineBaudR:=cmds.openingBaud
intDoReset(sopt.offHook)
reqState:=REQ_STATE_SYSOPLOGON
ENDIF

Expand All @@ -7231,6 +7256,7 @@ PROC processInputMessage(timeout, extsig = 0,rawMode=FALSE, allowSer=TRUE)
onlineBaud:=cmds.openingBaud
onlineBaudR:=cmds.openingBaud
logonType:=LOGON_TYPE_LOCAL
intDoReset(sopt.offHook)
reqState:=REQ_STATE_LOGON
ENDIF

Expand Down Expand Up @@ -9682,8 +9708,8 @@ PROC edit(allowFullscreen=TRUE,maxLineLen=75,updatePosted=FALSE)
x:=0
bkFlag:=0

StringF(str,'\sCommands/SysCmd/FULLEDIT.info',cmds.bbsLoc)
IF(fileExists(str) AND checkSecurity(ACS_FULL_EDIT) AND (loggedOnUser.editorType<>1))
StringF(str,'\sCommands/SysCmd/FULLEDIT',cmds.bbsLoc)
IF(configFileExists(str) AND checkSecurity(ACS_FULL_EDIT) AND (loggedOnUser.editorType<>1))
stat:=0
IF allowFullscreen
IF(loggedOnUser.editorType<>2)
Expand Down Expand Up @@ -26369,6 +26395,7 @@ PROC processAwait()

IF (netTrans<>0)
logonType:=LOGON_TYPE_SYSOP
intDoReset(sopt.offHook)
reqState:=REQ_STATE_SYSOPLOGON
ELSE
IF sopt.toggles[TOGGLES_MULTICOM]
Expand Down Expand Up @@ -26779,7 +26806,7 @@ PROC initNewUser(userData:PTR TO user,userKeys: PTR TO userKeys,userMisc: PTR TO
DEF ttdata[255]:STRING

StringF(ttdata,'\sNode\d/Preset.1',cmds.bbsLoc,node)
IF fileExists(ttdata,TRUE)
IF configFileExists(ttdata)
userData.secStatus:=readToolTypeInt(TOOLTYPE_NODE_PRESET,1,'PRESET.ACCESS')
userData.secBoard:=readToolTypeInt(TOOLTYPE_NODE_PRESET,1,'PRESET.RATIO_TYPE')
userData.secLibrary:=readToolTypeInt(TOOLTYPE_NODE_PRESET,1,'PRESET.RATIO')
Expand Down

0 comments on commit 779f89e

Please sign in to comment.