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  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  ; ;;;; 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