What are the benefits of converting from ODS-2 to ODS-5 ?... First, you must be aware that Samba/VMS 2.2.4 is only supposed to support ODS-5. Actually, there was no real tests done...
Well, now. How Samba deals with file names ? There are 2 problems : first the VMS unsupported characters in file names (é,à,blanks, etc..) and second the looooong file names. As you know, VMS accepts a maximum of 39 characters for the name and 39 characters for the type. For Samba 2.2.4, I took the solution designed by older Samba/VMS ports, and I added a little more, in order to be fully compatible with Pathworks. When, for some reason, a character is not acceptable in the file name (a blank, or a second dot, or some "ôther" char, it's replaced by it's ASCII representation (in hex), with "__" before it. As an example, "hellô.txt" is seen on VMS as HELL__93.TXT. In addition, if the file name or the file extension is greater than 39 characters, everything is considered as a single entity : the "real" dot (if any) is encoded as __2E, and I put a dot as trhe 39th character, and this dot is not seen from the client PC. For those who are interested, you can study the details in CVT_FILESPEC.C OK. So the drawbacks are : - suppose you want to have a file named A__20B.DAT. You'll always see it as "a b.dat" on your PC - There is no way to name a file "Hello.txt" : it will always be seen as "hello.txt" - the 39/39 limitation is always there, even with the tricks I listed above. In addition, remember that the "special" characters are seen as 1 char from the PC, but actually take 4 chars (__xx) on VMS, so the real maximum is NOT 39+39 seen by the PC, but may be far less than that (depends on the number of "special" characters). - VMS applications wanting to share files with PC applications must be aware of the above tricks (if those PC applications use fancy names...) With ODS-5, all this disappears, and you can have a file named "Once upon a time I walked happily in a beautiful forest" on your VMS machine as well as on your PC, and you even can share it between 2 cooperating applications...