diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2009-01-09 11:02:16 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2009-01-09 11:02:16 +0000 |
commit | 1f21521684af9ac7f829c9ab06c0ef77fe68d2c2 (patch) | |
tree | 3cae0eeaa3870a6e3e17d468863b1ad43a948d34 /src/info.c | |
parent | 3867b4c71fafe4b9eb685f8aebfcd5fd57135b9e (diff) | |
download | apk-tools-1f21521684af9ac7f829c9ab06c0ef77fe68d2c2.tar.gz apk-tools-1f21521684af9ac7f829c9ab06c0ef77fe68d2c2.tar.bz2 apk-tools-1f21521684af9ac7f829c9ab06c0ef77fe68d2c2.tar.xz apk-tools-1f21521684af9ac7f829c9ab06c0ef77fe68d2c2.zip |
info: new applet
so far it only lists installed packages
Diffstat (limited to 'src/info.c')
-rw-r--r-- | src/info.c | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/info.c b/src/info.c new file mode 100644 index 0000000..780850d --- /dev/null +++ b/src/info.c @@ -0,0 +1,43 @@ +/* info.c - Alpine Package Keeper (APK) + * + * Copyright (C) 2005-2009 Natanael Copa <n@tanael.org> + * Copyright (C) 2009 Timo Teräs <timo.teras@iki.fi> + * All rights reserved. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 as published + * by the Free Software Foundation. See http://www.gnu.org/ for details. + */ + +#include <stdio.h> +#include "apk_defines.h" +#include "apk_applet.h" +#include "apk_database.h" + +static int info_main(int argc, char **argv) +{ + struct apk_database db; + struct apk_package *pkg; + + if (apk_db_open(&db, apk_root) < 0) + return -1; + + list_for_each_entry(pkg, &db.installed.packages, installed_pkgs_list) { + printf("%s", pkg->name->name); + if (!apk_quiet) + printf(" %s", pkg->version); + printf("\n"); + } + + apk_db_close(&db); + return 0; +} + +static struct apk_applet apk_info = { + .name = "info", + .usage = "", + .main = info_main, +}; + +APK_DEFINE_APPLET(apk_info); + |