Changeset 244 for cpp/common/framsg.cpp
- Timestamp:
- 05/31/14 21:31:01 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
cpp/common/framsg.cpp
r197 r244 9 9 10 10 const char* MSG_LEVEL[]={"DEBUG","INFO","WARN","ERROR","CRITICAL"}; 11 12 void FramMessage(const char *o, const char *m, const char *txt, int w) 13 { 14 int line = 0; //all lines except the first one get the "..." prefix 15 const char* nextsep; 16 do 17 { 18 nextsep = strchr(txt, '\n'); 19 if (nextsep == NULL) //last chunk, until the end 20 nextsep = strchr(txt, '\0'); 21 if ((nextsep > txt) && (nextsep[-1] == '\r')) 22 nextsep--; 23 if (line == 0) 24 { 25 if (*nextsep == 0) //there was only one line! no need to modify it in any way. 26 _FramMessageSingleLine(o, m, txt, w); 27 else //first line from multi-line 28 _FramMessageSingleLine(o, m, string(txt, nextsep - txt).c_str(), w); 29 } 30 else //consecutive lines from multi-line 31 _FramMessageSingleLine(o, m, ("..." + string(txt, nextsep - txt)).c_str(), w); //could also add line numbers like ...(3)... but let's keep the prefix short and simple 32 line++; 33 if ((nextsep[0] == '\r') && (nextsep[1] == '\n')) 34 txt = nextsep + 2; 35 else if (*nextsep) 36 txt = nextsep + 1; 37 } while (*nextsep); 38 } 39 11 40 12 41 void FMprintf_va(const char *o,const char *m,int w,const char *bl,va_list va)
Note: See TracChangeset
for help on using the changeset viewer.