diff --git a/hgdriver/hgdev/hg_scanner_300.cpp b/hgdriver/hgdev/hg_scanner_300.cpp index 496540d..1a5e56a 100644 --- a/hgdriver/hgdev/hg_scanner_300.cpp +++ b/hgdriver/hgdev/hg_scanner_300.cpp @@ -1,4 +1,4 @@ -#include "hg_scanner_300.h" +#include "hg_scanner_300.h" #include "../wrapper/hg_log.h" #if defined(WIN32) || defined(_WIN64) @@ -1564,7 +1564,10 @@ int hg_scanner_300::get_devs_cpu(string& cpu) buff.resize(bufsize); while (touch < usbcb.u32_Count) { - io_->read_bulk(&buff[0], &bufsize); + ret = io_->read_bulk(&buff[0], &bufsize); + if (SCANNER_ERR_OK != ret) + return ret; + out.write(&buff[0], bufsize); touch += bufsize; bufsize = bufsize > usbcb.u32_Count - touch ? usbcb.u32_Count - touch : bufsize; @@ -1610,7 +1613,10 @@ int hg_scanner_300::get_devs_disk(string& disk) buff.resize(bufsize); while (touch < usbcb.u32_Count) { - io_->read_bulk(&buff[0], &bufsize); + ret = io_->read_bulk(&buff[0], &bufsize); + if (SCANNER_ERR_OK != ret) + return ret; + out.write(&buff[0], bufsize); touch += bufsize; bufsize = bufsize > usbcb.u32_Count - touch ? usbcb.u32_Count - touch : bufsize;