• src/sbbs3/filedat.c ftpsrvr.c js_file_area.c scfgdefs.h scfglib2.c

    From Rob Swindell to Git commit to main/sbbs/master on Thursday, January 27, 2022 22:43:43
    https://gitlab.synchro.net/main/sbbs/-/commit/51ab0a7f03679b8888d28ecf
    Modified Files:
    src/sbbs3/filedat.c ftpsrvr.c js_file_area.c scfgdefs.h scfglib2.c
    Log Message:
    Add 'vdir' (virtual directory name) member to lib_t and dir_t

    This change is just for internal consistency and convenience right now: the lib_t.vdir is a "sanitized" copy of the lib's short name (spaces are converted to dots or underscores based on the logic that the FTP server used in dotname()) and the dir_t.vdir is just a pointer to the dir's code_suffix. No other permutations are made (e.g. lower-casing the strings). Although the virtual directory names of libraries will now appear in mixed case in the FTP server (previously, they were all lowercase), the directory names are actually treated case-insensitively, so it should not make any difference. If forced-lowercase is preferred for some reason, please speak up.

    This change leads the way to eventually, possibly, making these virtual path elements sysop-configurable. For now, it's just better to have a *copy* of the lib's short name that is appropriately modified to make a suitable directory name and have that vpath element available globally (to all servers and services) in a consistent manner.

    So Nelgin asked (about filebase access via http), what if the library short name has a space in it? The answer now is, the spaces are replaced with a '.' or '_' (if there's already dots in the name).