int sprintf_vfop(char *str, vfo_op_t op) { int i, len = 0; *str = '\0'; if (op == RIG_OP_NONE) { return 0; } for (i = 0; i < 30; i++) { const char *ms = rig_strvfop(op & (1UL << i)); if (!ms || !ms[0]) { continue; /* unknown, FIXME! */ } strcat(str, ms); strcat(str, " "); len += strlen(ms) + 1; } return len; }
static int netrigctl_vfo_op(RIG *rig, vfo_t vfo, vfo_op_t op) { int ret, len; char cmd[CMD_MAX]; char buf[BUF_MAX]; rig_debug(RIG_DEBUG_VERBOSE,"%s called\n", __FUNCTION__); len = sprintf(cmd, "J %s\n", rig_strvfop(op)); ret = netrigctl_transaction(rig, cmd, len, buf); if (ret > 0) return -RIG_EPROTO; else return ret; }