Subj : Re: Problem with filenames containing spaces To : Oli From : James Coyle Date : Fri Jan 14 2022 02:25 pm Ol> JC> method was already in the wild and implemented. That change doesn't Ol> JC> magically make legacy software work differently. Ol> Ol> sure ;-P Ol> Ol> Ol> Ol> Ol> Ol> Ol> Ol> Ol> Ol> Ol> Ol> Ol> Ol> Ol> Ol> Ol> https://github.com/pgul/binkd/blob/45986b77161a366ea3d258a01dad442d3d21d81 I can't figure out what you're trying to show there, but I don't think you know either. Thats not the escaping code if that is what you're going for. This is: char *strquote (char *s, int flags) { ... (cut some stuff) ... sprintf (r + i, "\\x%02x", *(unsigned char *) s); } And at least in the version you're showing me, BINKD does not implement the per-connection option for legacy escaping as per the FTS update. If it did, then Paul would not have the issue he's having and thus why I sent him in this direction. Paul's issue cannot be solved unless BINKD is updated or his downlink changes software versions. There is literally nothing I can do to help him. I don't care if BINKD wants to support escaping in legacy mode as per FTS or not personally. And for the record. Here's Mystic's code for this. It more closely follows FTS in comparison to the link I just looked at which you sent, so I don't know what you're complaining about: Function TBinkP.EscapeFileName (Const Str: String) : String; { Replace illegal characters with \## escaped sequences } Const SafeChars = ['!', '"', '#', '$', '%', '&', '''', '(', ')', '*', '+', ',', '-', '.', '/', ':', ';', '<', '=', '>', '?', '@', '[', ']', '^', '_', '`', '{', '}', '~']; AlphaChars = ['0'..'9','A'..'Z','a'..'z']; Var Count : Byte; Begin Result := ''; For Count := 1 to Length(Str) Do If (Str[Count] in SafeChars) or (Str[Count] in AlphaChars) Then Result := Result + Str[Count] Else { 0=Original BINKP (Argus, IREX, Amiga) } { 1=Updated (Post 2010+ FTS updates ie BINKD uses this) } Case EscapeMode of 1 : Result := Result + '\x' + strI2H(Byte(Str[Count]), 2); Else Result := Result + '\' + strI2H(Byte(Str[Count]), 2); End; End; .... One tequila, two tequila, three tequila, floor. --- Mystic BBS v1.12 A48 2022/01/14 (Windows/64) * Origin: Sector 7 * Mystic WHQ (1:129/215) .