LCOV - code coverage report
Current view: top level - src/esys/repo/libgit2 - guardrelease_libgit2.cpp (source / functions) Hit Total Coverage
Test: esysrepo_coverage.info Lines: 47 48 97.9 %
Date: 2026-08-01 10:43:40 Functions: 16 16 100.0 %

          Line data    Source code
       1             : /*!
       2             :  * \file esys/repo/libgit2/guardrelease_libgit2.cpp
       3             :  * \brief
       4             :  *
       5             :  * \cond
       6             :  * __legal_b__
       7             :  *
       8             :  * Copyright (c) 2020-2023 Michel Gillet
       9             :  * Distributed under the MIT License.
      10             :  * (See accompanying file LICENSE.txt or
      11             :  * copy at https://opensource.org/licenses/MIT)
      12             :  *
      13             :  * __legal_e__
      14             :  * \endcond
      15             :  *
      16             :  */
      17             : 
      18             : #include "esys/repo/esysrepo_prec.h"
      19             : #include "esys/repo/libgit2/guardrelease.h"
      20             : 
      21             : namespace esys::repo::libgit2
      22             : {
      23             : 
      24             : template<>
      25         149 : ESYSREPO_API void guard_release<git_remote>(git_remote *remote)
      26             : {
      27         149 :     if (remote == nullptr) return;
      28         149 :     git_remote_free(remote);
      29             : }
      30             : 
      31             : template<>
      32         163 : ESYSREPO_API void guard_release<git_branch_iterator>(git_branch_iterator *branch_iterator)
      33             : {
      34         163 :     if (branch_iterator == nullptr) return;
      35         163 :     git_branch_iterator_free(branch_iterator);
      36             : }
      37             : 
      38             : template<>
      39         711 : ESYSREPO_API void guard_release<git_reference>(git_reference *reference)
      40             : {
      41         711 :     if (reference == nullptr) return;
      42         463 :     git_reference_free(reference);
      43             : }
      44             : 
      45             : template<>
      46         268 : ESYSREPO_API void guard_release<git_object>(git_object *object)
      47             : {
      48         268 :     if (object == nullptr) return;
      49          27 :     git_object_free(object);
      50             : }
      51             : 
      52             : template<>
      53         203 : ESYSREPO_API void guard_release<git_credential>(git_credential *credential)
      54             : {
      55         203 :     if (credential == nullptr) return;
      56           0 :     git_credential_free(credential);
      57             : }
      58             : 
      59             : template<>
      60         140 : ESYSREPO_API void guard_release<git_commit>(git_commit *commit)
      61             : {
      62         140 :     if (commit == nullptr) return;
      63         128 :     git_commit_free(commit);
      64             : }
      65             : 
      66             : template<>
      67          61 : ESYSREPO_API void guard_release<git_status_list>(git_status_list *status_list)
      68             : {
      69          61 :     if (status_list == nullptr) return;
      70          61 :     git_status_list_free(status_list);
      71             : }
      72             : 
      73             : template<>
      74         122 : ESYSREPO_API void guard_release<git_annotated_commit>(git_annotated_commit *annotated_commit)
      75             : {
      76         122 :     if (annotated_commit == nullptr) return;
      77         115 :     git_annotated_commit_free(annotated_commit);
      78             : }
      79             : 
      80             : template<>
      81           2 : ESYSREPO_API void guard_release<git_revwalk>(git_revwalk *walker)
      82             : {
      83           2 :     if (walker == nullptr) return;
      84           2 :     git_revwalk_free(walker);
      85             : }
      86             : 
      87             : template<>
      88           8 : ESYSREPO_API void guard_release<git_tree>(git_tree *tree)
      89             : {
      90           8 :     if (tree == nullptr) return;
      91             : 
      92           7 :     git_tree_free(tree);
      93             : }
      94             : 
      95             : template<>
      96           4 : ESYSREPO_API void guard_release<git_diff>(git_diff *diff)
      97             : {
      98           4 :     if (diff == nullptr) return;
      99             : 
     100           4 :     git_diff_free(diff);
     101             : }
     102             : 
     103             : template<>
     104           4 : ESYSREPO_API void guard_release<git_diff_stats>(git_diff_stats *diff_stats)
     105             : {
     106           4 :     if (diff_stats == nullptr) return;
     107             : 
     108           4 :     git_diff_stats_free(diff_stats);
     109             : }
     110             : 
     111             : template<>
     112           5 : ESYSREPO_API void guard_release<git_note>(git_note *note)
     113             : {
     114           5 :     if (note == nullptr) return;
     115             : 
     116           5 :     git_note_free(note);
     117             : }
     118             : 
     119             : template<>
     120           7 : ESYSREPO_API void guard_release<git_note_iterator>(git_note_iterator *it)
     121             : {
     122           7 :     if (it == nullptr) return;
     123             : 
     124           6 :     git_note_iterator_free(it);
     125             : }
     126             : 
     127             : template<>
     128           2 : ESYSREPO_API void guard_release<git_refspec>(git_refspec *ref_spec)
     129             : {
     130           2 :     if (ref_spec == nullptr) return;
     131             : 
     132           2 :     git_refspec_free(ref_spec);
     133             : }
     134             : 
     135             : template<>
     136          12 : ESYSREPO_API void guard_release<git_signature>(git_signature *signature)
     137             : {
     138          12 :     if (signature == nullptr) return;
     139             : 
     140          12 :     git_signature_free(signature);
     141             : }
     142             : 
     143             : } // namespace esys::repo::libgit2

Generated by: LCOV version 1.14