From 7df060830695e59c53832c930d855a752bab0cc3 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Mon, 28 May 2018 17:44:26 +0200 Subject: [PATCH] STYLE: inline shorterPath function for printStack --- src/OSspecific/POSIX/printStack.C | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/src/OSspecific/POSIX/printStack.C b/src/OSspecific/POSIX/printStack.C index 19db2c63034..e9310dfb7ee 100644 --- a/src/OSspecific/POSIX/printStack.C +++ b/src/OSspecific/POSIX/printStack.C @@ -50,7 +50,7 @@ string pOpen(const string& cmd, label line=0) char *buf = nullptr; // Read line number of lines - for (label cnt = 0; cnt <= line; cnt++) + for (label cnt = 0; cnt <= line; ++cnt) { size_t linecap = 0; ssize_t linelen = ::getline(&buf, &linecap, cmdPipe); @@ -96,6 +96,14 @@ inline word addressToWord(const uintptr_t addr) } +inline string& shorterPath(string& s) +{ + s.replace(cwd() + '/', ""); + s.replace(home(), "~"); + return s; +} + + void printSourceFileAndLine ( Ostream& os, @@ -132,14 +140,12 @@ void printSourceFileAndLine } else if (line == "??:0") { - os << " in " << filename; + line = filename; + os << " in " << shorterPath(line).c_str(); } else { - string cwdLine(line.replaceAll(cwd() + '/', "")); - string homeLine(cwdLine.replaceAll(home(), "~")); - - os << " at " << homeLine.c_str(); + os << " at " << shorterPath(line).c_str(); } } } @@ -202,7 +208,7 @@ void Foam::error::safePrintStack(std::ostream& os) // See if they contain function between () e.g. "(__libc_start_main+0xd0)" // and see if cplus_demangle can make sense of part before + - for (size_t i = 0; i < size; i++) + for (size_t i = 0; i < size; ++i) { string msg(strings[i]); fileName programFile; @@ -226,7 +232,7 @@ void Foam::error::printStack(Ostream& os) fileName fname = "???"; word address; - for(size_t i=0; i<size; i++) + for (size_t i=0; i<size; ++i) { int st = dladdr(callstack[i], info); -- GitLab