From 3adab8d029d21f9b4d2a3e2353624cffd271683c Mon Sep 17 00:00:00 2001 From: gb <741021719@qq.com> Date: Mon, 18 Jul 2022 10:54:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dwarnings?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hgsane/main.c | 2 +- hgsane/sane_hg_mdw.cpp | 104 +++++++++++++------------- hgsane/sane_hg_mdw.h | 2 +- hgsane/sane_option.cpp | 2 +- sdk/hginclude/huagaoxxx_warraper_ex.h | 2 +- 5 files changed, 54 insertions(+), 58 deletions(-) diff --git a/hgsane/main.c b/hgsane/main.c index ebc4e20..d4c2652 100644 --- a/hgsane/main.c +++ b/hgsane/main.c @@ -33,7 +33,7 @@ SANE_Status sane_init(SANE_Int* version_code, SANE_Auth_Callback authorize) } void sane_exit(void) { - return inner_sane_exit(); + inner_sane_exit(); } SANE_Status sane_get_devices(const SANE_Device*** device_list, SANE_Bool local_only) { diff --git a/hgsane/sane_hg_mdw.cpp b/hgsane/sane_hg_mdw.cpp index a8019eb..8977cc4 100644 --- a/hgsane/sane_hg_mdw.cpp +++ b/hgsane/sane_hg_mdw.cpp @@ -39,63 +39,59 @@ static std::string g_sane_name(GET_BACKEND_NAME); namespace local_utility { ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#define RETURN_MATCH_ERROR(err, from, to) \ + if(err == from) \ + return to; + SANE_Status scanner_err_2_sane_statu(int hgerr) { -#define RETURN_MATCH_ERROR(hg, sane) \ - if(hgerr == hg) \ - return sane; + RETURN_MATCH_ERROR(hgerr, SCANNER_ERR_OK, SANE_STATUS_GOOD); + RETURN_MATCH_ERROR(hgerr, SCANNER_ERR_INVALID_PARAMETER, SANE_STATUS_INVAL); + RETURN_MATCH_ERROR(hgerr, SCANNER_ERR_INSUFFICIENT_MEMORY, SANE_STATUS_NO_MEM); + RETURN_MATCH_ERROR(hgerr, SCANNER_ERR_ACCESS_DENIED, SANE_STATUS_ACCESS_DENIED); + RETURN_MATCH_ERROR(hgerr, SCANNER_ERR_IO_PENDING, SANE_STATUS_GOOD); + RETURN_MATCH_ERROR(hgerr, SCANNER_ERR_NOT_EXACT, SANE_STATUS_GOOD); + RETURN_MATCH_ERROR(hgerr, SCANNER_ERR_CONFIGURATION_CHANGED, SANE_STATUS_GOOD); + RETURN_MATCH_ERROR(hgerr, SCANNER_ERR_NOT_OPEN, SANE_STATUS_NO_DOCS); + RETURN_MATCH_ERROR(hgerr, SCANNER_ERR_NOT_START, SANE_STATUS_NO_DOCS); + RETURN_MATCH_ERROR(hgerr, SCANNER_ERR_NO_DATA, SANE_STATUS_EOF); + RETURN_MATCH_ERROR(hgerr, SCANNER_ERR_HAS_DATA_YET, SANE_STATUS_IO_ERROR); + RETURN_MATCH_ERROR(hgerr, SCANNER_ERR_OUT_OF_RANGE, SANE_STATUS_NO_MEM); + RETURN_MATCH_ERROR(hgerr, SCANNER_ERR_IO, SANE_STATUS_IO_ERROR); + RETURN_MATCH_ERROR(hgerr, SCANNER_ERR_TIMEOUT, SANE_STATUS_IO_ERROR); - RETURN_MATCH_ERROR(SCANNER_ERR_OK, SANE_STATUS_GOOD); - RETURN_MATCH_ERROR(SCANNER_ERR_INVALID_PARAMETER, SANE_STATUS_INVAL); - RETURN_MATCH_ERROR(SCANNER_ERR_INSUFFICIENT_MEMORY, SANE_STATUS_NO_MEM); - RETURN_MATCH_ERROR(SCANNER_ERR_ACCESS_DENIED, SANE_STATUS_ACCESS_DENIED); - RETURN_MATCH_ERROR(SCANNER_ERR_IO_PENDING, SANE_STATUS_GOOD); - RETURN_MATCH_ERROR(SCANNER_ERR_NOT_EXACT, SANE_STATUS_GOOD); - RETURN_MATCH_ERROR(SCANNER_ERR_CONFIGURATION_CHANGED, SANE_STATUS_GOOD); - RETURN_MATCH_ERROR(SCANNER_ERR_NOT_OPEN, SANE_STATUS_NO_DOCS); - RETURN_MATCH_ERROR(SCANNER_ERR_NOT_START, SANE_STATUS_NO_DOCS); - RETURN_MATCH_ERROR(SCANNER_ERR_NO_DATA, SANE_STATUS_EOF); - RETURN_MATCH_ERROR(SCANNER_ERR_HAS_DATA_YET, SANE_STATUS_IO_ERROR); - RETURN_MATCH_ERROR(SCANNER_ERR_OUT_OF_RANGE, SANE_STATUS_NO_MEM); - RETURN_MATCH_ERROR(SCANNER_ERR_IO, SANE_STATUS_IO_ERROR); - RETURN_MATCH_ERROR(SCANNER_ERR_TIMEOUT, SANE_STATUS_IO_ERROR); - - // RETURN_MATCH_ERROR(SCANNER_ERR_DEVICE_NOT_FOUND, SANE_STATUS_NO_DOCS); - RETURN_MATCH_ERROR(SCANNER_ERR_DEVICE_NOT_SUPPORT, SANE_STATUS_UNSUPPORTED); - RETURN_MATCH_ERROR(SCANNER_ERR_DEVICE_BUSY, SANE_STATUS_DEVICE_BUSY); - RETURN_MATCH_ERROR(SCANNER_ERR_DEVICE_COVER_OPENNED, SANE_STATUS_COVER_OPEN); - RETURN_MATCH_ERROR(SCANNER_ERR_DEVICE_NO_PAPER, SANE_STATUS_NO_DOCS); - RETURN_MATCH_ERROR(SCANNER_ERR_DEVICE_PAPER_JAMMED, SANE_STATUS_JAMMED); + // RETURN_MATCH_ERROR(hgerr, SCANNER_ERR_DEVICE_NOT_FOUND, SANE_STATUS_NO_DOCS); + RETURN_MATCH_ERROR(hgerr, SCANNER_ERR_DEVICE_NOT_SUPPORT, SANE_STATUS_UNSUPPORTED); + RETURN_MATCH_ERROR(hgerr, SCANNER_ERR_DEVICE_BUSY, SANE_STATUS_DEVICE_BUSY); + RETURN_MATCH_ERROR(hgerr, SCANNER_ERR_DEVICE_COVER_OPENNED, SANE_STATUS_COVER_OPEN); + RETURN_MATCH_ERROR(hgerr, SCANNER_ERR_DEVICE_NO_PAPER, SANE_STATUS_NO_DOCS); + RETURN_MATCH_ERROR(hgerr, SCANNER_ERR_DEVICE_PAPER_JAMMED, SANE_STATUS_JAMMED); return (SANE_Status)hgerr; } int sane_statu_2_scanner_err(int statu) { -#define RETURN_MATCH_ERROR(hg, sane) \ - if(statu == sane) \ - return hg; + RETURN_MATCH_ERROR(statu, SANE_STATUS_GOOD, SCANNER_ERR_OK); + RETURN_MATCH_ERROR(statu, SANE_STATUS_INVAL, SCANNER_ERR_INVALID_PARAMETER); + RETURN_MATCH_ERROR(statu, SANE_STATUS_NO_MEM, SCANNER_ERR_INSUFFICIENT_MEMORY); + RETURN_MATCH_ERROR(statu, SANE_STATUS_ACCESS_DENIED, SCANNER_ERR_ACCESS_DENIED); + RETURN_MATCH_ERROR(statu, SANE_STATUS_GOOD, SCANNER_ERR_IO_PENDING); + RETURN_MATCH_ERROR(statu, SANE_STATUS_GOOD, SCANNER_ERR_NOT_EXACT); + RETURN_MATCH_ERROR(statu, SANE_STATUS_GOOD, SCANNER_ERR_CONFIGURATION_CHANGED); + RETURN_MATCH_ERROR(statu, SANE_STATUS_NO_DOCS, SCANNER_ERR_NOT_OPEN); + RETURN_MATCH_ERROR(statu, SANE_STATUS_NO_DOCS, SCANNER_ERR_NOT_START); + RETURN_MATCH_ERROR(statu, SANE_STATUS_EOF, SCANNER_ERR_NO_DATA); + RETURN_MATCH_ERROR(statu, SANE_STATUS_IO_ERROR, SCANNER_ERR_HAS_DATA_YET); + RETURN_MATCH_ERROR(statu, SANE_STATUS_NO_MEM, SCANNER_ERR_OUT_OF_RANGE); + RETURN_MATCH_ERROR(statu, SANE_STATUS_IO_ERROR, SCANNER_ERR_IO); + RETURN_MATCH_ERROR(statu, SANE_STATUS_IO_ERROR, SCANNER_ERR_TIMEOUT); - RETURN_MATCH_ERROR(SCANNER_ERR_OK, SANE_STATUS_GOOD); - RETURN_MATCH_ERROR(SCANNER_ERR_INVALID_PARAMETER, SANE_STATUS_INVAL); - RETURN_MATCH_ERROR(SCANNER_ERR_INSUFFICIENT_MEMORY, SANE_STATUS_NO_MEM); - RETURN_MATCH_ERROR(SCANNER_ERR_ACCESS_DENIED, SANE_STATUS_ACCESS_DENIED); - RETURN_MATCH_ERROR(SCANNER_ERR_IO_PENDING, SANE_STATUS_GOOD); - RETURN_MATCH_ERROR(SCANNER_ERR_NOT_EXACT, SANE_STATUS_GOOD); - RETURN_MATCH_ERROR(SCANNER_ERR_CONFIGURATION_CHANGED, SANE_STATUS_GOOD); - RETURN_MATCH_ERROR(SCANNER_ERR_NOT_OPEN, SANE_STATUS_NO_DOCS); - RETURN_MATCH_ERROR(SCANNER_ERR_NOT_START, SANE_STATUS_NO_DOCS); - RETURN_MATCH_ERROR(SCANNER_ERR_NO_DATA, SANE_STATUS_EOF); - RETURN_MATCH_ERROR(SCANNER_ERR_HAS_DATA_YET, SANE_STATUS_IO_ERROR); - RETURN_MATCH_ERROR(SCANNER_ERR_OUT_OF_RANGE, SANE_STATUS_NO_MEM); - RETURN_MATCH_ERROR(SCANNER_ERR_IO, SANE_STATUS_IO_ERROR); - RETURN_MATCH_ERROR(SCANNER_ERR_TIMEOUT, SANE_STATUS_IO_ERROR); - - RETURN_MATCH_ERROR(SCANNER_ERR_DEVICE_NOT_FOUND, SANE_STATUS_NO_DOCS); - RETURN_MATCH_ERROR(SCANNER_ERR_DEVICE_NOT_SUPPORT, SANE_STATUS_UNSUPPORTED); - RETURN_MATCH_ERROR(SCANNER_ERR_DEVICE_BUSY, SANE_STATUS_DEVICE_BUSY); - RETURN_MATCH_ERROR(SCANNER_ERR_DEVICE_COVER_OPENNED, SANE_STATUS_COVER_OPEN); - RETURN_MATCH_ERROR(SCANNER_ERR_DEVICE_NO_PAPER, SANE_STATUS_NO_DOCS); - RETURN_MATCH_ERROR(SCANNER_ERR_DEVICE_PAPER_JAMMED, SANE_STATUS_JAMMED); + RETURN_MATCH_ERROR(statu, SANE_STATUS_NO_DOCS, SCANNER_ERR_DEVICE_NOT_FOUND); + RETURN_MATCH_ERROR(statu, SANE_STATUS_UNSUPPORTED, SCANNER_ERR_DEVICE_NOT_SUPPORT); + RETURN_MATCH_ERROR(statu, SANE_STATUS_DEVICE_BUSY, SCANNER_ERR_DEVICE_BUSY); + RETURN_MATCH_ERROR(statu, SANE_STATUS_COVER_OPEN, SCANNER_ERR_DEVICE_COVER_OPENNED); + RETURN_MATCH_ERROR(statu, SANE_STATUS_NO_DOCS, SCANNER_ERR_DEVICE_NO_PAPER); + RETURN_MATCH_ERROR(statu, SANE_STATUS_JAMMED, SCANNER_ERR_DEVICE_PAPER_JAMMED); return statu; } @@ -595,8 +591,8 @@ SANE_Option_Descriptor* hg_sane_middleware::number_option_to_SANE_descriptor(con sod->type = double_val ? SANE_TYPE_FIXED : SANE_TYPE_INT; sod->unit = SANE_UNIT_NONE; sod->size = sizeof(SANE_Word); - sod->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT // 软件可设置选项 - /*| SANE_CAP_AUTOMATIC*/; // 硬件可设置默认? + sod->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT + /*| SANE_CAP_AUTOMATIC*/; if (lower || upper) { sod->size = sizeof(SANE_Range); @@ -607,14 +603,14 @@ SANE_Option_Descriptor* hg_sane_middleware::number_option_to_SANE_descriptor(con if (double_val) (*(SANE_Range*)str).min = hg_sane_middleware::double_2_sane_fixed(*lower); else - (*(SANE_Range*)str).min = *lower; + (*(SANE_Range*)str).min = (SANE_Word)*lower; } if (upper) { if (double_val) (*(SANE_Range*)str).max = hg_sane_middleware::double_2_sane_fixed(*upper); else - (*(SANE_Range*)str).max = *upper; + (*(SANE_Range*)str).max = (SANE_Word)*upper; } (*(SANE_Range*)str).quant = 0; @@ -1159,7 +1155,7 @@ void* hg_sane_middleware::get_default_value(scanner_handle handle, int option) val = ""; jsn->get_value("default", val); - if (size < val.length()) + if (size < (int)val.length()) size = val.length(); data = local_utility::acquire_memory(size + 4, ""); strcpy((char*)data, val.c_str()); @@ -1627,7 +1623,7 @@ bool hg_sane_middleware::parse_master_option(const char* depend_str, MASTEROP& m ret = local_utility::get_number(depend_str, num); if (ret) { - mo.option_no = num; + mo.option_no = (int)num; local_utility::skip_space(depend_str); if (*depend_str == '=') { diff --git a/hgsane/sane_hg_mdw.h b/hgsane/sane_hg_mdw.h index 057329a..a76fdc8 100644 --- a/hgsane/sane_hg_mdw.h +++ b/hgsane/sane_hg_mdw.h @@ -1,4 +1,4 @@ -#pragma once +#pragma once #include #include diff --git a/hgsane/sane_option.cpp b/hgsane/sane_option.cpp index e50656f..2bd7db0 100644 --- a/hgsane/sane_option.cpp +++ b/hgsane/sane_option.cpp @@ -208,7 +208,7 @@ void* sane_std_opts::get_current_value(scanner_handle h, int opt) if (val == "string") { jsn->get_value("cur", val); - if (size < val.length()) + if (size < (int)val.length()) size = val.length() + 4; ret = local_utility::acquire_memory(size, ""); strcpy((char*)ret, val.c_str()); diff --git a/sdk/hginclude/huagaoxxx_warraper_ex.h b/sdk/hginclude/huagaoxxx_warraper_ex.h index 267b5b8..5a649b5 100644 --- a/sdk/hginclude/huagaoxxx_warraper_ex.h +++ b/sdk/hginclude/huagaoxxx_warraper_ex.h @@ -1,4 +1,4 @@ -#ifndef WRRPER_SANE_SCANNER_H_EX +#ifndef WRRPER_SANE_SCANNER_H_EX #define WRRPER_SANE_SCANNER_H_EX /////////////////////////////////////////////////////////////////////////////////////////////