Internals: Relocate quoteNameControls, part of bug1444.

Signed-off-by: Wilson Snyder <[email protected]>
This commit is contained in:
Kanad Kanhere
2019-05-16 21:44:01 -04:00
committed by Wilson Snyder
parent 8d6bea8975
commit 3411279294
8 changed files with 32 additions and 31 deletions
-25
View File
@@ -429,31 +429,6 @@ string V3Number::ascii(bool prefixed, bool cleanVerilog) const {
return out.str();
}
string V3Number::quoteNameControls(const string& namein) {
// Encode control chars into C style escapes
// Reverse is V3Parse::deQuote
string out;
for (string::const_iterator pos=namein.begin(); pos!=namein.end(); ++pos) {
if (pos[0]=='\\' || pos[0]=='"') {
out += string("\\")+pos[0];
} else if (pos[0]=='\n') {
out += "\\n";
} else if (pos[0]=='\r') {
out += "\\r";
} else if (pos[0]=='\t') {
out += "\\t";
} else if (isprint(pos[0])) {
out += pos[0];
} else {
// This will also cover \a etc
// Can't use %03o as messes up when signed
char octal[10]; sprintf(octal,"\\%o%o%o",(pos[0]>>6)&3, (pos[0]>>3)&7, pos[0]&7);
out += octal;
}
}
return out;
}
bool V3Number::displayedFmtLegal(char format) {
// Is this a valid format letter?
switch (tolower(format)) {