Often, URLs just refer to files on the filesystem. Like file://
URLs, or castle-data:/
URLs (on platforms where the application data is just a set of regular files). In this case, the underlying filesystem determines whether the names are case-sensitive (so e.g. foobar
vs FooBar
mean something else) or not.
-
On most operating systems (like Linux, FreeBSD, macOS; but also mobile and console filesystems) the filesystems are typically case-sensitive.
-
On Windows, the filesystems are typically not case-sensitive.
Note
|
To complicate matters, whether the filesystem is case sensitive or not is not actually determined by the OS. You can mount on Windows a case-sensitive filesystem like Ext4. You can mount on Linux a case-ignoring filesystem like NTFS. So the filesystems can be case-sensitive or not on any OS.
|
To make the application work on all platforms, be sure to always specify the same case in URLs as your files. So, assume that URLs are case-sensitive.
E.g. take care if you load castle-data:/FooBar.png
or castle-data:/foobar.png
. Using wrong letter case may be an easy mistake, because on Windows both versions will work, but on Linux only the version with correct case.
If you don’t want to care about the latter case (which makes sense if you develop mostly on Windows but want your application to also work on other platforms), a simple solution is to set global variable CastleDataIgnoreCase
to true
.