d 	.TITLE JJNXTF {JJSETF} Process a Partial file spec.
 ;
,; IRET=	JJNXTF( Result_Char_String )	.. To get next file, after
; Call	JJSETF( Partial_File_Spec )	.. To Set File search
;-------------------------------------------------------end.of.info
X	$RMSDEF
;
 	.PSECT $CODE,PIC,CON,REL,LCL,SHR,EXE,RD,NOWRT,LONG
;
;;;; Required init call to JJSETF to set up file spec.
L;
	.ENTRY	JJNXTF,^M<r2,r3,r4,r5,r8,r9>
	movl	4(ap),r9		;; Disc of Result string
x	movl	4(r9),r3		;; Address of string
;
@	$SEARCH	FAB=DIR_FAB
	blbc	r0,nomore			;; No more files
;
l	movzbl	NAM$B_RSL+DIR_NAM,r0	;; Result string length
	movab	DIR_NAM,R8		;; R8 <- Name block address
4	movc5	r0,@NAM$L_RSA(R8),#32,(r9),(r3)	;; Move name
	movl	#1,r0			;;o.k. Return +1
	ret
`	;
	nomore:
(
	movc5	#0,(r9),#32,(r9),(r3)	;; Move blanks

	ret

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
T;
	.ENTRY	JJSETF,^M<r2,r3,r4,r5,r8,r9>
;
;;;; Setup the Inital search
;
H	MOVL	4(ap),r9		;; Inital discriptor
	movb	0(r9),FAB$B_FNS+DIR_FAB	;; Set in FAB
	movl	4(r9),FAB$L_FNA+DIR_FAB		;; Set in addr
t;
	$PARSE	FAB=DIR_FAB
<	ret
;
	.PSECT	$LOCAL,PIC,CON,REL,LCL,NOSHR,NOEXE,RD,WRT,LONG
h;
DIR_FAB:
0	$FAB	NAM=DIR_NAM
;
DIR_NAM:
\	$NAM	ESA=DIR_ESA,ESS=48,-	;; EXPANDED STRING ADDR, SIZE
		RSA=DIR_RSA,RSS=48	;; RESULT   STRING ADDR, SIZE
$;
DIR_ESA:	.BLKB	48
DIR_RSA:	.BLKB	48
P;
	.END
