Skip to content
Browse files

add install reason as %w

also, declare another global 'local' so we know when we're only parsing
locally or not.
  • Loading branch information...
1 parent 4b61b31 commit d35f8eb3d74f54f9ae146d6d17c2097705540ddf @falconindy committed
Showing with 10 additions and 2 deletions.
  1. +3 −1 README.pod
  2. +7 −1 expac.c
View
4 README.pod
@@ -95,7 +95,7 @@ The format argument allows the following interpreted sequences:
%f filename (only with -S)
- %i has install scriptlet
+ %i has install scriptlet (only with -Q)
%k download size
@@ -115,6 +115,8 @@ The format argument allows the following interpreted sequences:
%v version
+ %w install reason
+
%% literal %
Standard backslash escape sequences are supported. See printf(1).
View
8 expac.c
@@ -34,13 +34,14 @@
#include <stdlib.h>
#include <string.h>
-#define FORMAT_TOKENS "BCDEFGLNOPRSabdfiklmnprsuv%"
+#define FORMAT_TOKENS "BCDEFGLNOPRSabdfiklmnprsuvw%"
#define ESCAPE_TOKENS "\"\\abefnrtv"
alpm_list_t *dblist = NULL, *targets = NULL;
pmdb_t *db_local;
bool verbose = false;
bool search = false;
+bool local = false;
const char *format = NULL;
const char *timefmt = NULL;
const char *listdelim = NULL;
@@ -197,6 +198,7 @@ static int parse_options(int argc, char *argv[]) {
return(1);
}
dblist = alpm_list_add(dblist, db_local);
+ local = true;
break;
case 'd':
delim = optarg;
@@ -373,6 +375,9 @@ static int print_pkg(pmpkg_t *pkg, const char *format) {
case 'r': /* repo */
out += printf("%s", alpm_db_get_name(alpm_pkg_get_db(pkg)));
break;
+ case 'w': /* install reason */
+ out += printf("%s", alpm_pkg_get_reason(pkg) ? "dependency" : "explicit");
+ break;
/* times */
case 'b': /* build date */
@@ -529,6 +534,7 @@ int main(int argc, char *argv[]) {
/* ensure sane defaults */
if (!dblist) {
+ local = true;
dblist = alpm_list_add(dblist, db_local);
}
delim = delim ? delim : "\n";

0 comments on commit d35f8eb

Please sign in to comment.
Something went wrong with that request. Please try again.