/* Rexx compare for unix files : compu filename compare-parms */ Address isredit "MACRO (PARMS)" If 0 <> syscalls("ON") Then Call exitproc ":Unix system services are unavailable" If parms = "" Then Call exitproc ":A Unix file name is required" Parse Var parms filename cmpparms If filename == "*" | translate(filename) == "SESSION" Then Do Address ispexec "VGET ZEIUSER" filename = strip(translate(zeiuser," ","00"x)) Parse Var filename . "/" filename filename = "/" || filename End pref=sysvar('syspref') If pref='' Then pref=userid() If pref <> userid() Then pref=pref||'.'||userid() target = "'" || pref || ".COMPARE.UNIX.FILE'" If "OK" == sysdsn(target) Then Call delete_target Call bpxwunix "cp" filename """//" || target || """" If "OK" == sysdsn(target) Then Do "BUILTIN COMPARE " target cmpparms Call delete_target End Else Call exitproc ":Error copying "filename" to "target"." Return exitproc: Address ispexec "CONTROL ERRORS RETURN" If Arg(1) <> "" Then Do Parse value "NO *" With zerralrm zerrhm Parse value Arg(1) With zerrsm":"zerrlm Address ispexec "SETMSG MSG(ISRZ002)" End Exit delete_target: Procedure Expose target Address tso "ALLOC F(ATARG00) DA("target") DEL REU SHR" Address tso "FREE F(ATARG00)" Return