Add one more level of debug msg history

pull/608/head
Michael Black W9MDB 2021-03-07 12:02:26 -06:00
rodzic a35f39840c
commit c1f539b1f6
2 zmienionych plików z 5 dodań i 4 usunięć

Wyświetl plik

@ -2896,11 +2896,11 @@ rig_need_debug HAMLIB_PARAMS((enum rig_debug_level_e debug_level));
#define DEBUGMSGSAVE_SIZE 24000 #define DEBUGMSGSAVE_SIZE 24000
extern HAMLIB_EXPORT_VAR(char) debugmsgsave[DEBUGMSGSAVE_SIZE]; // last debug msg 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) debugmsgsave2[DEBUGMSGSAVE_SIZE]; // last-1 debug msg
extern HAMLIB_EXPORT_VAR(char) debugmsgsave3[DEBUGMSGSAVE_SIZE]; // last-2 debug msg
#ifndef __cplusplus #ifndef __cplusplus
#ifdef __GNUC__ #ifdef __GNUC__
// doing the debug macro with a dummy sprintf allows gcc to check the format string // 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(debugmsgsave3, debugmsgsave2);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(debugmsgsave2, debugmsgsave);snprintf(debugmsgsave,sizeof(debugmsgsave),fmt,__VA_ARGS__);rig_debug(debug_level,fmt,##__VA_ARGS__); } while(0);
#endif #endif
#endif #endif
extern HAMLIB_EXPORT(void) extern HAMLIB_EXPORT(void)

Wyświetl plik

@ -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 debugmsgsave[DEBUGMSGSAVE_SIZE] = "No message";
char debugmsgsave2[DEBUGMSGSAVE_SIZE] = "No message"; char debugmsgsave2[DEBUGMSGSAVE_SIZE] = "No message";
char debugmsgsave3[DEBUGMSGSAVE_SIZE] = "No message";
const char *HAMLIB_API rigerror(int errnum) const char *HAMLIB_API rigerror(int errnum)
{ {
@ -310,8 +311,8 @@ const char *HAMLIB_API rigerror(int errnum)
if (*p == '\n') { *p = 0; } if (*p == '\n') { *p = 0; }
snprintf(msg, sizeof(msg), "%.80s\n%.15000s%.15000s", rigerror_table[errnum], snprintf(msg, sizeof(msg), "%.80s\n%.15000s%.15000s%.15000s", rigerror_table[errnum],
debugmsgsave2, debugmsgsave); debugmsgsave3,debugmsgsave2, debugmsgsave);
return msg; return msg;
} }