From aa99ddf7892f53a3fb9e9c2bdb34033881ca5b64 Mon Sep 17 00:00:00 2001 From: Ariadne Conill Date: Thu, 11 Aug 2022 15:52:33 +0000 Subject: [PATCH] pkg: add Copyright and Maintainer fields These are helpful pieces of information for BOM documents generated by pkgconf. --- libpkgconf/libpkgconf.h | 2 ++ libpkgconf/pkg.c | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/libpkgconf/libpkgconf.h b/libpkgconf/libpkgconf.h index e4753c3..a9e7d96 100644 --- a/libpkgconf/libpkgconf.h +++ b/libpkgconf/libpkgconf.h @@ -137,6 +137,8 @@ struct pkgconf_pkg_ { char *url; char *pc_filedir; char *license; + char *maintainer; + char *copyright; pkgconf_list_t libs; pkgconf_list_t libs_private; diff --git a/libpkgconf/pkg.c b/libpkgconf/pkg.c index edad959..85c3888 100644 --- a/libpkgconf/pkg.c +++ b/libpkgconf/pkg.c @@ -170,10 +170,12 @@ static const pkgconf_pkg_parser_keyword_pair_t pkgconf_pkg_parser_keyword_funcs[ {"CFLAGS", pkgconf_pkg_parser_fragment_func, offsetof(pkgconf_pkg_t, cflags)}, {"CFLAGS.private", pkgconf_pkg_parser_fragment_func, offsetof(pkgconf_pkg_t, cflags_private)}, {"Conflicts", pkgconf_pkg_parser_dependency_func, offsetof(pkgconf_pkg_t, conflicts)}, + {"Copyright", pkgconf_pkg_parser_tuple_func, offsetof(pkgconf_pkg_t, copyright)}, {"Description", pkgconf_pkg_parser_tuple_func, offsetof(pkgconf_pkg_t, description)}, {"LIBS", pkgconf_pkg_parser_fragment_func, offsetof(pkgconf_pkg_t, libs)}, {"LIBS.private", pkgconf_pkg_parser_fragment_func, offsetof(pkgconf_pkg_t, libs_private)}, {"License", pkgconf_pkg_parser_tuple_func, offsetof(pkgconf_pkg_t, license)}, + {"Maintainer", pkgconf_pkg_parser_tuple_func, offsetof(pkgconf_pkg_t, maintainer)}, {"Name", pkgconf_pkg_parser_tuple_func, offsetof(pkgconf_pkg_t, realname)}, {"Provides", pkgconf_pkg_parser_dependency_func, offsetof(pkgconf_pkg_t, provides)}, {"Requires", pkgconf_pkg_parser_dependency_func, offsetof(pkgconf_pkg_t, required)}, @@ -530,6 +532,12 @@ pkgconf_pkg_free(pkgconf_client_t *client, pkgconf_pkg_t *pkg) if (pkg->license != NULL) free(pkg->license); + if (pkg->maintainer != NULL) + free(pkg->maintainer); + + if (pkg->copyright != NULL) + free(pkg->copyright); + free(pkg); }