This commit is contained in:
gb 2023-01-29 16:04:46 +08:00
commit e248bcc9e4
6 changed files with 18 additions and 164 deletions

View File

@ -53,6 +53,7 @@ target_include_directories(${PROJECT_NAME} PRIVATE ${PROJECT_SOURCE_DIR}
${PROJECT_SOURCE_DIR}/../3rdparty/opencv/include ${PROJECT_SOURCE_DIR}/../3rdparty/opencv/include
${PROJECT_SOURCE_DIR}/../3rdparty/tiff/include ${PROJECT_SOURCE_DIR}/../3rdparty/tiff/include
${PROJECT_SOURCE_DIR}/../../../sdk/include ${PROJECT_SOURCE_DIR}/../../../sdk/include
${PROJECT_SOURCE_DIR}/../wrapper
) )
set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/../../../build) set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/../../../build)

View File

@ -1168,155 +1168,4 @@ namespace setting3399
{PAPER_MAX_SIZE, TwSS::MaxSize, setting3288dsp::G400_MAXSIZE}, {PAPER_MAX_SIZE, TwSS::MaxSize, setting3288dsp::G400_MAXSIZE},
{PAPER_TRIGEMINY, TwSS::MaxSize, setting3288dsp::G400_LONGLETTER}, {PAPER_TRIGEMINY, TwSS::MaxSize, setting3288dsp::G400_LONGLETTER},
}; };
static std::map<std::string, int>json_name =
{
{ SANE_STD_OPT_NAME_RESTORE ,ID_OPTION_TITLE_HFMRSZ },
{ SANE_STD_OPT_NAME_HELP ,ID_OPTION_TITLE_BZ },
{ SANE_STD_OPT_NAME_IS_MULTI_OUT ,ID_OPTION_TITLE_DLSC },
{ SANE_STD_OPT_NAME_MULTI_OUT_TYPE ,ID_OPTION_TITLE_DLSCLX },
{ SANE_STD_OPT_NAME_COLOR_MODE ,ID_OPTION_TITLE_YSMS },
{ SANE_STD_OPT_NAME_BINARY_THRESHOLD ,ID_OPTION_TITLE_HBTXYZ },
{ SANE_STD_OPT_NAME_REVERSE_01 ,ID_OPTION_TITLE_HBTXFSSC },
{ SANE_STD_OPT_NAME_FILTER ,ID_OPTION_TITLE_HDHHBTX_CSYZQ },
{ SANE_STD_OPT_NAME_RID_MULTIOUT_RED ,ID_OPTION_TITLE_24WCSTX_DLSCCH },
{ SANE_STD_OPT_NAME_RID_ANSWER_SHEET_RED ,ID_OPTION_TITLE_24WCSTX_DTKCH },
{ SANE_STD_OPT_NAME_ERASE_BACKGROUND ,ID_OPTION_TITLE_BJYC },
{ SANE_STD_OPT_NAME_BKG_COLOR_RANGE ,ID_OPTION_TITLE_BJSCFDFW },
{ SANE_STD_OPT_NAME_SHARPEN ,ID_OPTION_TITLE_RHYMH },
{ SANE_STD_OPT_NAME_RID_MORR ,ID_OPTION_TITLE_QCMW },
{ SANE_STD_OPT_NAME_RID_GRID ,ID_OPTION_TITLE_CWW },
{ SANE_STD_OPT_NAME_ERROR_EXTENSION ,ID_OPTION_TITLE_CWKS },
{ SANE_STD_OPT_NAME_NOISE_OPTIMIZE ,ID_OPTION_TITLE_HBTXZDYH },
{ SANE_STD_OPT_NAME_NOISE_SIZE ,ID_OPTION_TITLE_ZDYHCC },
{ SANE_STD_OPT_NAME_PAPER ,ID_OPTION_TITLE_ZZCC },
{ SANE_STD_OPT_NAME_CUSTOM_AREA ,ID_OPTION_TITLE_ZDYSMQY },
{ SANE_STD_OPT_NAME_CUSTOM_AREA_LEFT ,ID_OPTION_TITLE_SMQYZCmm },
{ SANE_STD_OPT_NAME_CUSTOM_AREA_RIGHT ,ID_OPTION_TITLE_SMQYYCmm },
{ SANE_STD_OPT_NAME_CUSTOM_AREA_TOP ,ID_OPTION_TITLE_SMQYSCmm },
{ SANE_STD_OPT_NAME_CUSTOM_AREA_BOTTOM ,ID_OPTION_TITLE_SMQYXCmm },
{ SANE_STD_OPT_NAME_SIZE_CHECK ,ID_OPTION_TITLE_CCJC },
{ SANE_STD_OPT_NAME_PAGE ,ID_OPTION_TITLE_SMYM },
{ SANE_STD_OPT_NAME_DISCARD_BLANK_SENS ,ID_OPTION_TITLE_TGKBYLMD },
{ SANE_STD_OPT_NAME_RESOLUTION ,ID_OPTION_TITLE_FBL },
{ SANE_STD_OPT_NAME_TIME_TO_SLEEP ,ID_OPTION_TITLE_XMSJ },
{ SANE_STD_OPT_NAME_IMAGE_QUALITY ,ID_OPTION_TITLE_HZ },
{ SANE_STD_OPT_NAME_EXCHANGE ,ID_OPTION_TITLE_JHZFM },
{ SANE_STD_OPT_NAME_SPLIT ,ID_OPTION_TITLE_TXCF },
{ SANE_STD_OPT_NAME_ANTI_SKEW ,ID_OPTION_TITLE_ZDJP },
{ SANE_STD_OPT_NAME_IS_CUSTOM_GAMMA ,ID_OPTION_TITLE_QYSDQX },
{ SANE_STD_OPT_NAME_GAMMA ,ID_OPTION_TITLE_JMZ },
{ SANE_STD_OPT_NAME_BRIGHTNESS ,ID_OPTION_TITLE_LDZ },
{ SANE_STD_OPT_NAME_CONTRAST ,ID_OPTION_TITLE_DBD },
{ SANE_STD_OPT_NAME_IS_PHOTO_MODE ,ID_OPTION_TITLE_ZPMS },
{ SANE_STD_OPT_NAME_ERASE_BLACK_FRAME ,ID_OPTION_TITLE_XCHK },
{ SANE_STD_OPT_NAME_DARK_SAMPLE ,ID_OPTION_TITLE_SSYZ },
{ SANE_STD_OPT_NAME_THRESHOLD ,ID_OPTION_TITLE_YZ },
{ SANE_STD_OPT_NAME_ANTI_NOISE_LEVEL ,ID_OPTION_TITLE_BJKZDJ },
{ SANE_STD_OPT_NAME_MARGIN ,ID_OPTION_TITLE_BYSJ },
{ SANE_STD_OPT_NAME_FILL_BKG_MODE ,ID_OPTION_TITLE_BJTCFS },
{ SANE_STD_OPT_NAME_IS_ANTI_PERMEATE ,ID_OPTION_TITLE_FZST },
{ SANE_STD_OPT_NAME_ANTI_PERMEATE_LEVEL ,ID_OPTION_TITLE_FZSTDJ },
{ SANE_STD_OPT_NAME_RID_HOLE ,ID_OPTION_TITLE_CKYC },
{ SANE_STD_OPT_NAME_SEARCH_HOLE_RANGE ,ID_OPTION_TITLE_CKSSFWZFMBL },
{ SANE_STD_OPT_NAME_RID_HOLE_L ,ID_OPTION_TITLE_CKYCZC },
{ SANE_STD_OPT_NAME_SEARCH_HOLE_RANGE_L ,ID_OPTION_TITLE_ZCCKSSFWZFMBL },
{ SANE_STD_OPT_NAME_RID_HOLE_R ,ID_OPTION_TITLE_CKYCYC },
{ SANE_STD_OPT_NAME_SEARCH_HOLE_RANGE_R ,ID_OPTION_TITLE_YCCKSSFWZFMBL },
{ SANE_STD_OPT_NAME_RID_HOLE_T ,ID_OPTION_TITLE_CKYCSC },
{ SANE_STD_OPT_NAME_SEARCH_HOLE_RANGE_T ,ID_OPTION_TITLE_SCCKSSFWZFMBL },
{ SANE_STD_OPT_NAME_RID_HOLE_B ,ID_OPTION_TITLE_CKYCXC },
{ SANE_STD_OPT_NAME_SEARCH_HOLE_RANGE_B ,ID_OPTION_TITLE_XCCKSSFWZFMBL },
{ SANE_STD_OPT_NAME_IS_FILL_COLOR ,ID_OPTION_TITLE_SCTC },
{ SANE_STD_OPT_NAME_IS_ULTROSONIC_CHECK ,ID_OPTION_TITLE_CSBJC },
{ SANE_STD_OPT_NAME_DOUBLE_FEED_HANDLE ,ID_OPTION_TITLE_SZTPCL },
{ SANE_STD_OPT_NAME_IS_CHECK_STAPLE ,ID_OPTION_TITLE_ZDJC },
{ SANE_STD_OPT_NAME_SCAN_MODE ,ID_OPTION_TITLE_SMZS },
{ SANE_STD_OPT_NAME_SCAN_COUNT ,ID_OPTION_TITLE_SMSL },
{ SANE_STD_OPT_NAME_TEXT_DIRECTION ,ID_OPTION_TITLE_WGFX },
{ SANE_STD_OPT_NAME_IS_ROTATE_BKG_180 ,ID_OPTION_TITLE_BMXZ180 },
{ SANE_STD_OPT_NAME_IS_CHECK_DOG_EAR ,ID_OPTION_TITLE_ZJJC },
{ SANE_STD_OPT_NAME_DOG_EAR_SIZE ,ID_OPTION_TITLE_ZJDX },
{ SANE_STD_OPT_NAME_IS_CHECK_ASKEW ,ID_OPTION_TITLE_WXJC },
{ SANE_STD_OPT_NAME_ASKEW_RANGE ,ID_OPTION_TITLE_WXRRD },
{ SANE_STD_OPT_NAME_FEED_STRENGTH ,ID_OPTION_TITLE_FZQD },
{ SANE_STD_OPT_NAME_IS_AUTO_FEED_STRENGTH ,ID_OPTION_TITLE_ZDFZQD },
{ SANE_STD_OPT_NAME_FEED_STRENGTH_VALUE ,ID_OPTION_TITLE_JZSBL },
{ SANE_STD_OPT_NAME_WAIT_TO_SCAN ,ID_OPTION_TITLE_DZSM },
{ SANE_STD_OPT_NAME_FOLD_TYPE ,ID_OPTION_TITLE_DZMS },
};
static std::vector<std::string>json_name_
{
SANE_STD_OPT_NAME_RESTORE,
SANE_STD_OPT_NAME_HELP,
SANE_STD_OPT_NAME_IS_MULTI_OUT,
SANE_STD_OPT_NAME_MULTI_OUT_TYPE,
SANE_STD_OPT_NAME_COLOR_MODE,
SANE_STD_OPT_NAME_BINARY_THRESHOLD,
SANE_STD_OPT_NAME_REVERSE_01 ,
SANE_STD_OPT_NAME_FILTER,
SANE_STD_OPT_NAME_RID_MULTIOUT_RED,
SANE_STD_OPT_NAME_RID_ANSWER_SHEET_RED,
SANE_STD_OPT_NAME_ERASE_BACKGROUND,
SANE_STD_OPT_NAME_BKG_COLOR_RANGE,
SANE_STD_OPT_NAME_SHARPEN,
SANE_STD_OPT_NAME_RID_MORR,
SANE_STD_OPT_NAME_RID_GRID,
SANE_STD_OPT_NAME_ERROR_EXTENSION,
SANE_STD_OPT_NAME_NOISE_OPTIMIZE,
SANE_STD_OPT_NAME_NOISE_SIZE,
SANE_STD_OPT_NAME_PAPER,
SANE_STD_OPT_NAME_CUSTOM_AREA,
SANE_STD_OPT_NAME_CUSTOM_AREA_LEFT,
SANE_STD_OPT_NAME_CUSTOM_AREA_RIGHT,
SANE_STD_OPT_NAME_CUSTOM_AREA_TOP,
SANE_STD_OPT_NAME_CUSTOM_AREA_BOTTOM,
SANE_STD_OPT_NAME_SIZE_CHECK,
SANE_STD_OPT_NAME_PAGE,
SANE_STD_OPT_NAME_DISCARD_BLANK_SENS,
SANE_STD_OPT_NAME_RESOLUTION,
SANE_STD_OPT_NAME_TIME_TO_SLEEP,
SANE_STD_OPT_NAME_IMAGE_QUALITY,
SANE_STD_OPT_NAME_EXCHANGE,
SANE_STD_OPT_NAME_SPLIT,
SANE_STD_OPT_NAME_ANTI_SKEW,
SANE_STD_OPT_NAME_IS_CUSTOM_GAMMA,
SANE_STD_OPT_NAME_GAMMA,
SANE_STD_OPT_NAME_BRIGHTNESS,
SANE_STD_OPT_NAME_CONTRAST,
SANE_STD_OPT_NAME_IS_PHOTO_MODE,
SANE_STD_OPT_NAME_ERASE_BLACK_FRAME,
SANE_STD_OPT_NAME_DARK_SAMPLE,
SANE_STD_OPT_NAME_THRESHOLD,
SANE_STD_OPT_NAME_ANTI_NOISE_LEVEL,
SANE_STD_OPT_NAME_MARGIN,
SANE_STD_OPT_NAME_FILL_BKG_MODE,
SANE_STD_OPT_NAME_IS_ANTI_PERMEATE,
SANE_STD_OPT_NAME_ANTI_PERMEATE_LEVEL,
SANE_STD_OPT_NAME_RID_HOLE,
SANE_STD_OPT_NAME_SEARCH_HOLE_RANGE,
SANE_STD_OPT_NAME_RID_HOLE_L,
SANE_STD_OPT_NAME_SEARCH_HOLE_RANGE_L,
SANE_STD_OPT_NAME_RID_HOLE_R,
SANE_STD_OPT_NAME_SEARCH_HOLE_RANGE_R,
SANE_STD_OPT_NAME_RID_HOLE_T,
SANE_STD_OPT_NAME_SEARCH_HOLE_RANGE_T,
SANE_STD_OPT_NAME_RID_HOLE_B,
SANE_STD_OPT_NAME_SEARCH_HOLE_RANGE_B,
SANE_STD_OPT_NAME_IS_FILL_COLOR,
SANE_STD_OPT_NAME_IS_ULTROSONIC_CHECK,
SANE_STD_OPT_NAME_DOUBLE_FEED_HANDLE,
SANE_STD_OPT_NAME_IS_CHECK_STAPLE,
SANE_STD_OPT_NAME_SCAN_MODE,
SANE_STD_OPT_NAME_SCAN_COUNT,
SANE_STD_OPT_NAME_TEXT_DIRECTION,
SANE_STD_OPT_NAME_IS_ROTATE_BKG_180,
SANE_STD_OPT_NAME_IS_CHECK_DOG_EAR,
SANE_STD_OPT_NAME_DOG_EAR_SIZE,
SANE_STD_OPT_NAME_IS_CHECK_ASKEW,
SANE_STD_OPT_NAME_ASKEW_RANGE,
SANE_STD_OPT_NAME_FEED_STRENGTH,
SANE_STD_OPT_NAME_IS_AUTO_FEED_STRENGTH,
SANE_STD_OPT_NAME_FEED_STRENGTH_VALUE,
SANE_STD_OPT_NAME_WAIT_TO_SCAN,
SANE_STD_OPT_NAME_FOLD_TYPE
};

View File

@ -36,6 +36,7 @@ endif()
target_link_libraries(${PROJECT_NAME} PRIVATE target_link_libraries(${PROJECT_NAME} PRIVATE
${PROJECT_SOURCE_DIR}/../../../build/libgdev.a ${PROJECT_SOURCE_DIR}/../../../build/libgdev.a
${PROJECT_SOURCE_DIR}/../../../build/libgimgproc.a ${PROJECT_SOURCE_DIR}/../../../build/libgimgproc.a
${PROJECT_SOURCE_DIR}/../../../release/uos/${CMAKE_SYSTEM_PROCESSOR}/liblang.so
${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libopencv_imgproc.a ${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libopencv_imgproc.a
${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libopencv_imgcodecs.a ${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libopencv_imgcodecs.a
${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libopencv_highgui.a ${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libopencv_highgui.a
@ -49,6 +50,7 @@ target_link_libraries(${PROJECT_NAME} PRIVATE
${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libquirc.a ${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libquirc.a
${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libzlib.a ${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libzlib.a
${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/liblibwebp.a ${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/liblibwebp.a
${PROJECT_SOURCE_DIR}/../../../sdk/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libusb-1.0.a #uos ${PROJECT_SOURCE_DIR}/../../../sdk/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libusb-1.0.a #uos
udev pthread dl m) udev pthread dl m)
@ -95,6 +97,7 @@ target_include_directories(${PROJECT_NAME} PRIVATE ${PROJECT_SOURCE_DIR}
${PROJECT_SOURCE_DIR}/../3rdparty/tiff/include ${PROJECT_SOURCE_DIR}/../3rdparty/tiff/include
${PROJECT_SOURCE_DIR}/../ImageProcess ${PROJECT_SOURCE_DIR}/../ImageProcess
${PROJECT_SOURCE_DIR}/../hgdev ${PROJECT_SOURCE_DIR}/../hgdev
${PROJECT_SOURCE_DIR}/../wrapper
${PROJECT_SOURCE_DIR}/../../../sdk/include ${PROJECT_SOURCE_DIR}/../../../sdk/include
) )
set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/../../../release/uos/${CMAKE_SYSTEM_PROCESSOR}) set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/../../../release/uos/${CMAKE_SYSTEM_PROCESSOR})

View File

@ -18,6 +18,7 @@ link_directories(${PROJECT_NAME} PRIVATE
${PROJECT_SOURCE_DIR}/../../release/uos/${CMAKE_SYSTEM_PROCESSOR} ${PROJECT_SOURCE_DIR}/../../release/uos/${CMAKE_SYSTEM_PROCESSOR}
) )
target_link_libraries(${PROJECT_NAME} PRIVATE hgdriver target_link_libraries(${PROJECT_NAME} PRIVATE hgdriver
${PROJECT_SOURCE_DIR}/../../release/uos/${CMAKE_SYSTEM_PROCESSOR}/liblang.so
${PROJECT_SOURCE_DIR}/../../release/uos/${CMAKE_SYSTEM_PROCESSOR}/libhgdriver.so ${PROJECT_SOURCE_DIR}/../../release/uos/${CMAKE_SYSTEM_PROCESSOR}/libhgdriver.so
) )

View File

@ -171,7 +171,7 @@ namespace local_utility
return str > bgn; return str > bgn;
} }
// æšä¸<EFBFBD>支æŒ<EFBFBD>ç§å­¦è®¡æ•°æ³?1.2e+10 // 暂不支持科学计数<EFBFBD>?1.2e+10
bool get_number(const char*& str, double& val) bool get_number(const char*& str, double& val)
{ {
const char* bgn = str; const char* bgn = str;
@ -557,7 +557,7 @@ SANE_Option_Descriptor* hg_sane_middleware::string_option_to_SANE_descriptor(con
sod->unit = SANE_UNIT_NONE; sod->unit = SANE_UNIT_NONE;
sod->size = values.size(); sod->size = values.size();
sod->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT // 软件可设置选项 sod->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT // 软件可设置选项
| SANE_CAP_AUTOMATIC; // 硬件å<EFBFBD>¯è®¾ç½®é»˜è®¤å€? | SANE_CAP_AUTOMATIC; // 硬件可设置默认<EFBFBD>?
if (values.size()) if (values.size())
{ {
sod->constraint_type = SANE_CONSTRAINT_STRING_LIST; sod->constraint_type = SANE_CONSTRAINT_STRING_LIST;
@ -678,7 +678,7 @@ SANE_Option_Descriptor* hg_sane_middleware::number_option_to_SANE_descriptor(con
sod->unit = SANE_UNIT_NONE; sod->unit = SANE_UNIT_NONE;
sod->size = sizeof(SANE_Word); sod->size = sizeof(SANE_Word);
sod->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT // 软件可设置选项 sod->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT // 软件可设置选项
/*| SANE_CAP_AUTOMATIC*/; // 硬件å<EFBFBD>¯è®¾ç½®é»˜è®¤å€? /*| SANE_CAP_AUTOMATIC*/; // 硬件可设置默认<EFBFBD>?
if (values.size()) if (values.size())
{ {
@ -728,7 +728,7 @@ SANE_Option_Descriptor* hg_sane_middleware::number_option_to_SANE_descriptor(con
sod->unit = SANE_UNIT_NONE; sod->unit = SANE_UNIT_NONE;
sod->size = sizeof(SANE_Word); sod->size = sizeof(SANE_Word);
sod->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT // 软件可设置选项 sod->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT // 软件可设置选项
/*| SANE_CAP_AUTOMATIC*/; // 硬件å<EFBFBD>¯è®¾ç½®é»˜è®¤å€? /*| SANE_CAP_AUTOMATIC*/; // 硬件可设置默认<EFBFBD>?
if (values.size()) if (values.size())
{ {
@ -1004,7 +1004,7 @@ SANE_Option_Descriptor* hg_sane_middleware::from_json(scanner_handle h, const st
//if (jsn->get_value("enable", enabled) && !enabled) //if (jsn->get_value("enable", enabled) && !enabled)
// ret->cap |= SANE_CAP_INACTIVE; // ret->cap |= SANE_CAP_INACTIVE;
// å…³è<EFBFBD>”é¡? // 关联<EFBFBD>?
json* depend = NULL; json* depend = NULL;
SLAVEOP so; SLAVEOP so;
if (jsn->get_value("depend_or", depend)) if (jsn->get_value("depend_or", depend))
@ -1139,10 +1139,10 @@ SANE_Option_Descriptor* hg_sane_middleware::find_stored_descriptor(scanner_handl
if (IS_PTR_NUMBER(option)) if (IS_PTR_NUMBER(option))
{ {
if (id) if (id)
*id = (int)option; *id = (SANE_Int)(long long)option;
for (const auto& v : (*it)->opts) for (const auto& v : (*it)->opts)
{ {
if (v.option_no == (int)option) if (v.option_no == (SANE_Int)(long long)option)
return v.desc; return v.desc;
} }
} }
@ -1358,7 +1358,7 @@ SANE_Status hg_sane_middleware::get_devices(const SANE_Device*** device_list, SA
if (hgerr == SCANNER_ERR_INSUFFICIENT_MEMORY) if (hgerr == SCANNER_ERR_INSUFFICIENT_MEMORY)
{ {
count += 4; // 为两次hg_scanner_enumé—´éš™å<EFBFBD>¯èƒ½æ°å¢žçš„设备预留空é—? count += 4; // 为两次hg_scanner_enum间隙可能新增的设备预留空<EFBFBD>?
dev = (ScannerInfo*)local_utility::acquire_memory(sizeof(ScannerInfo) * count, "hg_sane_middleware::get_devices"); dev = (ScannerInfo*)local_utility::acquire_memory(sizeof(ScannerInfo) * count, "hg_sane_middleware::get_devices");
hgerr = hg_scanner_enum(dev, &count, local_only); hgerr = hg_scanner_enum(dev, &count, local_only);
if (hgerr != SCANNER_ERR_OK) if (hgerr != SCANNER_ERR_OK)
@ -1736,7 +1736,7 @@ bool hg_sane_middleware::is_ready(void)
} }
/// <summary> /// <summary>
/// å…³è<EFBFBD>”项处ç<EFBFBD>? /// 关联项处<EFBFBD>?
bool hg_sane_middleware::compare_val_equal(const char* cur_val, const char* limit_l, const char* limit_r) bool hg_sane_middleware::compare_val_equal(const char* cur_val, const char* limit_l, const char* limit_r)
{ {
return strcmp(cur_val, limit_l) == 0; return strcmp(cur_val, limit_l) == 0;

View File

@ -89,7 +89,7 @@ typedef struct _dev_inst
return dev == h; return dev == h;
} }
struct _dev_inst() _dev_inst()
{ {
dev = nullptr; dev = nullptr;
name = ""; name = "";