home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Meeting Pearls 3
/
Meeting_Pearls_III.iso
/
Pearls
/
comm
/
Fido
/
MailManager
/
Contrib
/
Alessandro_Zummo
/
MM_MultiCode.rexx
< prev
next >
Wrap
OS/2 REXX Batch file
|
1995-06-25
|
20KB
|
914 lines
/*
* MM_MultiCode.rexx
*
* Copyright © 1995 by Alessandro Zummo
*
* USAGE: RX MM_MultiCode <area tag> <message number> <action>
*
* MM_Decode.rexx try to rejoin encoded data splitted onto more files into
* one and than decode the result using the proper decoder.
*
* Based on MM_Decode.rexx by Alessandro Zummo
*
* HISTORY:
* v1.00 First release
*
* $VER: MM_MultiCode.rexx 0.53 (30.4.1995)
*/
/*
* User parameters
*/
MM.PrgName = 'MM_MultiCode v0.53'
MM.UUXT = 'UUxt'
MM.FSCode = 'FSCode'
MM.Delete = 'C:Delete'
MM.TempFile = 'T:MM_Decode.trans'
MM.TempList = 'T:MM_Decode.list'
MM.OutPath = 'RAM:'
MM.Stack = 10000
/* --------------------------------------------------------------------- */
MM.nl = '0a'x
PARSE UPPER ARG MM.Area MM.MsgNum MM.Action
ADDRESS MAILMANAGER
OPTIONS RESULTS
DROP MM.Msg.
MM_ReadMsg MM.Area MM.MsgNum MM.Msg
IF rc ~= 0 THEN exit
DROP MM.Type.
CALL Pragma('S',MM.Stack)
SELECT
WHEN MM.Action = 'E' THEN CALL Encode()
WHEN MM.Action = 'D' THEN NOP
WHEN MM.Action = '' THEN
DO
f=Requester(MM.PrgName,' Select action... ','EnCode|DeCode')
IF f = 1 THEN CALL Encode()
END
OTHERWISE
DO
CALL Requester(MM.PrgName,'Wrong action: 'MM.Action,'Ok')
exit
END
END
MM_SearchInStem MM.Msg.Text MM.Type '!start#?' STR
IF MM.Type.Count > 0 THEN DO
MM.uu = 'FSCode'
MM.Names. = MM.Type.
PARSE VAR MM.Type.0 null ' ' MM.Name
DROP MM.Type.
MM_SearchInStem MM.Msg.Text MM.Type '!end#?' STR
IF MM.Type.Count > 0 THEN DO
DROP MM.Type.
MM_WriteStem MM.TempFile MM.Msg.Text
ADDRESS COMMAND MM.FsCode MM.TempFile ' TO ' MM.OutPath||MM.Name
MM_DeleteFile MM.TempFile
MM.fl = MM.OutPath||MM.Name
CALL Requester('File exctracted!',MM.fl,'Ok')
exit
END
ELSE
DO
j = Incomplete("Fscoded")
IF j = 1 THEN CALL SavePartial('FS')
ELSE exit
END
END
ELSE
MM_SearchInStem MM.Msg.Text MM.Type '!mstrt#?' STR
IF MM.Type.Count > 0 THEN
DO
PARSE VAR MM.Type.0 lp ' ' MM.part '/' MM.tot ' ' MM.Name
DROP MM.Type.
MM_SearchInStem MM.Msg.Text MM.Type '!end#?' STR
IF MM.Type.Count > 0 THEN
DO
MM_WriteStem 'T:MFS.'MM.Name||MM.part MM.Msg.Text
IF MM.part = MM.tot THEN CALL CheckPart()
ELSE
IF Exists('T:MFS.'MM.Name||MM.tot) THEN
CALL CheckPart()
END
ELSE
DO
Requester('Fatal error!','The FSCoded message is incomplete,'MM.nl' I can''t recover it.','Ok :(')
END
exit
END
ELSE
DO
DROP MM.Type.
MM_SearchInStem MM.Msg.Text MM.Type '!end#?' STR
IF MM.Type.Count > 0 THEN
DO
MM_SearchInStem MM.Msg.Text MM.Type '"~(!end#?)"' NUM
IF rc = 0 THEN CALL LeaveBlank()
MM.Msg.From = TRANSLATE(MM.Msg.From,'.',' ')
MM.Msg.FromAddr = TRANSLATE(MM.Msg.FromAddr,'...',':/@')
MM_WriteStem 'T:MMD.'MM.Msg.FromAddr MM.Msg.Text APPEND
MM_ReadStem 'T:MMD.'MM.Msg.FromAddr Whc
PARSE VAR Whc.6 null ' ' MM.Name
ADDRESS COMMAND MM.FsCode 'T:MMD.'MM.Msg.FromAddr ' TO ' MM.OutPath||MM.Name
a.0 = MM.OutPath||MM.Name
CALL Requester('Yeah!','File completed & extracted:'MM.nl||a.0,'Ok')
MM_DeleteFile 'T:MMD.'MM.Msg.FromAddr
exit
END
END
CALL CheckResume('FS')
DROP MM.Type.
MM_SearchInStem MM.Msg.Text MM.Type 'begin#?' STR
IF MM.Type.Count > 0 THEN DO
MM.uu = 'UUCode'
MM.Names. = MM.Type.
PARSE VAR MM.Type.0 null ' ' null ' ' MM.Name
DROP MM.Type.
MM_SearchInStem MM.Msg.Text MM.Type 'end#?' STR
IF MM.Type.Count > 0 THEN DO
DROP MM.Type.
MM_WriteStem MM.TempFile MM.Msg.Text
ADDRESS COMMAND MM.UUXT ' x ' MM.TempFile 'dest='MM.OutPath
MM_DeleteFile MM.TempFile
MM.fl = MM.OutPath||MM.Name
CALL Requester('File exctracted!',MM.fl,'Ok')
exit
END
ELSE
DO
j = Incomplete("UUCoded")
IF j = 1 THEN CALL SavePartial('UU')
ELSE exit
END
END
ELSE
DO
DROP MM.Type.
MM_SearchInStem MM.Msg.Text MM.Type 'end#?' STR
IF MM.Type.Count > 0 THEN
DO
MM_SearchInStem MM.Msg.Text MM.Type '"~(end#?)"' NUM
IF rc = 0 THEN CALL LeaveBlank('UU')
MM.Msg.From = TRANSLATE(MM.Msg.From,'.',' ')
MM.Msg.FromAddr = TRANSLATE(MM.Msg.FromAddr,'...',':/@')
MM_WriteStem 'T:MMD.'MM.Msg.FromAddr'.uu' MM.Msg.Text APPEND
MM_ReadStem 'T:MMD.'MM.Msg.FromAddr'.uu' Info
PARSE VAR Info.6 null' ' null ' ' MM.Name
ADDRESS COMMAND MM.UUXT 'x T:MMD.'MM.Msg.FromAddr'.uu' ' dest=' MM.OutPath
a.0 = MM.OutPath||MM.Name
CALL Requester('Yeah!','File completed & extracted:'MM.nl||a.0,'Ok')
MM_DeleteFile 'T:MMD.'MM.Msg.FromAddr'.uu'
exit
END
END
CALL CheckResume('UU')
CALL Requester(MM.PrgName,' Nothing to do.... ','Ok')
EXIT
/* --------------------------------------------------------------------- */
LeaveBlank: PROCEDURE EXPOSE MM.
PARSE ARG Arg
DO n = 0 FOR MM.Type.Count
a = MM.Type.n
b = POS(' ',a)
IF Arg = 'UU' THEN
DO
g = POS('M',a)
IF g = 1 THEN b = 0 ELSE b = 1
END
IF B ~= 0 THEN MM.Msg.Text.a = ''
END
RETURN
/* --------------------------------------------------------------------- */
Incomplete: PROCEDURE EXPOSE MM.
PARSE ARG ttt
a.1 = 'Do you want to save this incompleted'MM.nl' file to a temp file?'
a.2 = '*_Yes|_No'
a.3 = 'Incomplete 'ttt' file found...'
j = Requester(a.3,a.1,a.2)
RETURN j
/* --------------------------------------------------------------------- */
SavePartial: PROCEDURE EXPOSE MM.
DROP MM.Type.
PARSE UPPER ARG MM.SVArg
IF MM.SVArg = 'UU' THEN
MM_SearchInStem MM.Msg.Text MM.Type '"~(begin#?)"' NUM
ELSE
MM_SearchInStem MM.Msg.Text MM.Type '"~(!start#?)"' NUM
CALL LeaveBlank(MM.SVArg)
MM.Msg.From = TRANSLATE(MM.Msg.From,'.',' ')
MM.Msg.FromAddr = TRANSLATE(MM.Msg.FromAddr,'...',':/@')
DROP Info.
Info.0 = MM.Msg.From
Info.1 = MM.Msg.FromAddr
Info.2 = MM.MsgNum
Info.3 = MM.Area
Info.4 = MM.uu
Info.5 = ''
Info.Count = 6
IF MM.SVArg = 'UU' THEN DO
MM_WriteStem 'T:MMD.'MM.Msg.FromAddr'.uu' Info
MM_WriteStem 'T:MMD.'MM.Msg.FromAddr'.uu' MM.Msg.Text APPEND
END
ELSE DO
MM_WriteStem 'T:MMD.'MM.Msg.FromAddr Info
MM_WriteStem 'T:MMD.'MM.Msg.FromAddr MM.Msg.Text APPEND
END
exit
RETURN
/* --------------------------------------------------------------------- */
CheckResume: PROCEDURE EXPOSE MM.
PARSE UPPER ARG MM.Arg
MM.Msg.From = TRANSLATE(MM.Msg.From,'.',' ')
MM.Msg.FromAddr = TRANSLATE(MM.Msg.FromAddr,'...',':/@')
DROP MM.Info.
IF MM.Arg = 'FS' THEN
DO
FileName = 'T:MMD.'MM.Msg.FromAddr
IF Exists(FileName) THEN
DO
MM_ReadStem FileName MM.Info
IF rc = 0 THEN CALL Resume()
END
END
IF MM.Arg = 'UU' THEN
DO
FileName = 'T:MMD.'MM.Msg.FromAddr'.uu'
IF Exists(FileName) THEN
DO
MM_ReadStem FileName MM.Info
IF rc = 0 THEN CALL Resume()
END
END
RETURN
/* --------------------------------------------------------------------- */
Resume: PROCEDURE EXPOSE MM.
IF MM.Msg.From ~= MM.Info.0 THEN CALL InvalidResumeFile()
IF MM.Msg.FromAddr ~= MM.Info.1 THEN CALL InvalidResumeFile()
IF MM.Area ~= MM.Info.3 THEN CALL InvalidResumeFile()
MM.From = TRANSLATE(MM.Msg.From,' ','.')
MM.FromAddr = TRANSLATE(MM.Msg.FromAddr,':/@','...')
a.1 = 'Do you want to add this 'MM.Info.4'd ' MM.nl 'file to the previous saved file?'
a.2 = '*_Yes|_No'
a.3 = 'Resuming...'
k = Requester(a.3,a.1,a.2)
IF k = 1 THEN DO
DROP MM.Type
MM_SearchInStem MM.Msg.Text MM.Type '#?' NUM
IF MM.Info.4 = 'FSCode' THEN
DO
CALL LeaveBlank('FS')
MM_WriteStem 'T:MMD.'MM.Msg.FromAddr MM.Msg.Text APPEND
END
ELSE
DO
CALL LeaveBlank('UU')
MM_WriteStem 'T:MMD.'MM.Msg.FromAddr'.uu' MM.Msg.Text APPEND
END
END
exit
RETURN
/* --------------------------------------------------------------------- */
InvalidResumeFile: PROCEDURE EXPOSE MM.
a.1 = 'The previous saved file isn''t correct for this message.' MM.nl 'Should I delete it?'
a.2 = '*_Yes|_No'
a.3 = 'Error...'
h = Requester(a.3,a.1,a.2)
IF h = 1 THEN DO
IF MM.Arg = 'FS' THEN MM_DeleteFile 'T:MMD.'MM.Msg.FromAddr
ELSE MM_DeleteFile 'T:MMD.'MM.Msg.FromAddr'.uu'
END
exit
/* --------------------------------------------------------------------- */
Encode: PROCEDURE EXPOSE MM.
MM_GetCfgPaths MM.Path
MM.Type.0 = 'UUEncode (Single)'
MM.Type.1 = 'UUEncode (Multi)'
MM.Type.2 = 'FSCode (Single)'
MM.Type.3 = 'FSCode (Multi)'
MM.Type.Count = 4
MM_SingleSelReq MM.Type MM.ModeResp '"'MM.PrgName'"' STR
IF MM.ModeResp.Count = 0 THEN EXIT
MM.FileName = MM.OutPath
MM_FileReq 'MM.FileName'
SELECT
WHEN MM.ModeResp.0 = MM.Type.0 THEN Encode2(UU)
WHEN MM.ModeResp.0 = MM.Type.1 THEN Encode2(UM)
WHEN MM.ModeResp.0 = MM.Type.2 THEN Encode2(FS)
WHEN MM.ModeResp.0 = MM.Type.3 THEN Encode2(FM)
OTHERWISE exit
END
/* ---------------------------------------------------------------------- */
Trasforma: PROCEDURE EXPOSE MM.
PARSE ARG String
IF INDEX(String,'%')=0 THEN RETURN String
String = Replace(String,MM.TempFile, '%s')
RETURN String
/* --------------------------------------------------------------------- */
TrasformaFS: PROCEDURE EXPOSE MM.
PARSE ARG String
IF INDEX(String,'%')=0 THEN RETURN String
String = Replace(String,MM.TempFile'1', '%s')
RETURN String
/* --------------------------------------------------------------------- */
Requester: PROCEDURE EXPOSE MM.
PARSE ARG Titolo, Testo, GadGets
MM_Requester '"'Titolo'"' 'Testo' 'GadGets'
RETURN rc
/* --------------------------------------------------------------------- */
CheckPart: PROCEDURE EXPOSE MM.
b = 1
DO cnt = 1 FOR MM.Tot
IF ~Exists('T:MFS.'MM.Name||cnt) THEN
DO
MM.No.b = 'Part 'cnt' of 'MM.Tot
b = b + 1
END
END
MM.No.Count = b
IF (b-1) > 0 THEN DO
j = Requester('Error!','I haven''t found '||MM.No.Count-1||' part(s) of the file.','_Ok|_Delete temp files|*_Show the missings parts')
SELECT
WHEN j = 1 THEN exit
WHEN j = 2 THEN ADDRESS COMMAND 'C:Delete >NIL: T:MFS.'MM.Name'#?'
WHEN j = 0 THEN CALL ShowParts()
OTHERWISE exit
END
END
ELSE
DO
ADDRESS COMMAND MM.FsCode 'T:MFS.'MM.Name MM.OutPath||MM.Name ' MULTI'
MM.fl = MM.OutPath||MM.Name
IF Exists(MM.fl) THEN
DO
CALL Requester('Yeah!','File completed & extracted:'MM.nl||MM.fl,'Ok')
a = 1
END
ELSE
DO
a = Requester('Oh Nooo!','Error on file:'MM.fl||MM.nl'Should I delete it?','*_Yes|_No')
END
IF a = 1 THEN
ADDRESS COMMAND 'C:Delete >NIL: T:MFS.'MM.Name'#?'
END
RETURN
/* --------------------------------------------------------------------- */
ShowParts: PROCEDURE EXPOSE MM.
MM.No.0 = ''
stringa = MM.Name' 'MM.nl
DO h = 0 FOR MM.No.Count
stringa = stringa||MM.No.h||MM.nl
END
Requester('Missings parts..',stringa,'Ok')
exit
/* --------------------------------------------------------------------- */
Encode2: PROCEDURE EXPOSE MM.
PARSE ARG MM.Coder
say MM.Coder
CALL SetOrigins()
SELECT
WHEN MM.Coder = 'FS' THEN
DO
CommandString = MM.FSCode ' ' MM.FileName ' ' MM.TempFile ' E'
ADDRESS COMMAND CommandString
CALL WriteMsg('FS')
END
WHEN MM.Coder = 'UU' THEN
DO
CommandString = MM.UUXT ' a ' MM.TempFile ' ' MM.FileName
ADDRESS COMMAND CommandString
CALL WriteMsg('UU')
END
WHEN MM.Coder = 'FM' THEN
DO
CALL AskLines()
CommandString = MM.FSCode ' ' MM.FileName ' ' MM.TempFile ' ENCODE MULTI LINES 'MM.Dim
ADDRESS COMMAND CommandString
CommandString = 'LIST ' MM.TempFile'[0-9]#? LFORMAT %p%n >'MM.TempList
IF Exists(MM.TempFile) THEN
DO
IF MM.Coder = 'FM' THEN
CALL Encode2('FS')
ELSE
CALL Encode2('UU')
END
ADDRESS COMMAND CommandString
MM_ReadStem MM.TempList MM.List
CALL WriteSplittedFSCodedMsg()
END
WHEN MM.Coder = 'UM' THEN
DO
CALL AskLines()
CommandString = MM.UUXT ' a ' MM.TempFile ' ' MM.FileName
ADDRESS COMMAND CommandString
MM_ReadStem MM.TempFile MM.List
MM.Sez = MM.List.Count / MM.Dim
CALL WriteSplittedUUCodedMsg()
END
END
/* --------------------------------------------------------------------- */
WriteMsg: PROCEDURE EXPOSE MM.
PARSE ARG Coder
MM_GetSysop 'MM.Sysop'
MM_ReadMsg MM.Area MM.MsgNum MM.Reply
MM.Editor = Trasforma(MM.Path.Editor)
Messaggio.From = MM.Sysop
Messaggio.To = MM.Reply.From
Messaggio.ToAddr = MM.Reply.FromAddr
Messaggio.Subj = MM.Reply.Subj
Messaggio.File = MM.TempFile
Messaggio.Tear = MM.PrgName
IF Coder = 'FS' THEN
Messaggio.Origin = 'Decode command: FsCode <FileName>'
ELSE
Messaggio.Origin = 'Decode command: UUxt x <FileName>'
MM_StringReq 'TO:' 'MM.Msg.From'
IF Rc = 0 THEN DO
IF MM.Msg.From ~= Messaggio.To THEN DO
Messaggio.To = MM.Msg.From
Messaggio.Subj = 'Message Generated by MM_MultiCode'
MM_GetAreaInfo MM.Area Area
IF Area.Type = 'MAIL' THEN DO
MM_StringReq 'Address:' 'MM.Address'
Messaggio.ToAddr = MM.Address
END
END
a = Requester('Edit?','Would you edit the message?','*_Yes|_No')
IF a = 1 THEN ADDRESS COMMAND MM.Editor
MM_WriteMsg MM.Area Messaggio
MM_DeleteFile MM.TempFile
END
EXIT
/* --------------------------------------------------------------------- */
AskLines: PROCEDURE EXPOSE MM.
MM.Dim = '100'
MM_StringReq '"Insert the number of lines (100 = ~8 Kbytes)"' 'MM.Dim'
IF Rc ~= 0 THEN exit
dt = DATATYPE(MM.Dim)
IF dt ~= 'NUM' THEN
DO
CALL Requester('Warning!','Only numeric values are accepted','Ok')
CALL AskLines()
END
RETURN
/* --------------------------------------------------------------------- */
WriteSplittedFSCodedMsg: PROCEDURE EXPOSE MM.
DROP Reply.
MM_GetSysop 'MM.Sysop'
MM_ReadMsg MM.Area MM.MsgNum MM.Reply
MM.Editor = TrasformaFS(MM.Path.Editor)
Messaggio.From = MM.Sysop
Messaggio.To = MM.Reply.From
Messaggio.ToAddr = MM.Reply.FromAddr
Messaggio.Tear = MM.PrgName
MM_StringReq 'TO:' 'MM.Reply.From'
IF Rc = 0 THEN DO
IF MM.Reply.From ~= Messaggio.To THEN DO
Messaggio.To = MM.Msg.From
MM_GetAreaInfo MM.Area Area
IF Area.Type = 'MAIL' THEN DO
MM_StringReq 'Address:' 'MM.Address'
Messaggio.ToAddr = MM.Address
END
END
END
ELSE
DO
MM_DeleteFile MM.TempList
ADDRESS COMMAND MM.Delete ' ' MM.TempFile'#? >NIL:'
EXIT
END
a = Requester('Edit?','Would you edit the message?','*_Yes|_No')
IF a = 1 THEN ADDRESS COMMAND MM.Editor
DO i = 0 FOR MM.List.Count
a = i + 1
Messaggio.Subj = 'Multi FsCoded Message ['a'/'MM.List.Count']'
Messaggio.File = MM.TempFile||a
SELECT
WHEN a = 1 THEN Messaggio.Origin = MM.Origin.UU
OTHERWISE
DO
IF a > MM.Origin.Limit THEN Messaggio.Origin = MM.Origin.Final
ELSE Messaggio.Origin = MM.Origin.a
END
END
MM_WriteMsg MM.Area Messaggio
END
MM_DeleteFile MM.TempList
ADDRESS COMMAND MM.Delete ' ' MM.TempFile'#? >NIL:'
EXIT
/* --------------------------------------------------------------------- */
Replace: PROCEDURE
PARSE ARG Data, New, Old
DO WHILE INDEX(Data, Old) ~= 0
INTERPRET "PARSE VAR Data l '"Old"' r"
Data = l || New || r
END
RETURN Data
/* ---------------------------------------------------------------------- */
WriteSplittedUUCodedMsg: PROCEDURE EXPOSE MM.
DROP Reply.
MM_GetSysop 'MM.Sysop'
MM_ReadMsg MM.Area MM.MsgNum MM.Reply
MM.Editor = TrasformaFS(MM.Path.Editor)
Messaggio.From = MM.Sysop
Messaggio.To = MM.Reply.From
Messaggio.ToAddr = MM.Reply.FromAddr
Messaggio.Tear = MM.PrgName
MM_StringReq 'TO:' 'MM.Reply.From'
IF Rc = 0 THEN DO
IF MM.Reply.From ~= Messaggio.To THEN DO
Messaggio.To = MM.Msg.From
MM_GetAreaInfo MM.Area Area
IF Area.Type = 'MAIL' THEN DO
MM_StringReq 'Address:' 'MM.Address'
Messaggio.ToAddr = MM.Address
END
END
END
ELSE
DO
MM_DeleteFile MM.TempFile
EXIT
END
CALL WriteSections()
a = Requester('Edit?','Would you edit the message?','*_Yes|_No')
IF a = 1 THEN ADDRESS COMMAND MM.Editor
DO i = 0 FOR MM.Numero
a = i + 1
Messaggio.Subj = 'Multi UUCoded Message ['a'/'MM.Numero']'
Messaggio.File = MM.TempFile||a
SELECT
WHEN i = 1 THEN Messaggio.Origin = MM.Origin.FS
OTHERWISE
DO
IF i > MM.Origin.Limit THEN Messaggio.Origin = MM.Origin.Final
ELSE Messaggio.Origin = MM.Origin.i
END
END
MM_WriteMsg MM.Area Messaggio
END
MM_DeleteFile MM.TempFile
ADDRESS COMMAND MM.Delete ' ' MM.TempFile'#? >NIL:'
EXIT
/* --------------------------------------------------------------------- */
WriteSections: PROCEDURE EXPOSE MM.
f = POS('.',MM.Sez)
IF f ~= 0 THEN
DO
MM.Numero = SUBSTR(MM.Sez,1,f)
MM.Numero = MM.Numero + 1
END
MM.Start = 0
MM.End = MM.Dim-1
DO i = 1 FOR MM.Numero
IF i = MM.Numero-1 THEN
DO
resto = MM.List.Count-(MM.Dim*i)
IF resto <= 4 THEN
DO
MM.End = MM.List.Count
MM.Numero = MM.Numero-1
END
END
CALL CopyStem()
MM_WriteStem MM.TempFile||i MM.Wrt
MM.Start = MM.Start+MM.Dim
MM.End = MM.Start+(MM.Dim-1)
END
RETURN
/* --------------------------------------------------------------------- */
CopyStem: PROCEDURE EXPOSE MM.
DROP MM.Wrt
MM.Wrt.Count = 0
MM_AddToStem MM.Wrt 'var'
DO i = MM.Start TO MM.End BY 1
var = MM.List.i
IF i < MM.List.Count THEN
MM_AddToStem MM.Wrt 'var'
ELSE
RETURN
END
RETURN
/* --------------------------------------------------------------------- */
SetOrigins: PROCEDURE EXPOSE MM.
MM.Origin.0 = 'Decode command: Rejoin by hand and....'
MM.Origin.2 = '..but.. if you use Mail Manager..'
MM.Origin.3 = '..you can use MM_MultiCode to decode...'
MM.Origin.4 = '.. this file ...'
MM.Origin.5 = '...Mail Manager is by Pino Aliberti..'
MM.Origin.6 = '..MM_MultiCode is by Alessandro Zummo'
MM.Origin.7 = '..remember...........'
MM.Origin.8 = '.. only Amiga makes it possible!!!!!!!'
MM.Origin.9 = 'WOW!!! This is a very looooong file!'
MM.Origin.10 = '.. MM_MultiCode.. simply the best'
MM.Origin.11 = ' Moderator! This file is too long!'
MM.Origin.12 = ' Moderator, please send me a FC '
MM.Origin.13 = 'Gocce di Luna - FreakNet World Center'
MM.Origin.14 = ' PGP is allowed on FreakNet!'
MM.Origin.15 = '... to be continued .....'
MM.Origin.Final = '...............................'
MM.Origin.UU = ' ... do: UUXT x <FileName>'
MM.Origin.FS = ' ... do: FsCode <FileName> MULTI'
MM.Origin.Limit = 15
/* --------------------------------------------------------------------- */
/* --------------------------------------------------------------------- */
/* --------------------------------------------------------------------- */
/* --------------------------------------------------------------------- */
/* --------------------------------------------------------------------- */
/* --------------------------------------------------------------------- */
/* --------------------------------------------------------------------- */
/* --------------------------------------------------------------------- */
/* --------------------------------------------------------------------- */
/* --------------------------------------------------------------------- */
/* --------------------------------------------------------------------- */
/* --------------------------------------------------------------------- */
/* --------------------------------------------------------------------- */
/* --------------------------------------------------------------------- */
/* --------------------------------------------------------------------- */