One of our programs wasn’t working when the input file was on a Linux server. You know, I make a living writing software on Windows, but I’m a Linux guy at hearth, so this was a bit disappointing. Initially, I blamed it on a misconfigured Samba, then I looked at the code and saw that it errored out on a call to tmpfile(). OK, let’s look at the documentation for tmpfile() in the Visual Studio help, just in case…
… The temporary file is created in the root directory. …
Say what?
No, really… WHAT?!?!?
Let’s put aside for a second the fact that any sensible administrator will never, ever allow write access to the root directory of a network volume. AFAIK, the root of the C: drive is read-only on Windows XP if you don’t have administrative rights, so this would break.