Rebol Programming/split-path

= USAGE: = SPLIT-PATH target

= DESCRIPTION: = Splits a file or URL path. Returns a block containing path and target.

SPLIT-PATH is a function value. = ARGUMENTS =
 * target -- (Type: file url)

= SOURCE CODE = split-path: func [ {Splits a file or URL path. Returns a block containing path and target.} target [file! url!] /local dir pos ][   parse/all target [ [#"/" | 1 2 #"." opt #"/"] end (dir: dirize target) | pos: any [thru #"/" [end | pos:]] (           all [empty? dir: copy/part target at head target index? pos dir: %./]             all [find [%. %..] pos: to file! pos insert tail pos #"/"]        ) ]    reduce [dir pos] ]