Window’s XP’s integrated ZIP functionality (built into Windows Explorer) is not trustworthy. You should not rely on it to correctly unzip or show the contents of archives. The problem is related to special characters in filenames. If a filename has one of the forbidden characters, Windows XP simply doesn’t extract or show the files. A recent example is the 9rules media kit, which 9rules sent me when I was accepted to the network. I opened it at home but didn’t have time to make the requested changes to my site. I decided to do it after work, on my employer’s Windows XP machine, and was puzzled because some directories were missing. It turns out the directory had a colon in the name.
It isn’t really Windows’s fault; after all, Windows is just showing you the files it thinks are legal. You could argue the real problem is just an invalid (for Windows) archive. But I will stand my ground on this point: Windows should not be hiding errors from you. If Windows can’t open and display the contents of an archive, it should say so, and not lead you to believe everything worked. This is a basic principle of building reliable, correct software. You need to know when it fails (and in many cases, define fatal errors and explicitly disallow any efforts to recover, as is the case with XML).
Technorati Tags:No Tags
I was rather astonished to read this, not so much in disbelief, but more of a nasty shock. Makes me wonder what I’ve missed in the past. Also makes me wonder what else Windows is simply glossing over.
It also occurs to me that someone wrote the code to handle the filenames and either purposefully or forgetfully neglected to check both cases (valid, invalid). At some point in there they wrote an IF/ELSE clause or a TRY/CATCH clause, and either ignored the invalid case or let control loop around to the next file. Even a really basic code-coverage checker would catch that sort of omission.