changeset 1315:c1d108ab3388

Since READ_*() macros are now exported, do not hide the if() continue; statement in them. Wrap WRITE_STRING() instructions in a safer do {} while (0).
author zas_
date Tue, 24 Feb 2009 17:47:45 +0000
parents 8cca18bce950
children 732083928afb
files src/bar_comment.c src/bar_exif.c src/bar_histogram.c src/bar_keywords.c src/filefilter.c src/layout.c src/rcfile.c src/rcfile.h
diffstat 8 files changed, 167 insertions(+), 167 deletions(-) [+]
line wrap: on
line diff
--- a/src/bar_comment.c	Mon Feb 23 22:13:09 2009 +0000
+++ b/src/bar_comment.c	Tue Feb 24 17:47:45 2009 +0000
@@ -271,10 +271,10 @@
 		const gchar *option = *attribute_names++;
 		const gchar *value = *attribute_values++;
 
-		READ_CHAR_FULL("pane.title", title);
-		READ_CHAR_FULL("key", key);
-		READ_BOOL_FULL("pane.expanded", expanded);
-		READ_INT_FULL("height", height);
+		if (READ_CHAR_FULL("pane.title", title)) continue;
+		if (READ_CHAR_FULL("key", key)) continue;
+		if (READ_BOOL_FULL("pane.expanded", expanded)) continue;
+		if (READ_INT_FULL("height", height)) continue;
 		
 
 		DEBUG_1("unknown attribute %s = %s", option, value);
--- a/src/bar_exif.c	Mon Feb 23 22:13:09 2009 +0000
+++ b/src/bar_exif.c	Tue Feb 24 17:47:45 2009 +0000
@@ -425,8 +425,8 @@
 		const gchar *option = *attribute_names++;
 		const gchar *value = *attribute_values++;
 
-		READ_CHAR_FULL("pane.title", title);
-		READ_BOOL_FULL("pane.expanded", expanded);
+		if (READ_CHAR_FULL("pane.title", title)) continue;
+		if (READ_BOOL_FULL("pane.expanded", expanded)) continue;
 		
 
 		DEBUG_1("unknown attribute %s = %s", option, value);
--- a/src/bar_histogram.c	Mon Feb 23 22:13:09 2009 +0000
+++ b/src/bar_histogram.c	Tue Feb 24 17:47:45 2009 +0000
@@ -199,8 +199,8 @@
 		const gchar *option = *attribute_names++;
 		const gchar *value = *attribute_values++;
 
-		READ_CHAR_FULL("pane.title", title);
-		READ_BOOL_FULL("pane.expanded", expanded);
+		if (READ_CHAR_FULL("pane.title", title)) continue;
+		if (READ_BOOL_FULL("pane.expanded", expanded)) continue;
 		
 
 		DEBUG_1("unknown attribute %s = %s", option, value);
--- a/src/bar_keywords.c	Mon Feb 23 22:13:09 2009 +0000
+++ b/src/bar_keywords.c	Tue Feb 24 17:47:45 2009 +0000
@@ -838,9 +838,9 @@
 		const gchar *option = *attribute_names++;
 		const gchar *value = *attribute_values++;
 
-		READ_CHAR_FULL("pane.title", title);
-		READ_CHAR_FULL("key", key);
-		READ_BOOL_FULL("pane.expanded", expanded);
+		if (READ_CHAR_FULL("pane.title", title)) continue;
+		if (READ_CHAR_FULL("key", key)) continue;
+		if (READ_BOOL_FULL("pane.expanded", expanded)) continue;
 		
 
 		DEBUG_1("unknown attribute %s = %s", option, value);
--- a/src/filefilter.c	Mon Feb 23 22:13:09 2009 +0000
+++ b/src/filefilter.c	Tue Feb 24 17:47:45 2009 +0000
@@ -460,13 +460,13 @@
 		const gchar *option = *attribute_names++;
 		const gchar *value = *attribute_values++;
 
-		READ_CHAR(fe, key);
-		READ_BOOL(fe, enabled);
-		READ_CHAR(fe, extensions);
-		READ_CHAR(fe, description);
-		READ_UINT(fe, file_class);
-		READ_BOOL(fe, writable);
-		READ_BOOL(fe, allow_sidecar);
+		if (READ_CHAR(fe, key)) continue;
+		if (READ_BOOL(fe, enabled)) continue;
+		if (READ_CHAR(fe, extensions)) continue;
+		if (READ_CHAR(fe, description)) continue;
+		if (READ_UINT(fe, file_class)) continue;
+		if (READ_BOOL(fe, writable)) continue;
+		if (READ_BOOL(fe, allow_sidecar)) continue;
 
 		printf("unknown attribute %s = %s\n", option, value);
 		}
--- a/src/layout.c	Mon Feb 23 22:13:09 2009 +0000
+++ b/src/layout.c	Tue Feb 24 17:47:45 2009 +0000
@@ -2193,52 +2193,52 @@
 
 		/* layout options */
 
-		READ_INT(*layout, style);
-		READ_CHAR(*layout, order);
+		if (READ_INT(*layout, style)) continue;
+		if (READ_CHAR(*layout, order)) continue;
 		
-		READ_UINT(*layout, dir_view_type);
-		READ_UINT(*layout, file_view_type);
-		READ_BOOL(*layout, show_marks);
-		READ_BOOL(*layout, show_thumbnails);
-		READ_BOOL(*layout, show_directory_date);
-		READ_CHAR(*layout, home_path);
+		if (READ_UINT(*layout, dir_view_type)) continue;
+		if (READ_UINT(*layout, file_view_type)) continue;
+		if (READ_BOOL(*layout, show_marks)) continue;
+		if (READ_BOOL(*layout, show_thumbnails)) continue;
+		if (READ_BOOL(*layout, show_directory_date)) continue;
+		if (READ_CHAR(*layout, home_path)) continue;
 
 		/* window positions */
 
-		READ_BOOL(*layout, save_window_positions);
-
-		READ_INT(*layout, main_window.x);
-		READ_INT(*layout, main_window.y);
-		READ_INT(*layout, main_window.w);
-		READ_INT(*layout, main_window.h);
-		READ_BOOL(*layout, main_window.maximized);
-		READ_INT(*layout, main_window.hdivider_pos);
-		READ_INT(*layout, main_window.vdivider_pos);
-
-		READ_INT(*layout, float_window.x);
-		READ_INT(*layout, float_window.y);
-		READ_INT(*layout, float_window.w);
-		READ_INT(*layout, float_window.h);
-		READ_INT(*layout, float_window.vdivider_pos);
+		if (READ_BOOL(*layout, save_window_positions)) continue;
+
+		if (READ_INT(*layout, main_window.x)) continue;
+		if (READ_INT(*layout, main_window.y)) continue;
+		if (READ_INT(*layout, main_window.w)) continue;
+		if (READ_INT(*layout, main_window.h)) continue;
+		if (READ_BOOL(*layout, main_window.maximized)) continue;
+		if (READ_INT(*layout, main_window.hdivider_pos)) continue;
+		if (READ_INT(*layout, main_window.vdivider_pos)) continue;
+
+		if (READ_INT(*layout, float_window.x)) continue;
+		if (READ_INT(*layout, float_window.y)) continue;
+		if (READ_INT(*layout, float_window.w)) continue;
+		if (READ_INT(*layout, float_window.h)) continue;
+		if (READ_INT(*layout, float_window.vdivider_pos)) continue;
 	
-		READ_INT(*layout, properties_window.w);
-		READ_INT(*layout, properties_window.h);
-
-		READ_BOOL(*layout, tools_float);
-		READ_BOOL(*layout, tools_hidden);
-		READ_BOOL(*layout, tools_restore_state);
-		READ_BOOL(*layout, toolbar_hidden);
+		if (READ_INT(*layout, properties_window.w)) continue;
+		if (READ_INT(*layout, properties_window.h)) continue;
+
+		if (READ_BOOL(*layout, tools_float)) continue;
+		if (READ_BOOL(*layout, tools_hidden)) continue;
+		if (READ_BOOL(*layout, tools_restore_state)) continue;
+		if (READ_BOOL(*layout, toolbar_hidden)) continue;
 
 		/* panels */
-		READ_BOOL(*layout, panels.exif.enabled);
-		READ_INT_CLAMP(*layout, panels.exif.width, PANEL_MIN_WIDTH, PANEL_MAX_WIDTH);
-		READ_BOOL(*layout, panels.info.enabled);
-		READ_INT_CLAMP(*layout, panels.info.width, PANEL_MIN_WIDTH, PANEL_MAX_WIDTH);
-		READ_BOOL(*layout, panels.sort.enabled);
-		READ_INT(*layout, panels.sort.action_state);
-		READ_INT(*layout, panels.sort.mode_state);
-		READ_INT(*layout, panels.sort.selection_state);
-		READ_CHAR(*layout, panels.sort.action_filter);
+		if (READ_BOOL(*layout, panels.exif.enabled)) continue;
+		if (READ_INT_CLAMP(*layout, panels.exif.width, PANEL_MIN_WIDTH, PANEL_MAX_WIDTH)) continue;
+		if (READ_BOOL(*layout, panels.info.enabled)) continue;
+		if (READ_INT_CLAMP(*layout, panels.info.width, PANEL_MIN_WIDTH, PANEL_MAX_WIDTH)) continue;
+		if (READ_BOOL(*layout, panels.sort.enabled)) continue;
+		if (READ_INT(*layout, panels.sort.action_state)) continue;
+		if (READ_INT(*layout, panels.sort.mode_state)) continue;
+		if (READ_INT(*layout, panels.sort.selection_state)) continue;
+		if (READ_CHAR(*layout, panels.sort.action_filter)) continue;
 
 
 		DEBUG_1("unknown attribute %s = %s", option, value);
--- a/src/rcfile.c	Mon Feb 23 22:13:09 2009 +0000
+++ b/src/rcfile.c	Tue Feb 24 17:47:45 2009 +0000
@@ -570,127 +570,127 @@
 
 
 		/* general options */
-		READ_BOOL(*options, show_icon_names);
-		READ_BOOL(*options, show_copy_path);
+		if (READ_BOOL(*options, show_icon_names)) continue;
+		if (READ_BOOL(*options, show_copy_path)) continue;
 
-		READ_BOOL(*options, tree_descend_subdirs);
-		READ_BOOL(*options, lazy_image_sync);
-		READ_BOOL(*options, update_on_time_change);
+		if (READ_BOOL(*options, tree_descend_subdirs)) continue;
+		if (READ_BOOL(*options, lazy_image_sync)) continue;
+		if (READ_BOOL(*options, update_on_time_change)) continue;
 
-		READ_UINT_CLAMP(*options, duplicates_similarity_threshold, 0, 100);
+		if (READ_UINT_CLAMP(*options, duplicates_similarity_threshold, 0, 100)) continue;
 
-		READ_BOOL(*options, progressive_key_scrolling);
+		if (READ_BOOL(*options, progressive_key_scrolling)) continue;
 
-		READ_BOOL(*options, mousewheel_scrolls);
+		if (READ_BOOL(*options, mousewheel_scrolls)) continue;
 
-		READ_INT(*options, open_recent_list_maxsize);
-		READ_INT(*options, dnd_icon_size);
-		READ_BOOL(*options, place_dialogs_under_mouse);
+		if (READ_INT(*options, open_recent_list_maxsize)) continue;
+		if (READ_INT(*options, dnd_icon_size)) continue;
+		if (READ_BOOL(*options, place_dialogs_under_mouse)) continue;
 
 		/* startup options */
 		
-		READ_BOOL(*options, startup.restore_path);
+		if (READ_BOOL(*options, startup.restore_path)) continue;
 
-		READ_BOOL(*options, startup.use_last_path);
+		if (READ_BOOL(*options, startup.use_last_path)) continue;
 
-		READ_CHAR(*options, startup.path);
+		if (READ_CHAR(*options, startup.path)) continue;
 	
 
 		/* properties dialog options */
-		READ_CHAR(*options, properties.tabs_order);
+		if (READ_CHAR(*options, properties.tabs_order)) continue;
 
 		/* image options */
-		READ_UINT_CLAMP(*options, image.zoom_mode, 0, ZOOM_RESET_NONE);
-		READ_BOOL(*options, image.zoom_2pass);
-		READ_BOOL(*options, image.zoom_to_fit_allow_expand);
-		READ_BOOL(*options, image.fit_window_to_image);
-		READ_BOOL(*options, image.limit_window_size);
-		READ_INT(*options, image.max_window_size);
-		READ_BOOL(*options, image.limit_autofit_size);
-		READ_INT(*options, image.max_autofit_size);
-		READ_UINT_CLAMP(*options, image.scroll_reset_method, 0, PR_SCROLL_RESET_COUNT - 1);
-		READ_INT(*options, image.tile_cache_max);
-		READ_INT(*options, image.image_cache_max);
-		READ_UINT_CLAMP(*options, image.zoom_quality, GDK_INTERP_NEAREST, GDK_INTERP_HYPER);
-		READ_UINT_CLAMP(*options, image.dither_quality, GDK_RGB_DITHER_NONE, GDK_RGB_DITHER_MAX);
-		READ_INT(*options, image.zoom_increment);
-		READ_BOOL(*options, image.enable_read_ahead);
-		READ_BOOL(*options, image.exif_rotate_enable);
-		READ_BOOL(*options, image.use_custom_border_color);
-		READ_COLOR(*options, image.border_color);
-		READ_INT_CLAMP(*options, image.read_buffer_size, IMAGE_LOADER_READ_BUFFER_SIZE_MIN, IMAGE_LOADER_READ_BUFFER_SIZE_MAX);
-		READ_INT_CLAMP(*options, image.idle_read_loop_count, IMAGE_LOADER_IDLE_READ_LOOP_COUNT_MIN, IMAGE_LOADER_IDLE_READ_LOOP_COUNT_MAX);
+		if (READ_UINT_CLAMP(*options, image.zoom_mode, 0, ZOOM_RESET_NONE)) continue;
+		if (READ_BOOL(*options, image.zoom_2pass)) continue;
+		if (READ_BOOL(*options, image.zoom_to_fit_allow_expand)) continue;
+		if (READ_BOOL(*options, image.fit_window_to_image)) continue;
+		if (READ_BOOL(*options, image.limit_window_size)) continue;
+		if (READ_INT(*options, image.max_window_size)) continue;
+		if (READ_BOOL(*options, image.limit_autofit_size)) continue;
+		if (READ_INT(*options, image.max_autofit_size)) continue;
+		if (READ_UINT_CLAMP(*options, image.scroll_reset_method, 0, PR_SCROLL_RESET_COUNT - 1)) continue;
+		if (READ_INT(*options, image.tile_cache_max)) continue;
+		if (READ_INT(*options, image.image_cache_max)) continue;
+		if (READ_UINT_CLAMP(*options, image.zoom_quality, GDK_INTERP_NEAREST, GDK_INTERP_HYPER)) continue;
+		if (READ_UINT_CLAMP(*options, image.dither_quality, GDK_RGB_DITHER_NONE, GDK_RGB_DITHER_MAX)) continue;
+		if (READ_INT(*options, image.zoom_increment)) continue;
+		if (READ_BOOL(*options, image.enable_read_ahead)) continue;
+		if (READ_BOOL(*options, image.exif_rotate_enable)) continue;
+		if (READ_BOOL(*options, image.use_custom_border_color)) continue;
+		if (READ_COLOR(*options, image.border_color)) continue;
+		if (READ_INT_CLAMP(*options, image.read_buffer_size, IMAGE_LOADER_READ_BUFFER_SIZE_MIN, IMAGE_LOADER_READ_BUFFER_SIZE_MAX)) continue;
+		if (READ_INT_CLAMP(*options, image.idle_read_loop_count, IMAGE_LOADER_IDLE_READ_LOOP_COUNT_MIN, IMAGE_LOADER_IDLE_READ_LOOP_COUNT_MAX)) continue;
 
 
 		/* thumbnails options */
-		READ_INT_CLAMP(*options, thumbnails.max_width, 16, 512);
-		READ_INT_CLAMP(*options, thumbnails.max_height, 16, 512);
+		if (READ_INT_CLAMP(*options, thumbnails.max_width, 16, 512)) continue;
+		if (READ_INT_CLAMP(*options, thumbnails.max_height, 16, 512)) continue;
 
-		READ_BOOL(*options, thumbnails.enable_caching);
-		READ_BOOL(*options, thumbnails.cache_into_dirs);
-		READ_BOOL(*options, thumbnails.fast);
-		READ_BOOL(*options, thumbnails.use_xvpics);
-		READ_BOOL(*options, thumbnails.spec_standard);
-		READ_UINT_CLAMP(*options, thumbnails.quality, GDK_INTERP_NEAREST, GDK_INTERP_HYPER);
-		READ_BOOL(*options, thumbnails.use_exif);
+		if (READ_BOOL(*options, thumbnails.enable_caching)) continue;
+		if (READ_BOOL(*options, thumbnails.cache_into_dirs)) continue;
+		if (READ_BOOL(*options, thumbnails.fast)) continue;
+		if (READ_BOOL(*options, thumbnails.use_xvpics)) continue;
+		if (READ_BOOL(*options, thumbnails.spec_standard)) continue;
+		if (READ_UINT_CLAMP(*options, thumbnails.quality, GDK_INTERP_NEAREST, GDK_INTERP_HYPER)) continue;
+		if (READ_BOOL(*options, thumbnails.use_exif)) continue;
 
 		/* file sorting options */
-		READ_UINT(*options, file_sort.method);
-		READ_BOOL(*options, file_sort.ascending);
-		READ_BOOL(*options, file_sort.case_sensitive);
+		if (READ_UINT(*options, file_sort.method)) continue;
+		if (READ_BOOL(*options, file_sort.ascending)) continue;
+		if (READ_BOOL(*options, file_sort.case_sensitive)) continue;
 
 		/* file operations *options */
-		READ_BOOL(*options, file_ops.enable_in_place_rename);
-		READ_BOOL(*options, file_ops.confirm_delete);
-		READ_BOOL(*options, file_ops.enable_delete_key);
-		READ_BOOL(*options, file_ops.safe_delete_enable);
-		READ_CHAR(*options, file_ops.safe_delete_path);
-		READ_INT(*options, file_ops.safe_delete_folder_maxsize);
+		if (READ_BOOL(*options, file_ops.enable_in_place_rename)) continue;
+		if (READ_BOOL(*options, file_ops.confirm_delete)) continue;
+		if (READ_BOOL(*options, file_ops.enable_delete_key)) continue;
+		if (READ_BOOL(*options, file_ops.safe_delete_enable)) continue;
+		if (READ_CHAR(*options, file_ops.safe_delete_path)) continue;
+		if (READ_INT(*options, file_ops.safe_delete_folder_maxsize)) continue;
 
 		/* fullscreen options */
-		READ_INT(*options, fullscreen.screen);
-		READ_BOOL(*options, fullscreen.clean_flip);
-		READ_BOOL(*options, fullscreen.disable_saver);
-		READ_BOOL(*options, fullscreen.above);
+		if (READ_INT(*options, fullscreen.screen)) continue;
+		if (READ_BOOL(*options, fullscreen.clean_flip)) continue;
+		if (READ_BOOL(*options, fullscreen.disable_saver)) continue;
+		if (READ_BOOL(*options, fullscreen.above)) continue;
 
 		/* histogram */
-		READ_UINT(*options, histogram.last_channel_mode);
-		READ_UINT(*options, histogram.last_log_mode);
+		if (READ_UINT(*options, histogram.last_channel_mode)) continue;
+		if (READ_UINT(*options, histogram.last_log_mode)) continue;
 
 		/* image overlay */
-		READ_UINT(*options, image_overlay.common.state);
-		READ_BOOL(*options, image_overlay.common.show_at_startup);
-		READ_CHAR(*options, image_overlay.common.template_string);
+		if (READ_UINT(*options, image_overlay.common.state)) continue;
+		if (READ_BOOL(*options, image_overlay.common.show_at_startup)) continue;
+		if (READ_CHAR(*options, image_overlay.common.template_string)) continue;
 
-		READ_INT(*options, image_overlay.common.x);
-		READ_INT(*options, image_overlay.common.y);
+		if (READ_INT(*options, image_overlay.common.x)) continue;
+		if (READ_INT(*options, image_overlay.common.y)) continue;
 
 
 		/* slideshow options */
-		READ_INT_UNIT(*options, slideshow.delay, SLIDESHOW_SUBSECOND_PRECISION);
-		READ_BOOL(*options, slideshow.random);
-		READ_BOOL(*options, slideshow.repeat);
+		if (READ_INT_UNIT(*options, slideshow.delay, SLIDESHOW_SUBSECOND_PRECISION)) continue;
+		if (READ_BOOL(*options, slideshow.random)) continue;
+		if (READ_BOOL(*options, slideshow.repeat)) continue;
 
 		/* collection options */
 
-		READ_BOOL(*options, collections.rectangular_selection);
+		if (READ_BOOL(*options, collections.rectangular_selection)) continue;
 
 		/* filtering options */
 
-		READ_BOOL(*options, file_filter.show_hidden_files);
-		READ_BOOL(*options, file_filter.show_dot_directory);
-		READ_BOOL(*options, file_filter.disable);
-		READ_CHAR(*options, sidecar.ext);
+		if (READ_BOOL(*options, file_filter.show_hidden_files)) continue;
+		if (READ_BOOL(*options, file_filter.show_dot_directory)) continue;
+		if (READ_BOOL(*options, file_filter.disable)) continue;
+		if (READ_CHAR(*options, sidecar.ext)) continue;
 
 		/* Color Profiles */
 
 		/* Shell command */
-		READ_CHAR(*options, shell.path);
-		READ_CHAR(*options, shell.options);
+		if (READ_CHAR(*options, shell.path)) continue;
+		if (READ_CHAR(*options, shell.options)) continue;
 
 		/* Helpers */
-		READ_CHAR(*options, helpers.html_browser.command_name);
-		READ_CHAR(*options, helpers.html_browser.command_line);
+		if (READ_CHAR(*options, helpers.html_browser.command_name)) continue;
+		if (READ_CHAR(*options, helpers.html_browser.command_line)) continue;
 		/* Exif */
 /*
 		if (0 == g_ascii_strncasecmp(option, "exif.display.", 13))
@@ -702,17 +702,17 @@
 			}
 */
 		/* metadata */		
-		READ_BOOL(*options, metadata.enable_metadata_dirs);
-		READ_BOOL(*options, metadata.save_in_image_file);
-		READ_BOOL(*options, metadata.save_legacy_IPTC);
-		READ_BOOL(*options, metadata.warn_on_write_problems);
-		READ_BOOL(*options, metadata.save_legacy_format);
-		READ_BOOL(*options, metadata.sync_grouped_files);
-		READ_BOOL(*options, metadata.confirm_write);
-		READ_BOOL(*options, metadata.confirm_after_timeout);
-		READ_INT(*options, metadata.confirm_timeout);
-		READ_BOOL(*options, metadata.confirm_on_image_change);
-		READ_BOOL(*options, metadata.confirm_on_dir_change);
+		if (READ_BOOL(*options, metadata.enable_metadata_dirs)) continue;
+		if (READ_BOOL(*options, metadata.save_in_image_file)) continue;
+		if (READ_BOOL(*options, metadata.save_legacy_IPTC)) continue;
+		if (READ_BOOL(*options, metadata.warn_on_write_problems)) continue;
+		if (READ_BOOL(*options, metadata.save_legacy_format)) continue;
+		if (READ_BOOL(*options, metadata.sync_grouped_files)) continue;
+		if (READ_BOOL(*options, metadata.confirm_write)) continue;
+		if (READ_BOOL(*options, metadata.confirm_after_timeout)) continue;
+		if (READ_INT(*options, metadata.confirm_timeout)) continue;
+		if (READ_BOOL(*options, metadata.confirm_on_image_change)) continue;
+		if (READ_BOOL(*options, metadata.confirm_on_dir_change)) continue;
 
 		DEBUG_1("unknown attribute %s = %s", option, value);
 		}
@@ -728,11 +728,11 @@
 		const gchar *value = *attribute_values++;
 
 
-		READ_BOOL(options->color_profile, enabled);
-		READ_BOOL(options->color_profile, use_image);
-		READ_INT(options->color_profile, input_type);
-		READ_INT(options->color_profile, screen_type);
-		READ_CHAR(options->color_profile, screen_file);
+		if (READ_BOOL(options->color_profile, enabled)) continue;
+		if (READ_BOOL(options->color_profile, use_image)) continue;
+		if (READ_INT(options->color_profile, input_type)) continue;
+		if (READ_INT(options->color_profile, screen_type)) continue;
+		if (READ_CHAR(options->color_profile, screen_file)) continue;
 
 		DEBUG_1("unknown attribute %s = %s", option, value);
 		}
@@ -748,8 +748,8 @@
 		const gchar *option = *attribute_names++;
 		const gchar *value = *attribute_values++;
 
-		READ_CHAR_FULL("input_file", options->color_profile.input_file[i]);
-		READ_CHAR_FULL("input_name", options->color_profile.input_name[i]);
+		if (READ_CHAR_FULL("input_file", options->color_profile.input_file[i])) continue;
+		if (READ_CHAR_FULL("input_name", options->color_profile.input_name[i])) continue;
 		
 
 		DEBUG_1("unknown attribute %s = %s", option, value);
--- a/src/rcfile.h	Mon Feb 23 22:13:09 2009 +0000
+++ b/src/rcfile.h	Tue Feb 24 17:47:45 2009 +0000
@@ -40,24 +40,24 @@
 
 #define WRITE_SEPARATOR() g_string_append(outstr, "\n")
 #define WRITE_SUBTITLE(_title_) g_string_append_printf(outstr, "\n\n<!-- "_title_" -->\n\n")
-#define WRITE_STRING(_str_) {write_indent(outstr, indent);g_string_append_printf(outstr, _str_);}
+#define WRITE_STRING(_str_) do { write_indent(outstr, indent); g_string_append_printf(outstr, _str_); } while (0)
 
-#define READ_BOOL(target, _name_) if (read_bool_option(option, #_name_, value, &(target)._name_)) continue;
-#define READ_INT(target, _name_) if (read_int_option(option, #_name_, value, &(target)._name_)) continue;
-#define READ_UINT(target, _name_) if (read_uint_option(option, #_name_, value, &(target)._name_)) continue;
-#define READ_INT_CLAMP(target, _name_, _min_, _max_) if (read_int_option_clamp(option, #_name_, value, &(target)._name_, _min_, _max_)) continue;
-#define READ_UINT_CLAMP(target, _name_, _min_, _max_) if (read_uint_option_clamp(option, #_name_, value, &(target)._name_, _min_, _max_)) continue;
-#define READ_INT_UNIT(target, _name_, _unit_) if (read_int_unit_option(option, #_name_, value, &(target)._name_, _unit_)) continue;
-#define READ_CHAR(target, _name_) if (read_char_option(option, #_name_, value, &(target)._name_)) continue;
-#define READ_COLOR(target, _name_) if (read_color_option(option, #_name_, value, &(target)._name_)) continue;
+#define READ_BOOL(target, _name_) read_bool_option(option, #_name_, value, &(target)._name_)
+#define READ_INT(target, _name_) read_int_option(option, #_name_, value, &(target)._name_)
+#define READ_UINT(target, _name_) read_uint_option(option, #_name_, value, &(target)._name_)
+#define READ_INT_CLAMP(target, _name_, _min_, _max_) read_int_option_clamp(option, #_name_, value, &(target)._name_, _min_, _max_)
+#define READ_UINT_CLAMP(target, _name_, _min_, _max_) read_uint_option_clamp(option, #_name_, value, &(target)._name_, _min_, _max_)
+#define READ_INT_UNIT(target, _name_, _unit_) read_int_unit_option(option, #_name_, value, &(target)._name_, _unit_)
+#define READ_CHAR(target, _name_) read_char_option(option, #_name_, value, &(target)._name_)
+#define READ_COLOR(target, _name_) read_color_option(option, #_name_, value, &(target)._name_)
 
-#define READ_BOOL_FULL(name, target) if (read_bool_option(option, name, value, &(target))) continue;
-#define READ_INT_FULL(name, target) if (read_int_option(option, name, value, &(target))) continue;
-#define READ_UINT_FULL(name, target) if (read_uint_option(option, name, value, &(target))) continue;
-#define READ_INT_CLAMP_FULL(name, target, _min_, _max_) if (read_int_option_clamp(option, name, value, &(target), _min_, _max_)) continue;
-#define READ_INT_UNIT_FULL(name, target, _unit_) if (read_int_unit_option(option, name, value, &(target), _unit_)) continue;
-#define READ_CHAR_FULL(name, target) if (read_char_option(option, name, value, &(target))) continue;
-#define READ_COLOR_FULL(name, target) if (read_color_option(option, name, value, &(target))) continue;
+#define READ_BOOL_FULL(name, target) read_bool_option(option, name, value, &(target))
+#define READ_INT_FULL(name, target) read_int_option(option, name, value, &(target))
+#define READ_UINT_FULL(name, target) read_uint_option(option, name, value, &(target))
+#define READ_INT_CLAMP_FULL(name, target, _min_, _max_) read_int_option_clamp(option, name, value, &(target), _min_, _max_)
+#define READ_INT_UNIT_FULL(name, target, _unit_) read_int_unit_option(option, name, value, &(target), _unit_)
+#define READ_CHAR_FULL(name, target) read_char_option(option, name, value, &(target))
+#define READ_COLOR_FULL(name, target) read_color_option(option, name, value, &(target))