If one repeats the same experiment on a Win98 pc, then the file or
directory name is not changed when using dosfs2.
Does anyone know a work-around for this problem?
Thanks in advance,
Hans Vermeersch.
An old style 8.3 file name is stored in directory entry with all alphabetic
characters in upper case, that is the rule for 8.3 file names. In fact,
Scandisk on Windows would claim it is an error to have a lower case
or an international character in an 8.3 file name.
For some reason, some Microsoft systems display the 8.3 file names
in lower case, or first letter upper case, other lower case.
DosFs2 displays the file names EXACTLY as they appear in the directory
entry,
and does not limit the characters to upper case, because over the years many
DOS-based applications used international cahracters in file names, and I
have
decided (when designing DosFs2) that this should be allowed in VxWorks,
hence
there is no CONVERSION of characters for displaying either 8.3 or long file
names
by the file system, and no restrictions - all 8 bits can be used.
Hope this helps,
Leonid Rosenboim
"Hans Vermeersch" <hans.ve...@protronic.com> wrote in message
news:fcb7d817.02041...@posting.google.com...
What I still do not understand is why this same file name on the
compact flash card is correct on a Win2000 or Win98 pc. Let me give an
example :
1. create a file "UPPlow.TxT" on a cf card (FAT formatted) on Win98 pc
2. this same file appears as "UPPLOW.TXT" with DosFs2
3. this same file appears as "UPPlow.TxT" on a Win2000 or Win98 pc
So, I think there must be some additional information somewhere hidden
in the compact flash file system that has not been used by the DosFs2.
Does anyone know where this information has been hidden, and how you
can retrieve it ?
Thanks,
Hans Vermeersch.
Hans,
When you create files on a FAT volume under Windows, it creates *two*
entries in the directory. One is an all uppercase 8.3 format which is a
hangover from the good old days of DOS and another entry, just as you
typed it in the long file name format. This can take up several directory
entries. To prevent DOS from listing the long file name fragments, the
first character is mangled to indicate a deleted directory entry. This
keeps both DOS and Windows happy.
I am not familiar with the details of how DosFs2 copes with all this but
it looks like it returns the DOS 8.3 filename unless its illegal.
What does DosFs2 do with filenames that don't fit into the 8.3 format
like your examples. Windows by default truncates the filename to six
characters and adds ~n to keep the 8.3 forms unique. Maybe DosFs2 uses
the "~" to tell that a long filename exists, in which case it returns the
long filename format.
Regards,
Roy Bamford
--
Computer users fall into two groups:-
Those that do backups
Those that have never had a hard drive fail
Roy,
Thanks for the explanation. Now I know that there are two entries
created for each filename.
Filenames that don't fit into the 8.3 format, and created on a pc with
a FAT file system, are correctly shown with DosFs2. Even complicated
filenames with a mixture of upper and lower case characters. There is
no truncation or other mutilation.
Only filenames that fit into the 8.3 format, and created on a pc with
a FAT file system, are *always* shown in upper case with DosFs2.
Why is DosFs2 not using the original filename in case of a 8.3 name
format ?
Regards,
Hans Vermeersch
After you create the file under Windows, what do you get inside the
directory entry?
There are plenty of tools for the Windows world to display raw directory
entries, an dyou may also need a thorough explanation of the VFAT file name
format to understand that raw data.
Roy's explanation is quite insufficient.
Leonid
"Hans Vermeersch" <hans.ve...@protronic.com> wrote in message
news:fcb7d817.02042...@posting.google.com...
This is hard to explain, without understanding HOW does Win2k store
such a file name on the volume, Does it create a long name in addition to
the 8.3 alias ? What is special about this alias when opposed to a truly
long file name?
Needs more research.
> Regards,
>
>
> Hans Vermeersch