diff options
Diffstat (limited to 'user/pidgin/pidgin-2.14.8-libpurple_test_fix.patch')
-rw-r--r-- | user/pidgin/pidgin-2.14.8-libpurple_test_fix.patch | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/user/pidgin/pidgin-2.14.8-libpurple_test_fix.patch b/user/pidgin/pidgin-2.14.8-libpurple_test_fix.patch new file mode 100644 index 000000000..30caaa92e --- /dev/null +++ b/user/pidgin/pidgin-2.14.8-libpurple_test_fix.patch @@ -0,0 +1,52 @@ +# HG changeset patch +# Node ID e8f8e1558e11 +# Parent 930e4fb71321 +diff --git a/libpurple/tests/test_util.c b/libpurple/tests/test_util.c +--- a/libpurple/tests/test_util.c ++++ b/libpurple/tests/test_util.c +@@ -172,7 +172,7 @@ + fail_unless(1282941722 == purple_str_to_time("2010-08-27.204202", TRUE, NULL, NULL, NULL)); + fail_unless(1175919261 == purple_str_to_time("20070407T04:14:21.3234", TRUE, NULL, NULL, NULL)); + fail_unless(1175919261 == purple_str_to_time("20070407T04:14:21Z", TRUE, NULL, NULL, NULL)); +- fail_unless(1631512800 == purple_str_to_time("09-13-2021", TRUE, NULL, NULL, NULL)); ++ fail_unless(1631491200 == purple_str_to_time("09-13-2021", TRUE, NULL, NULL, NULL)); + + /* For testing local time we use Asia/Kathmandu because it's +05:45 and + * doesn't have DST which means the test should always pass regardless of +@@ -195,9 +195,14 @@ + * localtime. + */ + timestamp = purple_str_to_time("09/13/202115:34:34", TRUE, NULL, NULL, &rest); +- fail_unless(1631470500 == timestamp); ++ fail_unless(1631491200 == timestamp); + assert_string_equal("15:34:34", rest); + ++ timestamp = purple_str_to_time("2010-08-27.134202-0700PDT", FALSE, &tm, &tz_off, &rest); ++ fail_unless(1282941722 == timestamp); ++ fail_unless((-7 * 60 * 60) == tz_off); ++ assert_string_equal("PDT", rest); ++ + /* finally revert the TZ environment variable */ + if(oldtz != NULL) { + g_setenv("TZ", oldtz, TRUE); +diff --git a/libpurple/util.c b/libpurple/util.c +--- a/libpurple/util.c ++++ b/libpurple/util.c +@@ -887,6 +887,17 @@ + t.tm_isdst = -1; /* -1 means dst info is not available */ + } + } ++ } else { ++ /* If we have a time, figure out if we need to adjust our tz offset. */ ++ if(!mktime_with_utc) { ++ if(utc) { ++ mktime_with_utc = TRUE; ++ tzoff = 0; ++ } else { ++ /* Local Time */ ++ t.tm_isdst = -1; /* -1 means dst info is not available */ ++ } ++ } + } + + g_free(hours); |