diff --git a/rigs/rs/gp2000.c b/rigs/rs/gp2000.c index cfc34e3bb..f2b7e4026 100644 --- a/rigs/rs/gp2000.c +++ b/rigs/rs/gp2000.c @@ -237,7 +237,7 @@ gp2000_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width) int buf_len, retval; int nmode; char *pmode = "UNKNOWN"; - int n = sscanf(buf, "%*cI%d", &nmode); + int n; rig_debug(RIG_DEBUG_VERBOSE, "%s: vfo=%s\n", __func__, rig_strvfo(vfo)); @@ -252,8 +252,11 @@ gp2000_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width) return retval; } + n = sscanf(buf, "%*cI%d", &nmode); + if (n != 1) { + rig_debug(RIG_DEBUG_ERR, "%s: unable to parse mode from '%s'\n", __func__, buf); return -RIG_EPROTO; } diff --git a/rigs/rs/gp2000.h b/rigs/rs/gp2000.h index 13ff3874c..848f1ca00 100644 --- a/rigs/rs/gp2000.h +++ b/rigs/rs/gp2000.h @@ -25,7 +25,7 @@ #define _XK2000_H 1 #undef BACKEND_VER -#define BACKEND_VER "20180307" +#define BACKEND_VER "20210901" #include