/* Looks for a name to sepereate the incoming mails for ftp-mail, writes the incoming mail to this file and calls ftp-mail as ARexx-background-process via REXX-Port */ SIGNAL ON SYNTAX SIGNAL ON ERROR SIGNAL ON IOERR /*SIGNAL ON NOVALUE*/ SIGNAL ON BREAK_C SIGNAL ON BREAK_D SIGNAL ON BREAK_E SIGNAL ON BREAK_F SIGNAL ON HALT ARG Arguments CALL PRAGMA("P",-11) PARSE SOURCE x PARSE VAR x . . . path . version = '$VER: ftpsplit 0.99 (14-Jul-1994) ' progname = WORD(version,2) /*path = PRAGMA('D')*/ programmer = 'Alexander Aulbach' x=LASTPOS('/',path) IF x=0 THEN DO x=LASTPOS(':',path) IF x=0 THEN DO errortxt='Programpath not ok!' SIGNAL LEAVE END END path=DELSTR(path,x+1) CALL PRAGMA("D",path) SAY SAY "-- START "progname" at "DATE() TIME() SAY " Arguments: "Arguments SAY iname="tmp/mail." i=1 DO WHILE EXISTS(iname||i) i=i+1 END DO WHILE ~OPEN('out',iname||i,"W") SAY progname' : Error while opening file "'iname||i'"' i=i+1 END SAY progname" : Write "iname||i DO WHILE ~EOF(STDIN) CALL WRITELN('out',READLN(STDIN)) END CALL CLOSE ('out') SAY i=200 DO WHILE EXISTS("T:ftp-mail.semaphore") & i>0 ADDRESS COMMAND "WAIT 1" i=i-1 END IF i<=0 THEN DO SAY "Waiting aborted.." EXIT 10 END IF ~EXISTS("tmp") THEN ADDRESS COMMAND MakeDir tmp ADDRESS COMMAND "Run RX >>tmp/ftp-mail.LOG ftp-mail.rexx" Arguments EXIT /*----------------------------------------------------------------------------*/ Showsource: PARSE ARG sig SAY SAY "----------------------------------------------" DO i=sig-2 TO sig+1 SAY SOURCELINE(i) IF i=sig THEN SAY "^^^^^^^^^^^^^^^^^^^^^^^^ Line, in which error occured!" END SAY "----------------------------------------------" RETURN BREAK_C: BREAK_D: BREAK_E: BREAK_F: HALT: PARSE SOURCE x PARSE VAR x . . progname . SAY 'Program 'progname' stopped, Line: 'SIGL CALL ShowSource SIGL EXIT(5) LEAVE: PARSE SOURCE x PARSE VAR x . . progname . SAY 'ERROR: 'errortxt SAY SAY ' Abort Program 'progname', near line: 'SIGL EXIT(10) NOVALUE: RC=39 SYNTAX: ERROR: IOERR: PARSE SOURCE x PARSE VAR x . . progname . SAY 'ERROR: Program Error 'RC' in 'progname SAY ' "'ERRORTEXT(RC)'"' SAY ' Line: 'SIGL CALL ShowSource SIGL EXIT(20)