kopia lustrzana https://github.com/Hamlib/Hamlib
rodzic
5c06f66aa8
commit
c14949a86d
|
@ -628,26 +628,38 @@ int smartsdr_send_morse(RIG *rig, vfo_t vfo, const char *msg)
|
|||
|
||||
int retval;
|
||||
size_t msg_len = strlen(msg);
|
||||
size_t buf_len = msg_len + 20;
|
||||
size_t buf_len = msg_len + 20;
|
||||
|
||||
char newmsg[msg_len + 1];
|
||||
strncpy(newmsg, msg, msg_len + 1);
|
||||
char *newmsg = malloc(msg_len + 1);
|
||||
if (!newmsg)
|
||||
return -RIG_ENOMEM;
|
||||
|
||||
memcpy(newmsg, msg, msg_len + 1); // Copy including null terminator
|
||||
|
||||
// Replace spaces with 0x7f
|
||||
for (size_t i = 0; newmsg[i] != '\0'; i++) {
|
||||
if (newmsg[i] == ' ') {
|
||||
newmsg[i] = 0x7f;
|
||||
}
|
||||
}
|
||||
|
||||
char cmd[buf_len];
|
||||
snprintf(cmd, sizeof(cmd), "cwx send \"%s\"", newmsg);
|
||||
char *cmd = malloc(buf_len);
|
||||
if (!cmd) {
|
||||
free(newmsg);
|
||||
return -RIG_ENOMEM;
|
||||
}
|
||||
|
||||
snprintf(cmd, buf_len, "cwx send \"%s\"", newmsg);
|
||||
|
||||
free(newmsg);
|
||||
|
||||
retval = smartsdr_transaction(rig, cmd);
|
||||
|
||||
free(cmd);
|
||||
|
||||
RETURNFUNC(retval);
|
||||
}
|
||||
|
||||
|
||||
int smartsdr_stop_morse(RIG *rig, vfo_t vfo)
|
||||
{
|
||||
int retval;
|
||||
|
|
Ładowanie…
Reference in New Issue