[evolution] Add weekday conversion functions.
- From: Matthew Barnes <mbarnes src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution] Add weekday conversion functions.
- Date: Fri, 8 Mar 2013 17:39:42 +0000 (UTC)
commit 494c98c7642acb7ca678c57678ce104da14c62a8
Author: Matthew Barnes <mbarnes redhat com>
Date: Fri Mar 8 12:39:27 2013 -0500
Add weekday conversion functions.
e_weekday_to_tm_wday()
e_weekday_from_tm_wday()
doc/reference/libeutil/Makefile.am | 3 +
doc/reference/libeutil/libeutil-sections.txt | 2 +
e-util/e-misc-utils.c | 86 ++++++++++++++++++++++++++
e-util/e-misc-utils.h | 2 +
4 files changed, 93 insertions(+), 0 deletions(-)
---
diff --git a/doc/reference/libeutil/Makefile.am b/doc/reference/libeutil/Makefile.am
index 7fee929..411f0c8 100644
--- a/doc/reference/libeutil/Makefile.am
+++ b/doc/reference/libeutil/Makefile.am
@@ -62,6 +62,9 @@ GTKDOC_LIBS = \
$(GTKHTML_LIBS) \
$(NULL)
+# Extra options to supply to gtkdoc-mkdb
+MKDB_OPTIONS = --output-format=xml --sgml-mode
+
# This includes the standard gtk-doc make rules, copied by gtkdocize.
include $(top_srcdir)/gtk-doc.make
diff --git a/doc/reference/libeutil/libeutil-sections.txt b/doc/reference/libeutil/libeutil-sections.txt
index 4934a95..57ccb96 100644
--- a/doc/reference/libeutil/libeutil-sections.txt
+++ b/doc/reference/libeutil/libeutil-sections.txt
@@ -2252,6 +2252,8 @@ e_weekday_get_prev
e_weekday_add_days
e_weekday_subtract_days
e_weekday_get_days_between
+e_weekday_to_tm_wday
+e_weekday_from_tm_wday
e_flexible_strtod
E_ASCII_DTOSTR_BUF_SIZE
e_ascii_dtostr
diff --git a/e-util/e-misc-utils.c b/e-util/e-misc-utils.c
index 60ebc6b..0f35099 100644
--- a/e-util/e-misc-utils.c
+++ b/e-util/e-misc-utils.c
@@ -1648,6 +1648,92 @@ e_weekday_get_days_between (GDateWeekday weekday1,
return n_days;
}
+/**
+ * e_weekday_to_tm_wday:
+ * @weekday: a #GDateWeekday
+ *
+ * Converts a #GDateWeekday to the numbering used in
+ * <structname>struct tm</structname>.
+ *
+ * Returns: number of days since Sunday (0 - 6)
+ **/
+gint
+e_weekday_to_tm_wday (GDateWeekday weekday)
+{
+ gint tm_wday;
+
+ switch (weekday) {
+ case G_DATE_MONDAY:
+ tm_wday = 1;
+ break;
+ case G_DATE_TUESDAY:
+ tm_wday = 2;
+ break;
+ case G_DATE_WEDNESDAY:
+ tm_wday = 3;
+ break;
+ case G_DATE_THURSDAY:
+ tm_wday = 4;
+ break;
+ case G_DATE_FRIDAY:
+ tm_wday = 5;
+ break;
+ case G_DATE_SATURDAY:
+ tm_wday = 6;
+ break;
+ case G_DATE_SUNDAY:
+ tm_wday = 0;
+ break;
+ default:
+ g_return_val_if_reached (-1);
+ }
+
+ return tm_wday;
+}
+
+/**
+ * e_weekday_from_tm_wday:
+ * @tm_wday: number of days since Sunday (0 - 6)
+ *
+ * Converts a weekday in the numbering used in
+ * <structname>struct tm</structname> to a #GDateWeekday.
+ *
+ * Returns: a #GDateWeekday
+ **/
+GDateWeekday
+e_weekday_from_tm_wday (gint tm_wday)
+{
+ GDateWeekday weekday;
+
+ switch (tm_wday) {
+ case 0:
+ weekday = G_DATE_SUNDAY;
+ break;
+ case 1:
+ weekday = G_DATE_MONDAY;
+ break;
+ case 2:
+ weekday = G_DATE_TUESDAY;
+ break;
+ case 3:
+ weekday = G_DATE_WEDNESDAY;
+ break;
+ case 4:
+ weekday = G_DATE_THURSDAY;
+ break;
+ case 5:
+ weekday = G_DATE_FRIDAY;
+ break;
+ case 6:
+ weekday = G_DATE_SATURDAY;
+ break;
+ default:
+ g_return_val_if_reached (G_DATE_BAD_WEEKDAY);
+ }
+
+ return weekday;
+}
+
/* Evolution Locks for crash recovery */
static const gchar *
get_lock_filename (void)
diff --git a/e-util/e-misc-utils.h b/e-util/e-misc-utils.h
index 20a17b8..d45f8d3 100644
--- a/e-util/e-misc-utils.h
+++ b/e-util/e-misc-utils.h
@@ -147,6 +147,8 @@ GDateWeekday e_weekday_subtract_days (GDateWeekday weekday,
guint n_days);
guint e_weekday_get_days_between (GDateWeekday weekday1,
GDateWeekday weekday2);
+gint e_weekday_to_tm_wday (GDateWeekday weekday);
+GDateWeekday e_weekday_from_tm_wday (gint tm_wday);
gboolean e_file_lock_create (void);
void e_file_lock_destroy (void);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]