Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package birb for openSUSE:Factory checked in at 2026-03-17 19:06:03 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/birb (Old) and /work/SRC/openSUSE:Factory/.birb.new.8177 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "birb" Tue Mar 17 19:06:03 2026 rev:6 rq:1339531 version:0.7.1 Changes: -------- --- /work/SRC/openSUSE:Factory/birb/birb.changes 2025-12-31 10:48:44.713719188 +0100 +++ /work/SRC/openSUSE:Factory/.birb.new.8177/birb.changes 2026-03-17 19:08:01.081421341 +0100 @@ -1,0 +2,10 @@ +Tue Mar 17 09:02:08 UTC 2026 - Richard Rahl <[email protected]> + +- Update to version 0.7.1: + * Fix a warning with birb_str_wipe + * Turn off pedantic warnings +- Update to verison 0.7.0: + * Add birb_time_zone functions + * Add a simple birb_str_wipe implementation + +------------------------------------------------------------------- Old: ---- birb-0.6.1.tar.xz birb-0.6.1.tar.xz.asc New: ---- birb-0.7.1.tar.xz birb-0.7.1.tar.xz.asc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ birb.spec ++++++ --- /var/tmp/diff_new_pack.n4emFo/_old 2026-03-17 19:08:01.553440804 +0100 +++ /var/tmp/diff_new_pack.n4emFo/_new 2026-03-17 19:08:01.553440804 +0100 @@ -1,7 +1,7 @@ # # spec file for package birb # -# Copyright (c) 2025 SUSE LLC and contributors +# Copyright (c) 2026 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,7 +18,7 @@ %define sover 0 Name: birb -Version: 0.6.1 +Version: 0.7.1 Release: 0 Summary: A library of utilities for GLib based apps License: LGPL-2.1-or-later ++++++ birb-0.6.1.tar.xz -> birb-0.7.1.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/birb-0.6.1/.hg_archival.txt new/birb-0.7.1/.hg_archival.txt --- old/birb-0.6.1/.hg_archival.txt 2025-12-30 00:40:06.000000000 +0100 +++ new/birb-0.7.1/.hg_archival.txt 2026-03-13 21:47:39.000000000 +0100 @@ -1,4 +1,4 @@ repo: d9d91dc0265d9ad1b6d5aee4cb57fe71381be5ab -node: e9e95f6dee4299b0218db3de6408949b827805b8 +node: 1bdd57e54f35416100786587991fe3e36e8ef76e branch: default -tag: v0.6.1 +tag: v0.7.1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/birb-0.6.1/ChangeLog new/birb-0.7.1/ChangeLog --- old/birb-0.6.1/ChangeLog 2025-12-30 00:40:06.000000000 +0100 +++ new/birb-0.7.1/ChangeLog 2026-03-13 21:47:39.000000000 +0100 @@ -1,3 +1,11 @@ +0.7.1: 2026-03-13 + * Fix a warning with birb_str_wipe (RR 4431) (Gary Kramlich) + * Turn off pedantic warnings (RR 4434) (Gary Kramlich) + +0.7.0: 2026-03-11 + * Add birb_time_zone functions (RR 4381) (Markus Fischer) + * Add a simple birb_str_wipe implementation (RR 4411) (Gary Kramlich) + 0.6.1: 2025-12-30 * Fix the license headers for the tests (RR 4289) (Gary Kramlich) * Add an override for the check-license-headers script (RR 4292) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/birb-0.6.1/birb/birbactionmenu.c new/birb-0.7.1/birb/birbactionmenu.c --- old/birb-0.6.1/birb/birbactionmenu.c 2025-12-30 00:40:06.000000000 +0100 +++ new/birb-0.7.1/birb/birbactionmenu.c 2026-03-13 21:47:39.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023-2025 Birb Developers + * Copyright (C) Birb Developers * * Birb is the legal property of its developers, whose names are too numerous * to list here. Please refer to the AUTHORS file distributed with this source diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/birb-0.6.1/birb/birbactionmenu.h new/birb-0.7.1/birb/birbactionmenu.h --- old/birb-0.6.1/birb/birbactionmenu.h 2025-12-30 00:40:06.000000000 +0100 +++ new/birb-0.7.1/birb/birbactionmenu.h 2026-03-13 21:47:39.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023-2025 Birb Developers + * Copyright (C) Birb Developers * * Birb is the legal property of its developers, whose names are too numerous * to list here. Please refer to the AUTHORS file distributed with this source diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/birb-0.6.1/birb/birbassert.h new/birb-0.7.1/birb/birbassert.h --- old/birb-0.6.1/birb/birbassert.h 2025-12-30 00:40:06.000000000 +0100 +++ new/birb-0.7.1/birb/birbassert.h 2026-03-13 21:47:39.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023-2025 Birb Developers + * Copyright (C) Birb Developers * * Birb is the legal property of its developers, whose names are too numerous * to list here. Please refer to the AUTHORS file distributed with this source diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/birb-0.6.1/birb/birbcount.c new/birb-0.7.1/birb/birbcount.c --- old/birb-0.6.1/birb/birbcount.c 2025-12-30 00:40:06.000000000 +0100 +++ new/birb-0.7.1/birb/birbcount.c 2026-03-13 21:47:39.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023-2025 Birb Developers + * Copyright (C) Birb Developers * * Birb is the legal property of its developers, whose names are too numerous * to list here. Please refer to the AUTHORS file distributed with this source diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/birb-0.6.1/birb/birbcount.h new/birb-0.7.1/birb/birbcount.h --- old/birb-0.6.1/birb/birbcount.h 2025-12-30 00:40:06.000000000 +0100 +++ new/birb-0.7.1/birb/birbcount.h 2026-03-13 21:47:39.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023-2025 Birb Developers + * Copyright (C) Birb Developers * * Birb is the legal property of its developers, whose names are too numerous * to list here. Please refer to the AUTHORS file distributed with this source diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/birb-0.6.1/birb/birbdatetime.c new/birb-0.7.1/birb/birbdatetime.c --- old/birb-0.6.1/birb/birbdatetime.c 2025-12-30 00:40:06.000000000 +0100 +++ new/birb-0.7.1/birb/birbdatetime.c 2026-03-13 21:47:39.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023-2025 Birb Developers + * Copyright (C) Birb Developers * * Birb is the legal property of its developers, whose names are too numerous * to list here. Please refer to the AUTHORS file distributed with this source diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/birb-0.6.1/birb/birbdatetime.h new/birb-0.7.1/birb/birbdatetime.h --- old/birb-0.6.1/birb/birbdatetime.h 2025-12-30 00:40:06.000000000 +0100 +++ new/birb-0.7.1/birb/birbdatetime.h 2026-03-13 21:47:39.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023-2025 Birb Developers + * Copyright (C) Birb Developers * * Birb is the legal property of its developers, whose names are too numerous * to list here. Please refer to the AUTHORS file distributed with this source diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/birb-0.6.1/birb/birbenv.c new/birb-0.7.1/birb/birbenv.c --- old/birb-0.6.1/birb/birbenv.c 2025-12-30 00:40:06.000000000 +0100 +++ new/birb-0.7.1/birb/birbenv.c 2026-03-13 21:47:39.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023-2025 Birb Developers + * Copyright (C) Birb Developers * * Birb is the legal property of its developers, whose names are too numerous * to list here. Please refer to the AUTHORS file distributed with this source diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/birb-0.6.1/birb/birbenv.h new/birb-0.7.1/birb/birbenv.h --- old/birb-0.6.1/birb/birbenv.h 2025-12-30 00:40:06.000000000 +0100 +++ new/birb-0.7.1/birb/birbenv.h 2026-03-13 21:47:39.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023-2025 Birb Developers + * Copyright (C) Birb Developers * * Birb is the legal property of its developers, whose names are too numerous * to list here. Please refer to the AUTHORS file distributed with this source diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/birb-0.6.1/birb/birbheader.template new/birb-0.7.1/birb/birbheader.template --- old/birb-0.6.1/birb/birbheader.template 2025-12-30 00:40:06.000000000 +0100 +++ new/birb-0.7.1/birb/birbheader.template 2026-03-13 21:47:39.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023-2025 Birb Developers + * Copyright (C) Birb Developers * * Birb is the legal property of its developers, whose names are too numerous * to list here. Please refer to the AUTHORS file distributed with this source diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/birb-0.6.1/birb/birblocalizedstring.c new/birb-0.7.1/birb/birblocalizedstring.c --- old/birb-0.6.1/birb/birblocalizedstring.c 2025-12-30 00:40:06.000000000 +0100 +++ new/birb-0.7.1/birb/birblocalizedstring.c 2026-03-13 21:47:39.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023-2025 Birb Developers + * Copyright (C) Birb Developers * * Birb is the legal property of its developers, whose names are too numerous * to list here. Please refer to the AUTHORS file distributed with this source diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/birb-0.6.1/birb/birblocalizedstring.h new/birb-0.7.1/birb/birblocalizedstring.h --- old/birb-0.6.1/birb/birblocalizedstring.h 2025-12-30 00:40:06.000000000 +0100 +++ new/birb-0.7.1/birb/birblocalizedstring.h 2026-03-13 21:47:39.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023-2025 Birb Developers + * Copyright (C) Birb Developers * * Birb is the legal property of its developers, whose names are too numerous * to list here. Please refer to the AUTHORS file distributed with this source diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/birb-0.6.1/birb/birbmenu.c new/birb-0.7.1/birb/birbmenu.c --- old/birb-0.6.1/birb/birbmenu.c 2025-12-30 00:40:06.000000000 +0100 +++ new/birb-0.7.1/birb/birbmenu.c 2026-03-13 21:47:39.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023-2025 Birb Developers + * Copyright (C) Birb Developers * * Birb is the legal property of its developers, whose names are too numerous * to list here. Please refer to the AUTHORS file distributed with this source diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/birb-0.6.1/birb/birbmenu.h new/birb-0.7.1/birb/birbmenu.h --- old/birb-0.6.1/birb/birbmenu.h 2025-12-30 00:40:06.000000000 +0100 +++ new/birb-0.7.1/birb/birbmenu.h 2026-03-13 21:47:39.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023-2025 Birb Developers + * Copyright (C) Birb Developers * * Birb is the legal property of its developers, whose names are too numerous * to list here. Please refer to the AUTHORS file distributed with this source diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/birb-0.6.1/birb/birbpangoformatter.c new/birb-0.7.1/birb/birbpangoformatter.c --- old/birb-0.6.1/birb/birbpangoformatter.c 2025-12-30 00:40:06.000000000 +0100 +++ new/birb-0.7.1/birb/birbpangoformatter.c 2026-03-13 21:47:39.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023-2025 Birb Developers + * Copyright (C) Birb Developers * * Birb is the legal property of its developers, whose names are too numerous * to list here. Please refer to the AUTHORS file distributed with this source diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/birb-0.6.1/birb/birbpangoformatter.h new/birb-0.7.1/birb/birbpangoformatter.h --- old/birb-0.6.1/birb/birbpangoformatter.h 2025-12-30 00:40:06.000000000 +0100 +++ new/birb-0.7.1/birb/birbpangoformatter.h 2026-03-13 21:47:39.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023-2025 Birb Developers + * Copyright (C) Birb Developers * * Birb is the legal property of its developers, whose names are too numerous * to list here. Please refer to the AUTHORS file distributed with this source diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/birb-0.6.1/birb/birbqueuedoutputstream.c new/birb-0.7.1/birb/birbqueuedoutputstream.c --- old/birb-0.6.1/birb/birbqueuedoutputstream.c 2025-12-30 00:40:06.000000000 +0100 +++ new/birb-0.7.1/birb/birbqueuedoutputstream.c 2026-03-13 21:47:39.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023-2025 Birb Developers + * Copyright (C) Birb Developers * * Birb is the legal property of its developers, whose names are too numerous * to list here. Please refer to the AUTHORS file distributed with this source diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/birb-0.6.1/birb/birbqueuedoutputstream.h new/birb-0.7.1/birb/birbqueuedoutputstream.h --- old/birb-0.6.1/birb/birbqueuedoutputstream.h 2025-12-30 00:40:06.000000000 +0100 +++ new/birb-0.7.1/birb/birbqueuedoutputstream.h 2026-03-13 21:47:39.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023-2025 Birb Developers + * Copyright (C) Birb Developers * * Birb is the legal property of its developers, whose names are too numerous * to list here. Please refer to the AUTHORS file distributed with this source diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/birb-0.6.1/birb/birbresponsestream.c new/birb-0.7.1/birb/birbresponsestream.c --- old/birb-0.6.1/birb/birbresponsestream.c 2025-12-30 00:40:06.000000000 +0100 +++ new/birb-0.7.1/birb/birbresponsestream.c 2026-03-13 21:47:39.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023-2025 Birb Developers + * Copyright (C) Birb Developers * * Birb is the legal property of its developers, whose names are too numerous * to list here. Please refer to the AUTHORS file distributed with this source diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/birb-0.6.1/birb/birbresponsestream.h new/birb-0.7.1/birb/birbresponsestream.h --- old/birb-0.6.1/birb/birbresponsestream.h 2025-12-30 00:40:06.000000000 +0100 +++ new/birb-0.7.1/birb/birbresponsestream.h 2026-03-13 21:47:39.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023-2025 Birb Developers + * Copyright (C) Birb Developers * * Birb is the legal property of its developers, whose names are too numerous * to list here. Please refer to the AUTHORS file distributed with this source diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/birb-0.6.1/birb/birbstr.c new/birb-0.7.1/birb/birbstr.c --- old/birb-0.6.1/birb/birbstr.c 2025-12-30 00:40:06.000000000 +0100 +++ new/birb-0.7.1/birb/birbstr.c 2026-03-13 21:47:39.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023-2025 Birb Developers + * Copyright (C) Birb Developers * * Birb is the legal property of its developers, whose names are too numerous * to list here. Please refer to the AUTHORS file distributed with this source diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/birb-0.6.1/birb/birbstr.h new/birb-0.7.1/birb/birbstr.h --- old/birb-0.6.1/birb/birbstr.h 2025-12-30 00:40:06.000000000 +0100 +++ new/birb-0.7.1/birb/birbstr.h 2026-03-13 21:47:39.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023-2025 Birb Developers + * Copyright (C) Birb Developers * * Birb is the legal property of its developers, whose names are too numerous * to list here. Please refer to the AUTHORS file distributed with this source @@ -26,6 +26,12 @@ #ifndef BIRB_STR_H #define BIRB_STR_H +#ifdef _WIN32 +# include <windows.h> +#endif + +#include <string.h> + #include <glib.h> #include "birbversion.h" @@ -107,6 +113,50 @@ return (guint)ivalue; } +/** + * birb_str_wipe: + * @str: (transfer full)(nullable): a null terminated string to wipe + * + * Securely erases and frees the given string. + * + * This uses the best available method on each platform, but will fallback to + * memset if the platform is unknown. + * + * Since: 0.7 + */ +BIRB_AVAILABLE_STATIC_INLINE_IN_0_7 +static inline void +birb_str_wipe(char *str) { +#ifdef _WIN32 + if(str == NULL) { + return; + } + + SecureZeroMemory(str, strlen(str)); + g_free(str); +#else + /* This implementation is based on egg_secure_clear from gcr. + * https://gitlab.gnome.org/GNOME/gcr/-/blob/fcfb16d74531376e22b6d9416fd2f7c33e540c37/egg/egg-secure-memory.c#L1350 + */ + volatile unsigned char *sp = NULL; + size_t length = 0; + + if(str == NULL) { + return; + } + + sp = (volatile unsigned char *)str; + length = strlen(str); + while(length > 0) { + *sp = 0xAA; + sp++; + length--; + } + + g_free(str); +#endif +} + G_END_DECLS #endif /* BIRB_STR_H */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/birb-0.6.1/birb/birbstringobject.c new/birb-0.7.1/birb/birbstringobject.c --- old/birb-0.6.1/birb/birbstringobject.c 2025-12-30 00:40:06.000000000 +0100 +++ new/birb-0.7.1/birb/birbstringobject.c 2026-03-13 21:47:39.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023-2025 Birb Developers + * Copyright (C) Birb Developers * * Birb is the legal property of its developers, whose names are too numerous * to list here. Please refer to the AUTHORS file distributed with this source diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/birb-0.6.1/birb/birbstringobject.h new/birb-0.7.1/birb/birbstringobject.h --- old/birb-0.6.1/birb/birbstringobject.h 2025-12-30 00:40:06.000000000 +0100 +++ new/birb-0.7.1/birb/birbstringobject.h 2026-03-13 21:47:39.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023-2025 Birb Developers + * Copyright (C) Birb Developers * * Birb is the legal property of its developers, whose names are too numerous * to list here. Please refer to the AUTHORS file distributed with this source diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/birb-0.6.1/birb/birbtimezone.c new/birb-0.7.1/birb/birbtimezone.c --- old/birb-0.6.1/birb/birbtimezone.c 1970-01-01 01:00:00.000000000 +0100 +++ new/birb-0.7.1/birb/birbtimezone.c 2026-03-13 21:47:39.000000000 +0100 @@ -0,0 +1,110 @@ +/* + * Copyright (C) Birb Developers + * + * Birb is the legal property of its developers, whose names are too numerous + * to list here. Please refer to the AUTHORS file distributed with this source + * distribution + * + * This library is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by the + * Free Software Foundation; either version 2.1 of the License, or (at your + * option) any later version. + * + * This library is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License + * for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library; if not, see <https://www.gnu.org/licenses/>. + */ + +#include "birbtimezone.h" + +#include "birbstr.h" + +/****************************************************************************** + * Public API + *****************************************************************************/ + +void +birb_time_zone_clear(GTimeZone **timezone_ptr) { + if(timezone_ptr == NULL || *timezone_ptr == NULL) { + return; + } + + g_time_zone_unref(*timezone_ptr); + *timezone_ptr = NULL; +} + +int +birb_time_zone_compare(GTimeZone *tz1, GTimeZone *tz2) { + gint32 offset1; + gint32 offset2; + + if(tz1 == NULL && tz2 == NULL) { + return 0; + } + if(tz1 == NULL) { + return -1; + } + if(tz2 == NULL) { + return 1; + } + + offset1 = g_time_zone_get_offset(tz1, 0); + offset2 = g_time_zone_get_offset(tz2, 0); + + if(offset1 < offset2) { + return -1; + } + + if(offset1 > offset2) { + return 1; + } + + return 0; +} + +gboolean +birb_time_zone_equal(GTimeZone *tz1, GTimeZone *tz2) { + const char *tz1_id; + const char *tz2_id; + + if(tz1 == NULL && tz2 == NULL) { + return TRUE; + } + if(tz1 == NULL || tz2 == NULL) { + return FALSE; + } + + tz1_id = g_time_zone_get_identifier(tz1); + tz2_id = g_time_zone_get_identifier(tz2); + + return birb_str_equal(tz1_id, tz2_id); +} + +gboolean +birb_time_zone_set(GTimeZone **timezone_ptr, GTimeZone *new_timezone) { + GTimeZone *old = NULL; + + g_return_val_if_fail(timezone_ptr != NULL, FALSE); + + old = *timezone_ptr; + + if(birb_time_zone_equal(old, new_timezone)) { + return FALSE; + } + + if(old != NULL) { + g_time_zone_unref(old); + } + + if(new_timezone != NULL) { + *timezone_ptr = g_time_zone_ref(new_timezone); + } else { + *timezone_ptr = NULL; + } + + return TRUE; +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/birb-0.6.1/birb/birbtimezone.h new/birb-0.7.1/birb/birbtimezone.h --- old/birb-0.6.1/birb/birbtimezone.h 1970-01-01 01:00:00.000000000 +0100 +++ new/birb-0.7.1/birb/birbtimezone.h 2026-03-13 21:47:39.000000000 +0100 @@ -0,0 +1,107 @@ +/* + * Copyright (C) Birb Developers + * + * Birb is the legal property of its developers, whose names are too numerous + * to list here. Please refer to the AUTHORS file distributed with this source + * distribution + * + * This library is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by the + * Free Software Foundation; either version 2.1 of the License, or (at your + * option) any later version. + * + * This library is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License + * for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library; if not, see <https://www.gnu.org/licenses/>. + */ + +#if !defined(BIRB_GLOBAL_HEADER_INSIDE) && !defined(BIRB_COMPILATION) +# error "only <birb.h> may be included directly" +#endif + +#ifndef BIRB_TIME_ZONE_H +#define BIRB_TIME_ZONE_H + +#include <glib.h> + +#include "birbversion.h" + +G_BEGIN_DECLS + +/** + * birb_time_zone_clear: + * @timezone_ptr: A pointer to a [[email protected]] reference. + * + * Clears a reference to a [[email protected]]. + * + * If the reference is %NULL, this function does nothing. Otherwise, the + * reference count of the [[email protected]] is decreased and the pointer is + * set to %NULL. + * + * Since: 0.7 + */ +BIRB_AVAILABLE_IN_0_7 +void birb_time_zone_clear(GTimeZone **timezone_ptr); + +/** + * birb_time_zone_compare: + * @tz1: (nullable) (transfer none): The pointer to the first + * [[email protected]] to compare. + * @tz2: (nullable) (transfer none): The pointer to the second + * [[email protected]] to compare. + * + * Compare two [[email protected]] objects. + * + * Returns: -1, 0 or 1 if @tz1 is *less than*, *equal to* or + * *greater than* @tz2. + * + * Since: 0.7 + */ +BIRB_AVAILABLE_IN_0_7 +int birb_time_zone_compare(GTimeZone *tz1, GTimeZone *tz2); + +/** + * birb_time_zone_equal: + * @tz1: (nullable) (transfer none): The pointer to the first + * [[email protected]] to compare. + * @tz2: (nullable) (transfer none): The pointer to the second + * [[email protected]] to compare. + * + * Checks two [[email protected]] objects for equality. + * + * Returns: %TRUE if @tz1 and @tz2 are equal. + * + * Since: 0.7 + */ +BIRB_AVAILABLE_IN_0_7 +gboolean birb_time_zone_equal(GTimeZone *tz1, GTimeZone *tz2); + +/** + * birb_time_zone_set: + * @timezone_ptr: (inout) (not optional) (nullable): A pointer to a + * [[email protected]] reference. + * @new_timezone: (nullable) (transfer none): The new time zone to set. + * + * Updates @timezone_ptr to point to @new_timezone. + * + * If @timezone_ptr had a previous reference, it will be un-referenced. + * + * If @new_timezone is not %NULL, a new reference will be added when it is + * assigned to @timezone_ptr. + * + * @timezone_ptr can not be %NULL but may point to a %NULL value. + * + * Returns: %TRUE if the value of @timezone_ptr changed, otherwise %FALSE. + * + * Since: 0.7 + */ +BIRB_AVAILABLE_IN_0_7 +gboolean birb_time_zone_set(GTimeZone **timezone_ptr, GTimeZone *new_timezone); + +G_END_DECLS + +#endif /* BIRB_TIME_ZONE_H */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/birb-0.6.1/birb/birbversion.c new/birb-0.7.1/birb/birbversion.c --- old/birb-0.6.1/birb/birbversion.c 2025-12-30 00:40:06.000000000 +0100 +++ new/birb-0.7.1/birb/birbversion.c 2026-03-13 21:47:39.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023-2025 Birb Developers + * Copyright (C) Birb Developers * * Birb is the legal property of its developers, whose names are too numerous * to list here. Please refer to the AUTHORS file distributed with this source diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/birb-0.6.1/birb/birbversion.h new/birb-0.7.1/birb/birbversion.h --- old/birb-0.6.1/birb/birbversion.h 2025-12-30 00:40:06.000000000 +0100 +++ new/birb-0.7.1/birb/birbversion.h 2026-03-13 21:47:39.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023-2025 Birb Developers + * Copyright (C) Birb Developers * * Birb is the legal property of its developers, whose names are too numerous * to list here. Please refer to the AUTHORS file distributed with this source @@ -276,6 +276,30 @@ #define BIRB_AVAILABLE_TYPE_IN_0_6 #endif +/** + * BIRB_VERSION_0_7: + * + * A macro that evaluates to the 0.7 version of birb, in a format that can be + * used by the C pre-processor. + * + * Since: 0.7 + */ +#define BIRB_VERSION_0_7 (G_ENCODE_VERSION(0, 7)) + +#if BIRB_VERSION_MAX_ALLOWED < BIRB_VERSION_0_7 +#define BIRB_AVAILABLE_IN_0_7 BIRB_UNAVAILABLE(0, 7) +#define BIRB_AVAILABLE_ENUMERATOR_IN_0_7 BIRB_UNAVAILABLE_ENUMERATOR(0, 7) +#define BIRB_AVAILABLE_MACRO_IN_0_7 BIRB_UNAVAILABLE_MACRO(0, 7) +#define BIRB_AVAILABLE_STATIC_INLINE_IN_0_7 BIRB_UNAVAILABLE_STATIC_INLINE(0, 7) +#define BIRB_AVAILABLE_TYPE_IN_0_7 BIRB_UNAVAILABLE_TYPE(0, 7) +#else +#define BIRB_AVAILABLE_IN_0_7 _BIRB_EXTERN +#define BIRB_AVAILABLE_ENUMERATOR_IN_0_7 +#define BIRB_AVAILABLE_MACRO_IN_0_7 +#define BIRB_AVAILABLE_STATIC_INLINE_IN_0_7 +#define BIRB_AVAILABLE_TYPE_IN_0_7 +#endif + G_BEGIN_DECLS /** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/birb-0.6.1/birb/meson.build new/birb-0.7.1/birb/meson.build --- old/birb-0.6.1/birb/meson.build 2025-12-30 00:40:06.000000000 +0100 +++ new/birb-0.7.1/birb/meson.build 2026-03-13 21:47:39.000000000 +0100 @@ -12,6 +12,7 @@ 'birbresponsestream.c', 'birbstr.c', 'birbstringobject.c', + 'birbtimezone.c', 'birbversion.c', ] @@ -28,6 +29,7 @@ 'birbresponsestream.h', 'birbstr.h', 'birbstringobject.h', + 'birbtimezone.h', 'birbversion.h', ] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/birb-0.6.1/birb/tests/meson.build new/birb-0.7.1/birb/tests/meson.build --- old/birb-0.6.1/birb/tests/meson.build 2025-12-30 00:40:06.000000000 +0100 +++ new/birb-0.7.1/birb/tests/meson.build 2026-03-13 21:47:39.000000000 +0100 @@ -9,6 +9,7 @@ 'queued_output_stream', 'str', 'string_object', + 'time_zone' ] SERIAL_TESTS = [ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/birb-0.6.1/birb/tests/test_action_menu.c new/birb-0.7.1/birb/tests/test_action_menu.c --- old/birb-0.6.1/birb/tests/test_action_menu.c 2025-12-30 00:40:06.000000000 +0100 +++ new/birb-0.7.1/birb/tests/test_action_menu.c 2026-03-13 21:47:39.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023-2025 Birb Developers + * Copyright (C) Birb Developers * * Birb is the legal property of its developers, whose names are too numerous * to list here. Please refer to the AUTHORS file distributed with this source diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/birb-0.6.1/birb/tests/test_count.c new/birb-0.7.1/birb/tests/test_count.c --- old/birb-0.6.1/birb/tests/test_count.c 2025-12-30 00:40:06.000000000 +0100 +++ new/birb-0.7.1/birb/tests/test_count.c 2026-03-13 21:47:39.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023-2025 Birb Developers + * Copyright (C) Birb Developers * * Birb is the legal property of its developers, whose names are too numerous * to list here. Please refer to the AUTHORS file distributed with this source diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/birb-0.6.1/birb/tests/test_date_time.c new/birb-0.7.1/birb/tests/test_date_time.c --- old/birb-0.6.1/birb/tests/test_date_time.c 2025-12-30 00:40:06.000000000 +0100 +++ new/birb-0.7.1/birb/tests/test_date_time.c 2026-03-13 21:47:39.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023-2025 Birb Developers + * Copyright (C) Birb Developers * * Birb is the legal property of its developers, whose names are too numerous * to list here. Please refer to the AUTHORS file distributed with this source diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/birb-0.6.1/birb/tests/test_env.c new/birb-0.7.1/birb/tests/test_env.c --- old/birb-0.6.1/birb/tests/test_env.c 2025-12-30 00:40:06.000000000 +0100 +++ new/birb-0.7.1/birb/tests/test_env.c 2026-03-13 21:47:39.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023-2025 Birb Developers + * Copyright (C) Birb Developers * * Birb is the legal property of its developers, whose names are too numerous * to list here. Please refer to the AUTHORS file distributed with this source diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/birb-0.6.1/birb/tests/test_header.template new/birb-0.7.1/birb/tests/test_header.template --- old/birb-0.6.1/birb/tests/test_header.template 2025-12-30 00:40:06.000000000 +0100 +++ new/birb-0.7.1/birb/tests/test_header.template 2026-03-13 21:47:39.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023-2025 Birb Developers + * Copyright (C) Birb Developers * * Birb is the legal property of its developers, whose names are too numerous * to list here. Please refer to the AUTHORS file distributed with this source diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/birb-0.6.1/birb/tests/test_localized_string.c new/birb-0.7.1/birb/tests/test_localized_string.c --- old/birb-0.6.1/birb/tests/test_localized_string.c 2025-12-30 00:40:06.000000000 +0100 +++ new/birb-0.7.1/birb/tests/test_localized_string.c 2026-03-13 21:47:39.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023-2025 Birb Developers + * Copyright (C) Birb Developers * * Birb is the legal property of its developers, whose names are too numerous * to list here. Please refer to the AUTHORS file distributed with this source diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/birb-0.6.1/birb/tests/test_menu.c new/birb-0.7.1/birb/tests/test_menu.c --- old/birb-0.6.1/birb/tests/test_menu.c 2025-12-30 00:40:06.000000000 +0100 +++ new/birb-0.7.1/birb/tests/test_menu.c 2026-03-13 21:47:39.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023-2025 Birb Developers + * Copyright (C) Birb Developers * * Birb is the legal property of its developers, whose names are too numerous * to list here. Please refer to the AUTHORS file distributed with this source diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/birb-0.6.1/birb/tests/test_pango_formatter.c new/birb-0.7.1/birb/tests/test_pango_formatter.c --- old/birb-0.6.1/birb/tests/test_pango_formatter.c 2025-12-30 00:40:06.000000000 +0100 +++ new/birb-0.7.1/birb/tests/test_pango_formatter.c 2026-03-13 21:47:39.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023-2025 Birb Developers + * Copyright (C) Birb Developers * * Birb is the legal property of its developers, whose names are too numerous * to list here. Please refer to the AUTHORS file distributed with this source diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/birb-0.6.1/birb/tests/test_queued_output_stream.c new/birb-0.7.1/birb/tests/test_queued_output_stream.c --- old/birb-0.6.1/birb/tests/test_queued_output_stream.c 2025-12-30 00:40:06.000000000 +0100 +++ new/birb-0.7.1/birb/tests/test_queued_output_stream.c 2026-03-13 21:47:39.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023-2025 Birb Developers + * Copyright (C) Birb Developers * * Birb is the legal property of its developers, whose names are too numerous * to list here. Please refer to the AUTHORS file distributed with this source diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/birb-0.6.1/birb/tests/test_response_stream.c new/birb-0.7.1/birb/tests/test_response_stream.c --- old/birb-0.6.1/birb/tests/test_response_stream.c 2025-12-30 00:40:06.000000000 +0100 +++ new/birb-0.7.1/birb/tests/test_response_stream.c 2026-03-13 21:47:39.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023-2025 Birb Developers + * Copyright (C) Birb Developers * * Birb is the legal property of its developers, whose names are too numerous * to list here. Please refer to the AUTHORS file distributed with this source diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/birb-0.6.1/birb/tests/test_str.c new/birb-0.7.1/birb/tests/test_str.c --- old/birb-0.6.1/birb/tests/test_str.c 2025-12-30 00:40:06.000000000 +0100 +++ new/birb-0.7.1/birb/tests/test_str.c 2026-03-13 21:47:39.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023-2025 Birb Developers + * Copyright (C) Birb Developers * * Birb is the legal property of its developers, whose names are too numerous * to list here. Please refer to the AUTHORS file distributed with this source @@ -90,6 +90,24 @@ } /****************************************************************************** + * Wipe tests + *****************************************************************************/ +static void +test_birb_str_wipe_null(void) { + birb_str_wipe(NULL); +} + +static void +test_birb_str_wipe_empty(void) { + birb_str_wipe(g_strdup("")); +} + +static void +test_birb_str_wipe_normal(void) { + birb_str_wipe(g_strdup("hunter2")); +} + +/****************************************************************************** * Main *****************************************************************************/ int @@ -108,5 +126,9 @@ g_test_add_func("/birb/str/matches/unicode", test_birb_str_matches_unicode); + g_test_add_func("/birb/str/wipe/null", test_birb_str_wipe_null); + g_test_add_func("/birb/str/wipe/empty", test_birb_str_wipe_empty); + g_test_add_func("/birb/str/wipe/normal", test_birb_str_wipe_normal); + return g_test_run(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/birb-0.6.1/birb/tests/test_string_object.c new/birb-0.7.1/birb/tests/test_string_object.c --- old/birb-0.6.1/birb/tests/test_string_object.c 2025-12-30 00:40:06.000000000 +0100 +++ new/birb-0.7.1/birb/tests/test_string_object.c 2026-03-13 21:47:39.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023-2025 Birb Developers + * Copyright (C) Birb Developers * * Birb is the legal property of its developers, whose names are too numerous * to list here. Please refer to the AUTHORS file distributed with this source diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/birb-0.6.1/birb/tests/test_time_zone.c new/birb-0.7.1/birb/tests/test_time_zone.c --- old/birb-0.6.1/birb/tests/test_time_zone.c 1970-01-01 01:00:00.000000000 +0100 +++ new/birb-0.7.1/birb/tests/test_time_zone.c 2026-03-13 21:47:39.000000000 +0100 @@ -0,0 +1,198 @@ +/* + * Copyright (C) Birb Developers + * + * Birb is the legal property of its developers, whose names are too numerous + * to list here. Please refer to the AUTHORS file distributed with this source + * distribution + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by the + * Free Software Foundation; either version 2.1 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License + * for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, see <https://www.gnu.org/licenses/>. + */ + +#include <birb.h> + +/****************************************************************************** + * clear tests + *****************************************************************************/ +static void +test_birb_time_zone_clear_null(void) { + GTimeZone *tz = NULL; + + birb_time_zone_clear(NULL); + birb_time_zone_clear(&tz); + + g_assert_null(tz); +} + +static void +test_birb_time_zone_clear_nonnull(void) { + GTimeZone *tz = g_time_zone_new_utc(); + + birb_time_zone_clear(&tz); + + g_assert_null(tz); +} + +/****************************************************************************** + * compare tests + *****************************************************************************/ +static void +test_birb_time_zone_compare_null(void) { + GTimeZone *tz = g_time_zone_new_utc(); + int result; + + result = birb_time_zone_compare(tz, NULL); + g_assert_cmpint(result, ==, 1); + + result = birb_time_zone_compare(NULL, tz); + g_assert_cmpint(result, ==, -1); + + result = birb_time_zone_compare(NULL, NULL); + g_assert_cmpint(result, ==, 0); + + g_time_zone_unref(tz); +} + +static void +test_birb_time_zone_compare_nonnull(void) { + GTimeZone *cet = g_time_zone_new_identifier("+01:00"); + GTimeZone *utc1 = g_time_zone_new_identifier("00:00"); + GTimeZone *utc2 = g_time_zone_new_utc(); + int result; + + result = birb_time_zone_compare(utc1, cet); + g_assert_cmpint(result, ==, -1); + + result = birb_time_zone_compare(cet, utc1); + g_assert_cmpint(result, ==, 1); + + result = birb_time_zone_compare(utc1, utc2); + g_assert_cmpint(result, ==, 0); + + g_time_zone_unref(utc1); + g_time_zone_unref(utc2); + g_time_zone_unref(cet); +} + +/****************************************************************************** + * equal tests + *****************************************************************************/ +static void +test_birb_time_zone_equal_null(void) { + GTimeZone *tz = g_time_zone_new_utc(); + + g_assert_false(birb_time_zone_equal(tz, NULL)); + g_assert_false(birb_time_zone_equal(NULL, tz)); + g_assert_true(birb_time_zone_equal(NULL, NULL)); + + g_time_zone_unref(tz); +} + +static void +test_birb_time_zone_equal_nonnull(void) { + GTimeZone *utc1 = g_time_zone_new_utc(); + GTimeZone *utc2 = g_time_zone_new_utc(); + GTimeZone *cet = g_time_zone_new_identifier("+01:00"); + + g_assert_true(birb_time_zone_equal(utc1, utc2)); + g_assert_false(birb_time_zone_equal(utc1, cet)); + + g_time_zone_unref(utc1); + g_time_zone_unref(utc2); + g_time_zone_unref(cet); +} + +/****************************************************************************** + * set tests + *****************************************************************************/ +static void +test_birb_time_zone_set_null_null(void) { + GTimeZone *tz = NULL; + g_assert_false(birb_time_zone_set(&tz, NULL)); +} + +static void +test_birb_time_zone_set_null_nonnull(void) { + GTimeZone *tz = NULL; + GTimeZone *tz1 = NULL; + gboolean ret = FALSE; + + tz1 = g_time_zone_new_utc(); + ret = birb_time_zone_set(&tz, tz1); + g_assert_true(ret); + + g_assert_true(tz == tz1); + + g_clear_pointer(&tz, g_time_zone_unref); + g_clear_pointer(&tz1, g_time_zone_unref); +} + +static void +test_birb_time_zone_set_nonnull_null(void) { + GTimeZone *tz = NULL; + gboolean ret = FALSE; + + tz = g_time_zone_new_utc(); + ret = birb_time_zone_set(&tz, NULL); + g_assert_true(ret); + + g_assert_null(tz); +} + +static void +test_birb_time_zone_set_nonnull_nonnull(void) { + GTimeZone *tz = NULL; + GTimeZone *tz1 = NULL; + gboolean ret = FALSE; + + tz = g_time_zone_new_identifier("+02:00"); + tz1 = g_time_zone_new_identifier("-08:00"); + + ret = birb_time_zone_set(&tz, tz1); + g_assert_true(ret); + + g_assert_true(tz == tz1); + + g_clear_pointer(&tz, g_time_zone_unref); + g_clear_pointer(&tz1, g_time_zone_unref); +} + + +/****************************************************************************** + * Main + *****************************************************************************/ +int +main(int argc, char *argv[]) { + g_test_init(&argc, &argv, NULL); + + g_test_add_func("/time-zone/clear/null", test_birb_time_zone_clear_null); + g_test_add_func("/time-zone/clear/nonnull", test_birb_time_zone_clear_nonnull); + + g_test_add_func("/time-zone/compare/null", test_birb_time_zone_compare_null); + g_test_add_func("/time-zone/compare/nonnull", + test_birb_time_zone_compare_nonnull); + + g_test_add_func("/time-zone/equal/null", test_birb_time_zone_equal_null); + g_test_add_func("/time-zone/equal/nonnull", test_birb_time_zone_equal_nonnull); + + g_test_add_func("/time-zone/set/null-null", + test_birb_time_zone_set_null_null); + g_test_add_func("/time-zone/set/null-nonnull", + test_birb_time_zone_set_null_nonnull); + g_test_add_func("/time-zone/set/nonnull-null", + test_birb_time_zone_set_nonnull_null); + g_test_add_func("/time-zone/set/nonnull-nonnull", + test_birb_time_zone_set_nonnull_nonnull); + + return g_test_run(); +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/birb-0.6.1/meson.build new/birb-0.7.1/meson.build --- old/birb-0.6.1/meson.build 2025-12-30 00:40:06.000000000 +0100 +++ new/birb-0.7.1/meson.build 2026-03-13 21:47:39.000000000 +0100 @@ -1,7 +1,7 @@ project('birb', 'c', - version : '0.6.1', + version : '0.7.1', meson_version : '>=1.1.0', - default_options : ['c_std=c17', 'warning_level=2'], + default_options : ['c_std=c17', 'warning_level=3'], license: 'LGPL-2.1-or-later', license_files: ['LICENSE']) @@ -34,6 +34,17 @@ version_config.set('BIRB_VERSION', meson.project_version()) ############################################################################### +# Compiler flags +############################################################################### +compiler = meson.get_compiler('c') + +if compiler.get_id() == 'gcc' + if compiler.has_argument('-Wno-pedantic') + add_project_arguments('-Wno-pedantic', language : 'c') + endif +endif + +############################################################################### # Documentation ############################################################################### if get_option('doc') and not get_option('introspection')
