LCOV - code coverage report
Current view: top level - glib/glib - glib-autocleanups.h (source / functions) Hit Total Coverage
Test: unnamed Lines: 65 65 100.0 %
Date: 2024-04-23 05:16:05 Functions: 112 112 100.0 %
Branches: 54 104 51.9 %

           Branch data     Line data    Source code
       1                 :            : /*
       2                 :            :  * Copyright © 2015 Canonical Limited
       3                 :            :  *
       4                 :            :  * SPDX-License-Identifier: LGPL-2.1-or-later
       5                 :            :  *
       6                 :            :  * This library is free software; you can redistribute it and/or
       7                 :            :  * modify it under the terms of the GNU Lesser General Public
       8                 :            :  * License as published by the Free Software Foundation; either
       9                 :            :  * version 2.1 of the License, or (at your option) any later version.
      10                 :            :  *
      11                 :            :  * This library is distributed in the hope that it will be useful,
      12                 :            :  * but WITHOUT ANY WARRANTY; without even the implied warranty of
      13                 :            :  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      14                 :            :  * Lesser General Public License for more details.
      15                 :            :  *
      16                 :            :  * You should have received a copy of the GNU Lesser General Public
      17                 :            :  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
      18                 :            :  *
      19                 :            :  * Author: Ryan Lortie <desrt@desrt.ca>
      20                 :            :  */
      21                 :            : 
      22                 :            : #if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION)
      23                 :            : #error "Only <glib.h> can be included directly."
      24                 :            : #endif
      25                 :            : 
      26                 :            : #ifndef __GI_SCANNER__
      27                 :            : 
      28                 :            : static inline void
      29                 :         10 : g_autoptr_cleanup_generic_gfree (void *p)
      30                 :            : {
      31                 :         10 :   void **pp = (void**)p;
      32                 :         10 :   g_free (*pp);
      33                 :         10 : }
      34                 :            : 
      35                 :            : static inline void
      36                 :          1 : g_autoptr_cleanup_gstring_free (GString *string)
      37                 :            : {
      38         [ +  - ]:          1 :   if (string)
      39                 :          1 :     g_string_free (string, TRUE);
      40                 :          1 : }
      41                 :            : 
      42                 :            : /* Ignore deprecations in case we refer to a type which was added in a more
      43                 :            :  * recent GLib version than the user’s #GLIB_VERSION_MAX_ALLOWED definition. */
      44                 :            : G_GNUC_BEGIN_IGNORE_DEPRECATIONS
      45                 :            : 
      46                 :            : /* If adding a cleanup here, please also add a test case to
      47                 :            :  * glib/tests/autoptr.c
      48                 :            :  */
      49         [ +  - ]:          2 : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GAsyncQueue, g_async_queue_unref)
      50         [ +  - ]:          2 : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GBookmarkFile, g_bookmark_file_free)
      51         [ +  - ]:          5 : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GBytes, g_bytes_unref)
      52         [ +  - ]:          2 : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GChecksum, g_checksum_free)
      53         [ +  - ]:          2 : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GDateTime, g_date_time_unref)
      54         [ +  - ]:          2 : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GDate, g_date_free)
      55         [ +  - ]:          2 : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GDir, g_dir_close)
      56         [ +  - ]:          2 : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GError, g_error_free)
      57         [ +  - ]:          2 : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GHashTable, g_hash_table_unref)
      58         [ +  - ]:          2 : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GHmac, g_hmac_unref)
      59         [ +  - ]:          2 : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GIOChannel, g_io_channel_unref)
      60         [ +  - ]:          2 : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GKeyFile, g_key_file_unref)
      61         [ +  + ]:          4 : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GList, g_list_free)
      62         [ +  - ]:          2 : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GArray, g_array_unref)
      63         [ +  - ]:          2 : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GPtrArray, g_ptr_array_unref)
      64         [ +  - ]:          2 : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GByteArray, g_byte_array_unref)
      65         [ +  - ]:          2 : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GMainContext, g_main_context_unref)
      66         [ +  - ]:          2 : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GMainContextPusher, g_main_context_pusher_free)
      67         [ +  - ]:          2 : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GMainLoop, g_main_loop_unref)
      68         [ +  - ]:          2 : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GSource, g_source_unref)
      69         [ +  - ]:          2 : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GMappedFile, g_mapped_file_unref)
      70         [ +  - ]:          2 : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GMarkupParseContext, g_markup_parse_context_unref)
      71         [ +  - ]:          2 : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GNode, g_node_destroy)
      72         [ +  - ]:          2 : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GOptionContext, g_option_context_free)
      73         [ +  - ]:          2 : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GOptionGroup, g_option_group_unref)
      74         [ +  - ]:          2 : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GPatternSpec, g_pattern_spec_free)
      75         [ +  - ]:          2 : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GQueue, g_queue_free)
      76                 :          1 : G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC(GQueue, g_queue_clear)
      77         [ +  - ]:          2 : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GRand, g_rand_free)
      78         [ +  - ]:          4 : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GRegex, g_regex_unref)
      79         [ +  - ]:          2 : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GMatchInfo, g_match_info_unref)
      80         [ +  - ]:          2 : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GScanner, g_scanner_destroy)
      81         [ +  - ]:          2 : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GSequence, g_sequence_free)
      82         [ +  + ]:          4 : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GSList, g_slist_free)
      83         [ +  - ]:          2 : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GString, g_autoptr_cleanup_gstring_free)
      84         [ +  - ]:          2 : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GStringChunk, g_string_chunk_free)
      85                 :            : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GStrvBuilder, g_strv_builder_unref)
      86         [ +  - ]:          2 : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GThread, g_thread_unref)
      87                 :          1 : G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC(GMutex, g_mutex_clear)
      88         [ +  - ]:          6 : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GMutexLocker, g_mutex_locker_free)
      89         [ +  - ]:          6 : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GRecMutexLocker, g_rec_mutex_locker_free)
      90         [ +  - ]:          4 : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GRWLockWriterLocker, g_rw_lock_writer_locker_free)
      91         [ +  - ]:          4 : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GRWLockReaderLocker, g_rw_lock_reader_locker_free)
      92                 :          1 : G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC(GCond, g_cond_clear)
      93         [ +  - ]:          2 : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GTimer, g_timer_destroy)
      94         [ +  - ]:          2 : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GTimeZone, g_time_zone_unref)
      95         [ +  - ]:          2 : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GTree, g_tree_unref)
      96         [ +  - ]:          6 : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GVariant, g_variant_unref)
      97         [ +  - ]:          2 : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GVariantBuilder, g_variant_builder_unref)
      98                 :          1 : G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC(GVariantBuilder, g_variant_builder_clear)
      99         [ +  - ]:          2 : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GVariantIter, g_variant_iter_free)
     100         [ +  - ]:          2 : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GVariantDict, g_variant_dict_unref)
     101                 :          1 : G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC(GVariantDict, g_variant_dict_clear)
     102         [ +  - ]:          2 : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GVariantType, g_variant_type_free)
     103         [ +  - ]:          1 : G_DEFINE_AUTO_CLEANUP_FREE_FUNC(GStrv, g_strfreev, NULL)
     104         [ +  - ]:          2 : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GRefString, g_ref_string_release)
     105                 :            : G_DEFINE_AUTOPTR_CLEANUP_FUNC(GUri, g_uri_unref)
     106         [ +  - ]:          2 : G_DEFINE_AUTOPTR_CLEANUP_FUNC (GPathBuf, g_path_buf_free)
     107                 :          1 : G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC (GPathBuf, g_path_buf_clear)
     108                 :            : 
     109                 :            : G_GNUC_END_IGNORE_DEPRECATIONS
     110                 :            : 
     111                 :            : #endif /* __GI_SCANNER__ */

Generated by: LCOV version 1.14