From 2a9296f54e78356d4ba5e4b26da17e8df7d2b7a5 Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Wed, 28 Jun 2023 15:28:22 +0100 Subject: [PATCH] calendar: Replace internal 1-bit fields with bool Single bit fields cannot be used by address, and will overflow when set to values that are bigger than one bit; the behaviour (if not the size) of the C99 bool type is better defined. --- gtk/gtkcalendar.c | 47 +++++++++++++++++++++++++---------------------- 1 file changed, 25 insertions(+), 22 deletions(-) diff --git a/gtk/gtkcalendar.c b/gtk/gtkcalendar.c index b35b0be341..070318f213 100644 --- a/gtk/gtkcalendar.c +++ b/gtk/gtkcalendar.c @@ -202,10 +202,9 @@ struct _GtkCalendar { GtkWidget widget; - guint show_week_numbers : 1; - guint show_heading : 1; - guint show_day_names : 1; - guint year_before : 1; + bool show_week_numbers; + bool show_heading; + bool show_day_names; GtkWidget *header_box; GtkWidget *year_label; @@ -219,14 +218,14 @@ struct _GtkCalendar GDateTime *date; - int day_month[6][7]; - int day[6][7]; + int day_month[6][7]; + int day[6][7]; - int num_marked_dates; - int marked_date[31]; + int num_marked_dates; + int marked_date[31]; - int focus_row; - int focus_col; + int focus_row; + int focus_col; int week_start; }; @@ -774,12 +773,12 @@ gtk_calendar_init (GtkCalendar *calendar) gtk_widget_set_vexpand (calendar->grid, TRUE); gtk_widget_set_parent (calendar->grid, GTK_WIDGET (calendar)); - for (i=0;i<31;i++) + for (i = 0; i < 31; i++) calendar->marked_date[i] = FALSE; calendar->num_marked_dates = 0; - calendar->show_heading = TRUE; - calendar->show_day_names = TRUE; + calendar->show_heading = true; + calendar->show_day_names = true; calendar->focus_row = -1; calendar->focus_col = -1; @@ -1638,17 +1637,18 @@ void gtk_calendar_set_show_week_numbers (GtkCalendar *self, gboolean value) { + bool show_week_numbers = !!value; int i; g_return_if_fail (GTK_IS_CALENDAR (self)); - if (self->show_week_numbers == value) + if (self->show_week_numbers == show_week_numbers) return; - self->show_week_numbers = value; + self->show_week_numbers = show_week_numbers; for (i = 0; i < 6; i ++) - gtk_widget_set_visible (self->week_number_labels[i], value); + gtk_widget_set_visible (self->week_number_labels[i], show_week_numbers); g_object_notify (G_OBJECT (self), "show-week-numbers"); } @@ -1687,14 +1687,16 @@ void gtk_calendar_set_show_heading (GtkCalendar *self, gboolean value) { + bool show_heading = !!value; + g_return_if_fail (GTK_IS_CALENDAR (self)); - if (self->show_heading == value) + if (self->show_heading == show_heading) return; - self->show_heading = value; + self->show_heading = show_heading; - gtk_widget_set_visible (self->header_box, value); + gtk_widget_set_visible (self->header_box, show_heading); g_object_notify (G_OBJECT (self), "show-heading"); } @@ -1729,17 +1731,18 @@ void gtk_calendar_set_show_day_names (GtkCalendar *self, gboolean value) { + bool show_day_names = !!value; int i; g_return_if_fail (GTK_IS_CALENDAR (self)); - if (self->show_day_names == value) + if (self->show_day_names == show_day_names) return; - self->show_day_names = value; + self->show_day_names = show_day_names; for (i = 0; i < 7; i ++) - gtk_widget_set_visible (self->day_name_labels[i], value); + gtk_widget_set_visible (self->day_name_labels[i], show_day_names); g_object_notify (G_OBJECT (self), "show-day-names"); }