[missing-sync-palmos-talk] Re: Extraordinarily bad Missing Sync bug
Dave Butenhof
dbutenhof at mac.com
Wed May 3 13:51:33 PDT 2006
> I tried to file a bug report on the site, but here's the result I
> got from
> the support team:
>
> This is not a bug in the Missing Sync. It is an improper naming
> convention
> to use on a computer that is based on a Unix operating system. I
> suggest
> that you do not use non-ASCII characters in filenames or folders.
>
> The "/" character is not allowed in filenames or folders in Mac OS.
> You
> would have similar problems if you started the filemane or folder
> with "."
> or " " (a space). If the filenames or folders were deleted, there
> is no
> place I can point you to to recover them.
>
>
> So basically it was all my fault and the support team seems to
> think that
> Missing Sync deleting files is in fact normal behaviour. Plus they
> don't
> know what filenames are legal in the Finder. Do they hire Linux
> guys for the
> support team?
Legal file names in Mac OS X are complicated by several layers.
Basically, HFS+ is running on top of a UNIX filesystem.
In HFS+, ":" is the directory separator, and can't be used in filenames.
In UNIX, "/" is the directory separator, and can't be used in filenames.
In the Finder, on a typical Mac OS X system running HFS+ on top of
UNIX, both are true, in a sense.
If you create a file "foo:bar" in the Finder, it'll tell you that you
can't do that -- it's not an HFS+ filename. But since "foo/bar" is a
legal HFS+ filename, and might exist on an old Mac OS 9 HFS+ disk,
it's allowed. But to UNIX it's really "foo:bar", because THAT'S
legal, while "foo/bar" isn't. (Try it: create "foo/bar" in your
~username home directory, open a Terminal window, and type "ls";
you'll see "foo:bar". You can do it the other way, too, of course:
"touch foo:bar" to create a file, then look at your Finder window.)
So the problem is a matter of viewpoint. Programs using UNIX APIs
will see "foo:bar" while HFS+ APIs will see "foo/bar", but they're
the same file. It's not hard to imagine cases where this could be
really confusing, and the advice to avoid both where practical makes
a good deal of sense.
Of course since "/" is a "native filename character" on the default
HFS+ Mac OS X filesystem, any Mac OS X utility ought to support it;
whether through HFS+ APIs as "/" or through UNIX APIs as the ":" to
which it will be mapped. And wiping out user data is never acceptable
-- especially when BOTH filenames are perfectly legal, each in the
proper API domain. (A bug like this is perfectly understandable; but
deserves an apology and a fix, not "it's your problem".)
More information about the missing-sync-palmos-talk
mailing list