Changeset 244 for cpp/common
- Timestamp:
- 05/31/14 21:31:01 (11 years ago)
- Location:
- cpp/common
- Files:
-
- 3 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) -
cpp/common/framsg.h
r197 r244 13 13 void FMprintf_va(const char *o,const char *m,int w,const char *bl,va_list va); //a different name than FMprintf - otherwise the compiler could confuse the "string" parameter with va_list and could call the wrong function 14 14 void printFM(const char *bl,...); //a shorthand for printf (a different name again to avoid the risk of confusion with the two functions above. This would be unlikely but possible when the argument types would match) 15 void FramMessage(const char *o,const char *m,const char *bl,int w); 15 void FramMessage(const char *o,const char *m,const char *txt,int w); 16 17 void _FramMessageSingleLine(const char *o,const char *m,const char *txt,int w); //don't call this directly - it is used internally 16 18 17 19 #define FMLV_DEBUG -1 -
cpp/common/nonstd.h
r227 r244 57 57 #endif 58 58 59 #if def MACOS59 #if defined MACOS || defined __ANDROID__ 60 60 #define stricmp(a,b) strcasecmp(a,b) 61 61 #endif
Note: See TracChangeset
for help on using the changeset viewer.