diff --git a/hgdriver/hgdev/hg_scanner_239.cpp b/hgdriver/hgdev/hg_scanner_239.cpp index af480c5..d2ff71e 100644 --- a/hgdriver/hgdev/hg_scanner_239.cpp +++ b/hgdriver/hgdev/hg_scanner_239.cpp @@ -1385,7 +1385,9 @@ std::string hg_scanner_239::get_serial_num(void) } std::string hg_scanner_239::get_ip(void) { - return control_fetch(setting3399::SR_GET_IPADDR, 0, 40); + int len = 0; + read_register(setting3399::SR_GET_SERIAL_LEN, &len); + return control_fetch(setting3399::SR_GET_IPADDR, 0, len); } std::string hg_scanner_239::get_device_model(void) { diff --git a/hgdriver/hgdev/scanner_manager.cpp b/hgdriver/hgdev/scanner_manager.cpp index 31e2f47..18f7b43 100644 --- a/hgdriver/hgdev/scanner_manager.cpp +++ b/hgdriver/hgdev/scanner_manager.cpp @@ -535,7 +535,7 @@ scanner_err hg_scanner_mgr::get_about_info(scanner_handle h, void* data, unsigne set_appendix_info_for_about(about, ptr, count, GET_LANG(BRAND_TITLE_FIRM_VERSION,&islang), scanner->get_firmware_version().c_str(), NULL); set_appendix_info_for_about(about, ptr, count, GET_LANG(BRAND_TITLE_SERIAL_NUM,&islang), scanner->get_serial_num().c_str(), NULL); info = scanner->get_ip(); - if (info.length() > 10) + if (info.length() > 10 && !info.empty()) set_appendix_info_for_about(about, ptr, count, GET_LANG(BRAND_TITLE_IP,&islang), info.c_str(), NULL); info.clear(); info = scanner->get_device_model();