New debug history in rigerror -- notably longer and may reduce this size as it could be too much history

Should help error reporting in WSJTX and JTDX
pull/1022/head
Mike Black W9MDB 2022-05-04 07:26:59 -05:00
rodzic 3a4d99dd77
commit f0469e48a7
1 zmienionych plików z 3 dodań i 2 usunięć

Wyświetl plik

@ -3272,15 +3272,16 @@ extern HAMLIB_EXPORT(int)
rig_need_debug HAMLIB_PARAMS((enum rig_debug_level_e debug_level));
extern HAMLIB_EXPORT(void)add2debugmsgsave(const char *s);
// this need to be fairly big to avoid compiler warnings
#define DEBUGMSGSAVE_SIZE 24000
#define DEBUGMSGSAVE_SIZE 16512
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,...) do { strncpy(debugmsgsave3, debugmsgsave2,sizeof(debugmsgsave3));strncpy(debugmsgsave2, debugmsgsave, sizeof(debugmsgsave2));snprintf(debugmsgsave,sizeof(debugmsgsave),fmt,__VA_ARGS__);rig_debug(debug_level,fmt,##__VA_ARGS__); debugmsgsave3[0]=0;debugmsgsave2[0]=0;debugmsgsave[0]=0; } while(0);
#define rig_debug(debug_level,fmt,...) do { snprintf(debugmsgsave2,sizeof(debugmsgsave2),fmt,__VA_ARGS__);rig_debug(debug_level,fmt,##__VA_ARGS__); add2debugmsgsave(debugmsgsave2); } while(0);
#endif
#endif