Minor point: This will be a little confusing to the user in the case of "\" (and I guess in the case of \0, though I'm not sure how they'd even end up with that character).

Could replace with something like:

```
var errChar = match[0];
if (errChar === "\0") errChar = "[null character]";
reportError("File name contains invalid character \"" + errChar + "\"");
```

Obviously, you'd need to clean up the unit tests, too.