kopia lustrzana https://github.com/Hamlib/Hamlib
Add one more level of debug msg history
rodzic
a35f39840c
commit
c1f539b1f6
|
@ -2896,11 +2896,11 @@ rig_need_debug HAMLIB_PARAMS((enum rig_debug_level_e debug_level));
|
|||
#define DEBUGMSGSAVE_SIZE 24000
|
||||
extern HAMLIB_EXPORT_VAR(char) debugmsgsave[DEBUGMSGSAVE_SIZE]; // last debug msg
|
||||
extern HAMLIB_EXPORT_VAR(char) debugmsgsave2[DEBUGMSGSAVE_SIZE]; // last-1 debug msg
|
||||
extern HAMLIB_EXPORT_VAR(char) debugmsgsave3[DEBUGMSGSAVE_SIZE]; // last-2 debug msg
|
||||
#ifndef __cplusplus
|
||||
#ifdef __GNUC__
|
||||
// doing the debug macro with a dummy sprintf allows gcc to check the format string
|
||||
//#define rig_debug(debug_level,fmt,...) { char xxxbuf[16384]="";snprintf(xxxbuf,sizeof(xxxbuf),fmt,__VA_ARGS__);rig_debug(debug_level,fmt,##__VA_ARGS__); }
|
||||
#define rig_debug(debug_level,fmt,...) do { strcpy(debugmsgsave2, debugmsgsave);snprintf(debugmsgsave,sizeof(debugmsgsave),fmt,__VA_ARGS__);rig_debug(debug_level,fmt,##__VA_ARGS__); } while(0);
|
||||
#define rig_debug(debug_level,fmt,...) do { strcpy(debugmsgsave3, debugmsgsave2);strcpy(debugmsgsave2, debugmsgsave);snprintf(debugmsgsave,sizeof(debugmsgsave),fmt,__VA_ARGS__);rig_debug(debug_level,fmt,##__VA_ARGS__); } while(0);
|
||||
#endif
|
||||
#endif
|
||||
extern HAMLIB_EXPORT(void)
|
||||
|
|
|
@ -293,6 +293,7 @@ int foreach_opened_rig(int (*cfunc)(RIG *, rig_ptr_t), rig_ptr_t data)
|
|||
*/
|
||||
char debugmsgsave[DEBUGMSGSAVE_SIZE] = "No message";
|
||||
char debugmsgsave2[DEBUGMSGSAVE_SIZE] = "No message";
|
||||
char debugmsgsave3[DEBUGMSGSAVE_SIZE] = "No message";
|
||||
|
||||
const char *HAMLIB_API rigerror(int errnum)
|
||||
{
|
||||
|
@ -310,8 +311,8 @@ const char *HAMLIB_API rigerror(int errnum)
|
|||
|
||||
if (*p == '\n') { *p = 0; }
|
||||
|
||||
snprintf(msg, sizeof(msg), "%.80s\n%.15000s%.15000s", rigerror_table[errnum],
|
||||
debugmsgsave2, debugmsgsave);
|
||||
snprintf(msg, sizeof(msg), "%.80s\n%.15000s%.15000s%.15000s", rigerror_table[errnum],
|
||||
debugmsgsave3,debugmsgsave2, debugmsgsave);
|
||||
return msg;
|
||||
}
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue