home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 18 REXX
/
18-REXX.zip
/
rexxface.zip
/
xface.cmd.in
< prev
Wrap
Text File
|
1998-02-01
|
2KB
|
89 lines
/*
* xface.cmd -- XBM generator from raw message file
*
* Copyright (C) 1997-1998 OKUNISHI Fujikazu
*
* Author: OKUNISHI Fujikazu <fuji0924@mbox.kyoto-inet.or.jp>
* Created: Jul 31, 1997
* Revised: Feb 1, 1998
*
* how2use:
* ex.)
* 1. xface.cmd e:\foo\message [RET]
* 2. xface.cmd +x-face/mail [RET]
* 3a. xface.cmd =some/news/group/article [RET]
* 3b. xface.cmd =some.news.group/article [RET]
* 4. xface.cmd ~/foo/file > foo.xbm [RET]
*
*/
/* ----------------------------------------------------------------- *
* site-dependencies (relative path from $HOME)
* ----------------------------------------------------------------- */
MAILDIR = '@MAIL@' /* Mail directory */
NEWSSPOOL= '@NEWS@' /* saved News spool */
/* ----------------------------------------------------------------- */
Trace Off
'@echo off'
If RxFuncQuery('SysLoadFuncs') Then Do
Call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
Call SysLoadFuncs
End
Parse Arg file .
UNCOMPFACE= SysSearchPath('PATH','uncompface.exe')
IKON2XBM = SysSearchPath('PATH','icon2xbm.cmd')
If UNCOMPFACE='' | IKON2XBM ='' Then Exit 255
env ='OS2ENVIRONMENT'
HOME=Value('HOME',,env)
TMP=Value('TMP',,env)
If TMP='' Then TMP=Value('TEMP',,env)
If TMP='' Then TMP='.'
XFaceTemp= Translate(TMP,'\','/') || '\' || SysTempFileName(')xface(.???')
file = Translate(file,'\','/')
Select
When file='' Then Do
If Lines()==0 Then Exit 255
src='STDIN'
End
When Left(file,1)='~' Then src= HOME||Delstr(file,1,1)
When Left(file,1)='+' Then src= HOME'/'MAIL'/'Delstr(file,1,1)
When Left(file,1)='=' Then Do /* fj.editor.mule ==> fj/editor/mule */
src.rev=Reverse(file)
Parse Var src.rev fn.rev '\' dir.rev
src=Translate(Delstr(Reverse(dir.rev),1,1),'\','.') ||'\'|| Reverse(fn.rev)
src= HOME'\'NEWSSPOOL'\'src
End
Otherwise NOP
End
If src<>'STDIN' & Stream(src,'C','Query Exist') ='' Then Exit
Do While Lines(src)
Rec = Translate(Linein(src),'',D2C(9))
If Translate(Left(Rec,7))='X-FACE:' Then Signal CUT_FACE
End
Exit /* no X-Face: */
CUT_FACE:
Do i=1 by 1 While Lines(src)
Rec.i = Linein(src)
If Left(Rec.i,1) <> '20'x Then Leave
Rec= Rec || Rec.i
End
Parse Var Rec 'X-Face:' Rec
Call LineOut XFaceTemp,Rec; Call LineOut XFaceTemp /*close*/
UNCOMPFACE XFaceTemp '|' IKON2XBM
rc=SysFileDelete(XFaceTemp)
Exit
/* end of procedure */