/*
 * splitpath
 *
 * USAGE: path,file = 'dos/splitpath'(filepath,TAGS)
 *
 * $(C): (1995, Rocco Coluccelli, Bologna)
 * $VER: splitpath 1.02 (11.Nov.1996)
 */

SIGNAL ON halt
SIGNAL ON break_c

/*
 *	TAGS:
 *		'tag.EXT=' force an extension to the filename
 *	METHODS:
 *		'NOEXT' remove file extension
 *		'NODIR' return only filename
 */
tag. = ""
PARSE ARG filepath,tags
INTERPRET tags

p = MAX(LASTPOS('/',filepath),POS(':',filepath))
PARSE VAR filepath path +p file

IF POS('EXT',tag.METHODS) > 0 THEN DO
	p = LASTPOS('.',file) - 1; PARSE VAR file file +p; END

IF tag.EXT ~= '' THEN DO
	p = 30 - LENGTH(tag.EXT); PARSE VAR file file +p; file = file || tag.EXT; END

IF POS('DIR',tag.METHODS) > 0 THEN EXIT file
EXIT path','file


halt:
break_c:
	RETURN
