libopkg: fix pkg_set_ptr() to properly set NULL pointers
[oweals/opkg-lede.git] / libopkg / pkg_src.c
1 /* pkg_src.c - the opkg package management system
2
3    Carl D. Worth
4
5    Copyright (C) 2001 University of Southern California
6
7    This program is free software; you can redistribute it and/or
8    modify it under the terms of the GNU General Public License as
9    published by the Free Software Foundation; either version 2, or (at
10    your option) any later version.
11
12    This program is distributed in the hope that it will be useful, but
13    WITHOUT ANY WARRANTY; without even the implied warranty of
14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15    General Public License for more details.
16 */
17
18 #include "pkg_src.h"
19 #include "libbb/libbb.h"
20
21 int pkg_src_init(pkg_src_t * src, const char *name, const char *base_url,
22                  const char *extra_data, int gzip)
23 {
24         src->gzip = gzip;
25         src->name = xstrdup(name);
26         src->value = xstrdup(base_url);
27         if (extra_data)
28                 src->extra_data = xstrdup(extra_data);
29         else
30                 src->extra_data = NULL;
31         return 0;
32 }
33
34 void pkg_src_deinit(pkg_src_t * src)
35 {
36         free(src->name);
37         free(src->value);
38         if (src->extra_data)
39                 free(src->extra_data);
40 }