Slightly strange one this, and certainly new to me.
I'm converting a load of old code - one routine per file - from fixed format to free format style. I had an existing Plato project based on the old code. I started the conversion process at home this morning, and created some modules, each using code from several of the existing files. When I try and compile one of them, Plato issues:
warning 610: - The file contains invalid ASCII character(s) 0 (NUL), replacing with space(s)
However, if I make any change and try and compile again, it repeats the warning - so I presume it means it is changing NULLs to spaces in the in-memory copy of the source code used to make object code, rather than changing the actual source code?
Now I'm at work and I have copied the project and renamed it (it's easier to maintain two project files, corresponding to different source locations at home and at work). In the new project, when I try and open the offending file, I get warned that the file contains NULL characters, and asked if I want to continue.
I don't know how these NULL characters got in there. I presume they weren't in there before I started the conversion process (though I can't be certain - I have built the exe previously without having all several dozen source files opened in Plato) - but clearly they are bad news. So how do I find them? I have an editor that can display in hex mode, but is there a smarter way to find the NULLs than trawling through byte by byte :? ?
Andy