X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Fbeaglelogic%2Fbeaglelogic_tcp.c;h=e06a19a82a8b5a76df44af8c0085b98f07272e63;hb=b3df76683179cbb9559e1cad8efe0d10c02dacce;hp=9e7d00762611f82871f01a7af87d7243dd946a5d;hpb=f82525e60d50c7bd06e2d398c3244a6b3aecc46a;p=libsigrok.git diff --git a/src/hardware/beaglelogic/beaglelogic_tcp.c b/src/hardware/beaglelogic/beaglelogic_tcp.c index 9e7d0076..e06a19a8 100644 --- a/src/hardware/beaglelogic/beaglelogic_tcp.c +++ b/src/hardware/beaglelogic/beaglelogic_tcp.c @@ -107,11 +107,12 @@ static int beaglelogic_tcp_send_cmd(struct dev_context *devc, if (out < 0) { sr_err("Send error: %s", g_strerror(errno)); + g_free(buf); return SR_ERR; } if (out < (int)strlen(buf)) { - sr_dbg("Only sent %d/%lu bytes of command: '%s'.", out, + sr_dbg("Only sent %d/%zu bytes of command: '%s'.", out, strlen(buf), buf); } @@ -171,6 +172,7 @@ static int beaglelogic_tcp_get_string(struct dev_context *devc, const char *cmd, int len; gint64 timeout; + *tcp_resp = NULL; if (cmd) { if (beaglelogic_tcp_send_cmd(devc, cmd) != SR_OK) return SR_ERR; @@ -270,7 +272,7 @@ static int beaglelogic_set_buffersize(struct dev_context *devc) int ret; char *resp; - beaglelogic_tcp_send_cmd(devc, "memalloc %lu", devc->buffersize); + beaglelogic_tcp_send_cmd(devc, "memalloc %" PRIu32, devc->buffersize); ret = beaglelogic_tcp_get_string(devc, NULL, &resp); if (ret == SR_OK && !g_ascii_strncasecmp(resp, "ok", 2)) ret = SR_OK; @@ -287,9 +289,11 @@ static int beaglelogic_get_samplerate(struct dev_context *devc) int arg, err; err = beaglelogic_tcp_get_int(devc, "samplerate", &arg); - devc->cur_samplerate = arg; + if (err) + return err; - return err; + devc->cur_samplerate = arg; + return SR_OK; } static int beaglelogic_set_samplerate(struct dev_context *devc) @@ -297,7 +301,7 @@ static int beaglelogic_set_samplerate(struct dev_context *devc) int ret; char *resp; - beaglelogic_tcp_send_cmd(devc, "samplerate %lu", + beaglelogic_tcp_send_cmd(devc, "samplerate %" PRIu32, (uint32_t)devc->cur_samplerate); ret = beaglelogic_tcp_get_string(devc, NULL, &resp); if (ret == SR_OK && !g_ascii_strncasecmp(resp, "ok", 2)) @@ -321,7 +325,7 @@ static int beaglelogic_set_sampleunit(struct dev_context *devc) int ret; char *resp; - beaglelogic_tcp_send_cmd(devc, "sampleunit %lu", devc->sampleunit); + beaglelogic_tcp_send_cmd(devc, "sampleunit %" PRIu32, devc->sampleunit); ret = beaglelogic_tcp_get_string(devc, NULL, &resp); if (ret == SR_OK && !g_ascii_strncasecmp(resp, "ok", 2)) ret = SR_OK; @@ -344,7 +348,7 @@ static int beaglelogic_set_triggerflags(struct dev_context *devc) int ret; char *resp; - beaglelogic_tcp_send_cmd(devc, "triggerflags %lu", devc->triggerflags); + beaglelogic_tcp_send_cmd(devc, "triggerflags %" PRIu32, devc->triggerflags); ret = beaglelogic_tcp_get_string(devc, NULL, &resp); if (ret == SR_OK && !g_ascii_strncasecmp(resp, "ok", 2)) ret = SR_OK; @@ -386,7 +390,7 @@ static int beaglelogic_set_bufunitsize(struct dev_context *devc) int ret; char *resp; - beaglelogic_tcp_send_cmd(devc, "bufunitsize %ld", devc->bufunitsize); + beaglelogic_tcp_send_cmd(devc, "bufunitsize %" PRIu32, devc->bufunitsize); ret = beaglelogic_tcp_get_string(devc, NULL, &resp); if (ret == SR_OK && !g_ascii_strncasecmp(resp, "ok", 2)) ret = SR_OK;