void _kds_s2000w_handler_opts_set_enable_cropping_image(json_object* config)
{
json_object* cropping_mode = json_object_object_get(config, CROPPING_MODE);
- const char* cropping_mode_value = json_object_get_string(cropping_mode);
+ if (cropping_mode == NULL)
+ return;
json_object* cropping_image = json_object_object_get(config, CROPPING_IMAGE);
+ if (cropping_image == NULL)
+ return;
+
+ const char* cropping_mode_value = json_object_get_string(cropping_mode);
SANE_Option_Descriptor* cropping_image_descriptor = kds_s2000w_option_descriptors_get_by_config_name(CROPPING_IMAGE);
+ if (cropping_image_descriptor == NULL)
+ return;
if (strcmp(cropping_mode_value, "Automatic") == 0) {
_kds_s2000w_handler_opts_write_value_to_json(cropping_image, cropping_image_descriptor->type, "EntireDocument");
void _kds_s2000w_handler_opts_set_enable_suboptions_cropping_image(json_object* config)
{
- json_object* cropping_image = json_object_object_get(config, CROPPING_IMAGE);;
- const char* cropping_image_value = json_object_get_string(cropping_image);
+ json_object* cropping_image = json_object_object_get(config, CROPPING_IMAGE);
+ if (cropping_image == NULL)
+ return;
+ const char* cropping_image_value = json_object_get_string(cropping_image);
SANE_Option_Descriptor* image_offset_x = kds_s2000w_option_descriptors_get_by_config_name(IMAGE_OFFSET_X);
SANE_Option_Descriptor* image_offset_y = kds_s2000w_option_descriptors_get_by_config_name(IMAGE_OFFSET_Y);
SANE_Option_Descriptor* image_width = kds_s2000w_option_descriptors_get_by_config_name(IMAGE_WIDTH);
SANE_Option_Descriptor* image_height = kds_s2000w_option_descriptors_get_by_config_name(IMAGE_HEIGHT);
+ if (image_offset_x == NULL
+ || image_offset_y == NULL
+ || image_width == NULL
+ || image_height == NULL)
+ return;
+
if (strcmp(cropping_image_value, "PartialDocument") == 0) {
image_offset_x->cap |= SANE_CAP_SOFT_SELECT;
image_offset_y->cap |= SANE_CAP_SOFT_SELECT;
void _kds_s2000w_handler_opts_set_enable_color_balance(json_object* config)
{
- json_object* color_balance_mode = json_object_object_get(config, COLOR_BALANCE_MODE);;
- const char* color_balance_mode_value = json_object_get_string(color_balance_mode);
+ json_object* color_balance_mode = json_object_object_get(config, COLOR_BALANCE_MODE);
+ if (color_balance_mode == NULL)
+ return;
+ const char* color_balance_mode_value = json_object_get_string(color_balance_mode);
SANE_Option_Descriptor* color_balance_red = kds_s2000w_option_descriptors_get_by_config_name(COLOR_BALANCE_RED);
SANE_Option_Descriptor* color_balance_green = kds_s2000w_option_descriptors_get_by_config_name(COLOR_BALANCE_GREEN);
SANE_Option_Descriptor* color_balance_blue = kds_s2000w_option_descriptors_get_by_config_name(COLOR_BALANCE_BLUE);
+ if (color_balance_red == NULL
+ || color_balance_green == NULL
+ || color_balance_blue == NULL)
+ return;
+
if (strcmp(color_balance_mode_value, "Manual") == 0) {
color_balance_red->cap |= SANE_CAP_SOFT_SELECT;
color_balance_green->cap |= SANE_CAP_SOFT_SELECT;
void _kds_s2000w_handler_opts_set_enable_color_aggressiveness(json_object* config)
{
- json_object* color_balance_mode = json_object_object_get(config, COLOR_BALANCE_MODE);;
- const char* color_balance_mode_value = json_object_get_string(color_balance_mode);
+ json_object* color_balance_mode = json_object_object_get(config, COLOR_BALANCE_MODE);
+ if (color_balance_mode == NULL)
+ return;
+ const char* color_balance_mode_value = json_object_get_string(color_balance_mode);
SANE_Option_Descriptor* color_balance_aggressivness = kds_s2000w_option_descriptors_get_by_config_name(COLOR_BALANCE_AGGRESSIVENESS);
+ if (color_balance_aggressivness == NULL)
+ return;
if (strcmp(color_balance_mode_value, "AutomaticAdvanced") == 0) {
color_balance_aggressivness->cap |= SANE_CAP_SOFT_SELECT;
void _kds_s2000w_handler_opts_set_enable_color_brightness(json_object* config)
{
- json_object* color_auto_brightness_mode = json_object_object_get(config, COLOR_AUTO_BRIGHTNESS_MODE);;
- const char* color_auto_brightness_mode_value = json_object_get_string(color_auto_brightness_mode);
+ json_object* color_auto_brightness_mode = json_object_object_get(config, COLOR_AUTO_BRIGHTNESS_MODE);
+ if (color_auto_brightness_mode == NULL)
+ return;
+ const char* color_auto_brightness_mode_value = json_object_get_string(color_auto_brightness_mode);
SANE_Option_Descriptor* color_brightness = kds_s2000w_option_descriptors_get_by_config_name(COLOR_BRIGHTNESS);
+ if (color_brightness == NULL)
+ return;
if (strcmp(color_auto_brightness_mode_value, "Manual") == 0) {
color_brightness->cap |= SANE_CAP_SOFT_SELECT;
void _kds_s2000w_handler_opts_set_enable_color_contrast(json_object* config)
{
- json_object* color_auto_brightness_mode = json_object_object_get(config, COLOR_AUTO_BRIGHTNESS_MODE);;
- const char* color_auto_brightness_mode_value = json_object_get_string(color_auto_brightness_mode);
+ json_object* color_auto_brightness_mode = json_object_object_get(config, COLOR_AUTO_BRIGHTNESS_MODE);
+ if (color_auto_brightness_mode == NULL)
+ return;
- SANE_Option_Descriptor* color_constrast = kds_s2000w_option_descriptors_get_by_config_name(COLOR_CONTRAST);
+ const char* color_auto_brightness_mode_value = json_object_get_string(color_auto_brightness_mode);
+ SANE_Option_Descriptor* color_contrast = kds_s2000w_option_descriptors_get_by_config_name(COLOR_CONTRAST);
+ if (color_contrast == NULL)
+ return;
if (strcmp(color_auto_brightness_mode_value, "Manual") == 0) {
- color_constrast->cap |= SANE_CAP_SOFT_SELECT;
+ color_contrast->cap |= SANE_CAP_SOFT_SELECT;
return;
}
- color_constrast->cap &= ~SANE_CAP_SOFT_SELECT;
+ color_contrast->cap &= ~SANE_CAP_SOFT_SELECT;
}
void _kds_s2000w_handler_opts_set_enable_boldness_aggressiveness(json_object* config)
{
- json_object* foreground_boldness_mode = json_object_object_get(config, FOREGROUND_BOLDNESS_MODE);;
- const char* foreground_boldness_mode_value = json_object_get_string(foreground_boldness_mode);
+ json_object* foreground_boldness_mode = json_object_object_get(config, FOREGROUND_BOLDNESS_MODE);
+ if (foreground_boldness_mode == NULL)
+ return;
+ const char* foreground_boldness_mode_value = json_object_get_string(foreground_boldness_mode);
SANE_Option_Descriptor* foreground_boldness_aggressiveness = kds_s2000w_option_descriptors_get_by_config_name(FOREGROUND_BOLDNESS_AGGRESSIVENESS);
+ if (foreground_boldness_aggressiveness == NULL)
+ return;
if (strcmp(foreground_boldness_mode_value, "AutomaticAdvanced") == 0) {
foreground_boldness_aggressiveness->cap |= SANE_CAP_SOFT_SELECT;
void _kds_s2000w_handler_opts_set_enable_smoothing_aggressiveness(json_object* config)
{
- json_object* background_smoothing_mode = json_object_object_get(config, BACKGROUND_SMOOTHING_MODE);;
- const char* background_smoothing_mode_value = json_object_get_string(background_smoothing_mode);
+ json_object* background_smoothing_mode = json_object_object_get(config, BACKGROUND_SMOOTHING_MODE);
+ if (background_smoothing_mode == NULL)
+ return;
+ const char* background_smoothing_mode_value = json_object_get_string(background_smoothing_mode);
SANE_Option_Descriptor* background_smoothing_aggressiveness = kds_s2000w_option_descriptors_get_by_config_name(BACKGROUND_SMOOTHING_AGGRESSIVENESS);
+ if (background_smoothing_aggressiveness == NULL)
+ return;
if (strcmp(background_smoothing_mode_value, "AutomaticAdvanced") == 0) {
background_smoothing_aggressiveness->cap |= SANE_CAP_SOFT_SELECT;
void _kds_s2000w_handler_opts_set_enable_color_drop_out_aggressiveness(json_object* config)
{
- json_object* color_drop_out = json_object_object_get(config, COLOR_DROP_OUT);;
- const char* color_drop_out_value = json_object_get_string(color_drop_out);
+ json_object* color_drop_out = json_object_object_get(config, COLOR_DROP_OUT);
+ if (color_drop_out == NULL)
+ return;
+ const char* color_drop_out_value = json_object_get_string(color_drop_out);
SANE_Option_Descriptor* color_drop_out_aggressiveness = kds_s2000w_option_descriptors_get_by_config_name(COLOR_DROP_OUT_AGGRESSIVENESS);
+ if (color_drop_out_aggressiveness == NULL)
+ return;
if (strcmp(color_drop_out_value, "Predominant") == 0 || strcmp(color_drop_out_value, "Multiple") == 0) {
color_drop_out_aggressiveness->cap |= SANE_CAP_SOFT_SELECT;
}
if (strcmp(config_name, RESET) == 0) {
- if (h->profile == PROFILE_FULL) {
- _kds_s2000w_handler_opts_set_enable_cropping_image(config);
- _kds_s2000w_handler_opts_set_enable_suboptions_cropping_image(config);
- _kds_s2000w_handler_opts_set_enable_color_brightness(config);
- _kds_s2000w_handler_opts_set_enable_color_contrast(config);
- }
+ _kds_s2000w_handler_opts_set_enable_cropping_image(config);
+ _kds_s2000w_handler_opts_set_enable_suboptions_cropping_image(config);
+ _kds_s2000w_handler_opts_set_enable_color_brightness(config);
+ _kds_s2000w_handler_opts_set_enable_color_contrast(config);
_kds_s2000w_handler_opts_set_enable_boldness_aggressiveness(config);
_kds_s2000w_handler_opts_set_enable_smoothing_aggressiveness(config);
_kds_s2000w_handler_opts_set_enable_color_drop_out_aggressiveness(config);
_kds_s2000w_handler_opts_reset(descriptor, h);
- if (h->profile > PROFILE_MIN)
- _kds_s2000w_handler_opts_set_depends_opts(h, descriptor->config_name, h->scanner_config);
+ _kds_s2000w_handler_opts_set_depends_opts(h, descriptor->config_name, h->scanner_config);
if (!_kds_s2000w_opts_validate(descriptor->descriptor, value))
return INVAL;