GN_Fcm, Compress a filename
Register parameters
RST 20H, DEFW $4E09
IN:
BHL = source pointer
HL = 0, not allowed
HL = 1, not allowed
HL = 2, not allowed
String should be terminated by a control character
(HL > 255, B = 0 means local pointer)
DE = destination (local) pointer
0: result to stream IX handle
1: result to filter IX handle
> 255: place string at (DE)
C = limit of space to use
OUT, if call successful:
Fc = 0
DE = points to the character after the last one written
(if DE(in) > 255)
B = number of filename segments returned
C = number of characters in compressed space
OUT, if call failed:
Fc = 1
A = error code:
RC_BAD ($04), bad parameters, fatal error
Registers changed after return:
......HL/IXIY same
AFBCDE../.... different
Notes
If the filename cannot be reproduced in the space available, ie. C(in), then on exit C =1, B = 0 and the expansion buffer (stream or filter) will be given a NULL. Setting C(in) = 18 will guarantee the return of a filename and extension.
Bugs
If the source is in segment 2 then problems may occur.
Related calls
GN_Esa, read & write to filename segments
GN_Fex, expand a filename
GN_Opw, Open wildcard handler
GN_Pfs, parse filename segment
GN_Prs, parse filename
GN_Wcl, close wildcard handle
GN_Wfn, fetch next match for wildcard string (handle)
GN_Wsm, match filename segment to wildcard string
, multiple selections available,