summaryrefslogtreecommitdiffstats
path: root/src/nolo.c
diff options
context:
space:
mode:
authorPali Rohár <pali.rohar@gmail.com>2012-09-23 13:59:31 +0200
committerPali Rohár <pali.rohar@gmail.com>2012-09-23 13:59:31 +0200
commitd9e6d47f1b03a5b3bd6fa324ebd09f3eb27c3282 (patch)
tree388a7ed781065aae88c9f225dca6cd86075766d1 /src/nolo.c
parentb2bd1d90c71bd1e192467ccd67df07618d8a1707 (diff)
download0xFFFF-d9e6d47f1b03a5b3bd6fa324ebd09f3eb27c3282.tar.bz2
nolo: Fixed nolo_get_string
Diffstat (limited to 'src/nolo.c')
-rw-r--r--src/nolo.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/nolo.c b/src/nolo.c
index a8e5ba9..e60146d 100644
--- a/src/nolo.c
+++ b/src/nolo.c
@@ -121,13 +121,16 @@ static int nolo_set_string(struct usb_device_info * dev, char * str, char * arg)
static int nolo_get_string(struct usb_device_info * dev, char * str, char * out, size_t size) {
+ int ret;
+
if ( usb_control_msg(dev->udev, NOLO_WRITE, NOLO_STRING, 0, 0, str, strlen(str), 2000) < 0 )
ERROR_RETURN("NOLO_STRING failed", -1);
- if ( usb_control_msg(dev->udev, NOLO_QUERY, NOLO_GET_STRING, 0, 0, out, size, 2000) < 0 )
+ if ( ( ret = usb_control_msg(dev->udev, NOLO_QUERY, NOLO_GET_STRING, 0, 0, out, size-1, 2000) ) < 0 )
ERROR_RETURN("NOLO_GET_STRING failed", -1);
out[size-1] = 0;
+ out[ret] = 0;
return strlen(out);
}