/* ** AREXX $VER: NameStruc V1.0 (13.09.1992) ** ** This ARexx script accepts a filename and returns three lengthes (not ** strings, to avoid problems with embedded spaces) corresponding to the ** main parts of this filename. ** ** Example: RAM:foo/bar/nasty.tar.Z ** ^ ^ ^ ** volume : 4 (RAM:) ** subdirlen: 8 (foo/bar/) NOTE : The trailing slash is included. ** baselen : 9 (nasty.tar) NOTE : if no extension, whole length. */ Parse Arg FULLNAME /* FULLNAME = strip(FULLNAME,'L') */ VOLUME = Index(FULLNAME,":") SUBDIRLEN = LastPos("/",SubStr(FULLNAME,1+VOLUME)) FILEONLY = SubStr(FULLNAME,VOLUME+1+SUBDIRLEN) BASELEN = LastPos(".",FILEONLY) If 0 = BASELEN Then BASELEN = Length(FILEONLY) Else BASELEN = BASELEN - 1 Return VOLUME' 'SUBDIRLEN' 'BASELEN