From d9e6d47f1b03a5b3bd6fa324ebd09f3eb27c3282 Mon Sep 17 00:00:00 2001 From: Pali Rohár Date: Sun, 23 Sep 2012 13:59:31 +0200 Subject: nolo: Fixed nolo_get_string --- src/nolo.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/nolo.c') 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); } -- cgit v1.2.3