Fix escaped identifiers with '.' causing conflicts, bug83.

This commit is contained in:
Wilson Snyder
2009-05-08 13:16:19 -04:00
parent 4569278c53
commit a3e463030d
11 changed files with 91 additions and 47 deletions
+17
View File
@@ -431,6 +431,23 @@ void V3OutFile::putBreak () {
}
}
void V3OutFile::putsQuoted(const char* strg) {
// Quote \ and " for use inside C programs
// Don't use to quote a filename for #include - #include doesn't \ escape.
putcNoTracking('"');
for (const char* cp=strg; *cp; cp++) {
if (*cp == '\\') {
putcNoTracking('\\');
putcNoTracking('\\');
} else if (*cp == '"') {
putcNoTracking('\\');
putcNoTracking('"');
} else {
putcNoTracking (*cp);
}
}
putcNoTracking('"');
}
void V3OutFile::putsNoTracking (const char *strg) {
// Don't track {}'s, probably because it's a $display format string
for (const char* cp=strg; *cp; cp++) {