LCOV - code coverage report
Current view: top level - libpkg - pkg_attributes.c (source / functions) Hit Total Coverage
Test: rapport Lines: 47 64 73.4 %
Date: 2021-12-10 16:22:55 Functions: 8 10 80.0 %
Branches: 8 20 40.0 %

           Branch data     Line data    Source code
       1                 :            : /*-
       2                 :            :  * Copyright (c) 2011-2013 Baptiste Daroussin <bapt@FreeBSD.org>
       3                 :            :  * Copyright (c) 2011-2012 Julien Laffaye <jlaffaye@FreeBSD.org>
       4                 :            :  * Copyright (c) 2013 Matthew Seaman <matthew@FreeBSD.org>
       5                 :            :  * All rights reserved.
       6                 :            :  * 
       7                 :            :  * Redistribution and use in source and binary forms, with or without
       8                 :            :  * modification, are permitted provided that the following conditions
       9                 :            :  * are met:
      10                 :            :  * 1. Redistributions of source code must retain the above copyright
      11                 :            :  *    notice, this list of conditions and the following disclaimer
      12                 :            :  *    in this position and unchanged.
      13                 :            :  * 2. Redistributions in binary form must reproduce the above copyright
      14                 :            :  *    notice, this list of conditions and the following disclaimer in the
      15                 :            :  *    documentation and/or other materials provided with the distribution.
      16                 :            :  * 
      17                 :            :  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
      18                 :            :  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
      19                 :            :  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
      20                 :            :  * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
      21                 :            :  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
      22                 :            :  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
      23                 :            :  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
      24                 :            :  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
      25                 :            :  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
      26                 :            :  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
      27                 :            :  */
      28                 :            : 
      29                 :            : #include <assert.h>
      30                 :            : 
      31                 :            : #include "pkg.h"
      32                 :            : #include "private/event.h"
      33                 :            : #include "private/pkg.h"
      34                 :            : 
      35                 :            : /*
      36                 :            :  * Dep
      37                 :            :  */
      38                 :            : void
      39                 :       1631 : pkg_dep_free(struct pkg_dep *d)
      40                 :            : {
      41         [ -  + ]:       1631 :         if (d == NULL)
      42                 :          0 :                 return;
      43                 :            : 
      44                 :       1631 :         free(d->origin);
      45                 :       1631 :         free(d->name);
      46                 :       1631 :         free(d->version);
      47                 :       1631 :         free(d->uid);
      48                 :       1631 :         free(d);
      49                 :       1631 : }
      50                 :            : 
      51                 :            : const char *
      52                 :         65 : pkg_dep_get(struct pkg_dep const * const d, const pkg_dep_attr attr)
      53                 :            : {
      54         [ +  - ]:         65 :         assert(d != NULL);
      55                 :            : 
      56   [ -  +  -  - ]:         65 :         switch (attr) {
      57                 :            :         case PKG_DEP_NAME:
      58                 :         65 :                 return (d->name);
      59                 :            :                 break;
      60                 :            :         case PKG_DEP_ORIGIN:
      61                 :          0 :                 return (d->origin);
      62                 :            :                 break;
      63                 :            :         case PKG_DEP_VERSION:
      64                 :          0 :                 return (d->version);
      65                 :            :                 break;
      66                 :            :         default:
      67                 :          0 :                 return (NULL);
      68                 :            :                 break;
      69                 :            :         }
      70                 :         65 : }
      71                 :            : 
      72                 :            : bool
      73                 :          0 : pkg_dep_is_locked(struct pkg_dep const * const d)
      74                 :            : {
      75         [ #  # ]:          0 :         assert(d != NULL);
      76                 :            : 
      77                 :          0 :         return d->locked;
      78                 :            : }
      79                 :            : 
      80                 :            : /*
      81                 :            :  * File
      82                 :            :  */
      83                 :            : void
      84                 :       3135 : pkg_file_free(struct pkg_file *file)
      85                 :            : {
      86                 :            : 
      87                 :       3135 :         free(file->sum);
      88                 :       3135 :         free(file);
      89                 :       3135 : }
      90                 :            : 
      91                 :            : /*
      92                 :            :  * Script
      93                 :            :  */
      94                 :            : 
      95                 :            : const char *
      96                 :      41391 : pkg_script_get(struct pkg const * const p, pkg_script i)
      97                 :            : {
      98         [ +  + ]:      41391 :         if (p->scripts[i] == NULL)
      99                 :      40053 :                 return (NULL);
     100                 :            : 
     101                 :       1338 :         fflush(p->scripts[i]->fp);
     102                 :       1338 :         return (p->scripts[i]->buf);
     103                 :      41391 : }
     104                 :            : 
     105                 :            : /*
     106                 :            :  * Option
     107                 :            :  */
     108                 :            : void
     109                 :        808 : pkg_option_free(struct pkg_option *option)
     110                 :            : {
     111         [ -  + ]:        808 :         if (option == NULL)
     112                 :          0 :                 return;
     113                 :            : 
     114                 :        808 :         free(option->key);
     115                 :        808 :         free(option->value);
     116                 :        808 :         free(option->default_value);
     117                 :        808 :         free(option->description);
     118                 :        808 :         free(option);
     119                 :        808 : }
     120                 :            : 
     121                 :            : /*
     122                 :            :  * Conflicts
     123                 :            :  */
     124                 :            : void
     125                 :          0 : pkg_conflict_free(struct pkg_conflict *c)
     126                 :            : {
     127         [ #  # ]:          0 :         if (c == NULL)
     128                 :          0 :                 return;
     129                 :            : 
     130                 :          0 :         free(c->uid);
     131                 :          0 :         free(c->digest);
     132                 :          0 :         free(c);
     133                 :          0 : }
     134                 :            : 
     135                 :            : /*
     136                 :            :  * Config files
     137                 :            :  */
     138                 :            : void
     139                 :        185 : pkg_config_file_free(struct pkg_config_file *c)
     140                 :            : {
     141         [ -  + ]:        185 :         if (c == NULL)
     142                 :          0 :                 return;
     143                 :            : 
     144                 :        185 :         free(c->content);
     145                 :        185 :         free(c);
     146                 :        185 : }
     147                 :            : 
     148                 :            : 
     149                 :            : /*
     150                 :            :  * kv
     151                 :            :  */
     152                 :            : 
     153                 :            : struct pkg_kv *
     154                 :       5225 : pkg_kv_new(const char *key, const char *val)
     155                 :            : {
     156                 :            :         struct pkg_kv *c;
     157                 :            : 
     158                 :       5225 :         c = xcalloc(1, sizeof(struct pkg_kv));
     159                 :       5225 :         c->key = xstrdup(key);
     160                 :       5225 :         c->value = xstrdup(val);
     161                 :            : 
     162                 :       5225 :         return (c);
     163                 :            : }
     164                 :            : 
     165                 :            : void
     166                 :       4691 : pkg_kv_free(struct pkg_kv *c)
     167                 :            : {
     168         [ -  + ]:       4691 :         if (c == NULL)
     169                 :          0 :                 return;
     170                 :            : 
     171                 :       4691 :         free(c->key);
     172                 :       4691 :         free(c->value);
     173                 :       4691 :         free(c);
     174                 :       4691 : }

Generated by: LCOV version 1.15