Annotation of freem/contrib/%urexp.m, revision 1.1
1.1 ! snw 1: %urexp ; Routine export utility - version 0.5.0.1
! 2: ; Jon Diamond - 1999-03-31
! 3: ;
! 4: n error,device,comment,version
! 5: s error=$$init^%uxxxx(),comment="",version="",device=""
! 6: ;
! 7: s error=$$writen^%uxxxx($t(+1)_" "_$$^%uxdat)
! 8: k @%uwork
! 9: %rsel s error=$$rsel^%urxxx(%uwork) q:error<0
! 10: i $o(@%uwork@(""))="" s error=$$writep^%uxxxx("No Routines selected") q
! 11: ;
! 12: %device i device'="" s error=$$close^%ufxxx(device) i error<0 g %exit1
! 13: s error=$$select^%ufxxx(.device,"out")
! 14: i error<0 g %rsel
! 15: ;
! 16: %comment s error=$$readn^%uxxxx("Header comment ",.comment)
! 17: i error<0 g %device
! 18: ;
! 19: %version s error=$$readn^%uxxxx("Add version text ",.version)
! 20: i error<0 g %comment
! 21: ;
! 22: s error=$$go(device,%uwork,comment,version) i error<0 s a=$$error^%uxxxx(error) g %exit
! 23: s error=$$writep^%uxxxx("Routines written - "_+error)
! 24: s error=$$writep^%uxxxx("Finished")
! 25: ;
! 26: %exit s error=$$close^%ufxxx(device) i error<0 ; ??? if error
! 27: %exit1 k @%uwork
! 28: q
! 29: ;
! 30: ; Executable entry point
! 31: ; Needs modifying to allow a selection mask (major changes!)
! 32: go(device,select,comment,version)
! 33: n a,b,c,error,cnt
! 34: i version'="",version'?." "1P.e s version=" ; "_version
! 35: s error=$$header^%ufxxx(device,$t(+1),$g(comment)) i error<0 q error
! 36: s a=99999,cnt=0
! 37: f s a=$o(@select@(a)) q:a="" d q:error<0
! 38: . s error=$$write^%ufxxx(device,a) q:error<0
! 39: . s b=$t(@("+1^"_a)) q:b="" s error=$$write^%ufxxx(device,b_version) q:error<0
! 40: . f c=2:1 s b=$t(@("+"_c_"^"_a)) q:b="" s error=$$write^%ufxxx(device,b) q:error<0
! 41: . q:error<0
! 42: . s error=$$write^%ufxxx(device,"")
! 43: . s cnt=cnt+1
! 44: i error'<0 s error=$$trailer^%ufxxx(device,$t(+1))
! 45: i error<0 q error
! 46: q cnt_",go^%urexp"
! 47: ;
! 48: ;
! 49: ; Alternative entry point with Open/Close included
! 50: export(device,select,comment,version)
! 51: n error
! 52: s error=$$open^%ufxxx(device,"out") q:error<0
! 53: s error=$$go(device,$g(select),$g(comment),$g(version)) q:error<0
! 54: s error=$$close^%ufxxx(device)
! 55: q
! 56:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>