home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
CPM
/
BBSING
/
PBBS
/
HP-FIX01.ARK
/
RDUSRS.PBS
< prev
Wrap
Text File
|
1988-07-07
|
1KB
|
44 lines
;******************************************************************************
; *
; Code segment from PBBS-41.LBR *
; *
;******************************************************************************
; Loop to read users file and attempt match.
RDUSRS: :CALL GET
LD B,30
LD HL,UNAMEF ; Compare the user name to file record
LD DE,INBUF
CALL MATCH
OR A
JR Z,FNDUSR ; Match so process
LD A,(AVAILF)
OR A ; Free record?
JP Z,NUOK ; Yup, so we've got room (let him in)
AND A ; Clear carry flag
LD HL,(TMPREC) ; See if we've already found a deleted record
LD DE,-1
SBC HL,DE
JR NZ,NXTREC ; Yup, so just keep scanning
LD HL,(RRNO) ; Nope, save this one in case we don't find him
LD (TMPREC),HL
NXTREC: :XOR A ; Clear the carry flag
LD HL,(RRNO)
INC HL
EX DE,HL
LD HL,(HSHREC)
SBC HL,DE
JP Z,NOSPC ; So there's no match, so see if we have room
LD HL,MAXU
XOR A
SBC HL,DE
EX DE,HL
JR NC,RDUSRS
LD HL,0 ; Load up first record in file
JR RDUSRS ; No, keep going
; Found user, so process info.
FNDUSR: :LD A,(ACESSF)