X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fscpi%2Fscpi_vxi.c;h=51861ee8b67d027d94b11e9dbf2bc5e5d5dfff65;hb=051e4beb79a9afabf5a3e9ca459d45559f0ee217;hp=26cd832dba4ab85d9309ca00bb7ceaea047090b2;hpb=04229f7bfc750f2b67e8dd54ac82ae6bb7eae1e4;p=libsigrok.git diff --git a/src/scpi/scpi_vxi.c b/src/scpi/scpi_vxi.c index 26cd832d..51861ee8 100644 --- a/src/scpi/scpi_vxi.c +++ b/src/scpi/scpi_vxi.c @@ -76,7 +76,7 @@ static int scpi_vxi_open(struct sr_scpi_dev_inst *scpi) link_parms.clientId = (long) vxi->client; link_parms.lockDevice = 0; link_parms.lock_timeout = VXI_DEFAULT_TIMEOUT_MS; - link_parms.device = "inst0"; + link_parms.device = (char *)"inst0"; if (!(link_resp = create_link_1(&link_parms, vxi->client))) { sr_err("Link creation failed for %s", vxi->address); @@ -118,18 +118,16 @@ static int scpi_vxi_send(void *priv, const char *command) struct scpi_vxi *vxi = priv; Device_WriteResp *write_resp; Device_WriteParms write_parms; - char *terminated_command; unsigned long len; - terminated_command = g_strdup_printf("%s\r\n", command); - len = strlen(terminated_command); + len = strlen(command); write_parms.lid = vxi->link; write_parms.io_timeout = VXI_DEFAULT_TIMEOUT_MS; write_parms.lock_timeout = VXI_DEFAULT_TIMEOUT_MS; write_parms.flags = DF_END; write_parms.data.data_len = MIN(len, vxi->max_send_size); - write_parms.data.data_val = terminated_command; + write_parms.data.data_val = (char *)command; if (!(write_resp = device_write_1(&write_parms, vxi->client)) || write_resp->error) { @@ -138,8 +136,6 @@ static int scpi_vxi_send(void *priv, const char *command) return SR_ERR; } - g_free(terminated_command); - if (write_resp->size < len) sr_dbg("Only sent %lu/%lu bytes of SCPI command: '%s'.", write_resp->size, len, command); @@ -184,7 +180,7 @@ static int scpi_vxi_read_data(void *priv, char *buf, int maxlen) } memcpy(buf, read_resp->data.data_val, read_resp->data.data_len); - vxi->read_complete = read_resp->reason & (RRR_SIZE | RRR_TERM | RRR_END); + vxi->read_complete = read_resp->reason & (RRR_TERM | RRR_END); return read_resp->data.data_len; /* actual number of bytes received */ }