poldek: poldek/cli/search.c - allow to search changelogs
megabajt
megabajt at pld-linux.org
Sun Aug 17 17:53:45 CEST 2008
Author: megabajt Date: Sun Aug 17 15:53:45 2008 GMT
Module: poldek Tag: HEAD
---- Log message:
- allow to search changelogs
---- Files affected:
poldek/poldek/cli:
search.c (1.23 -> 1.24)
---- Diffs:
================================================================
Index: poldek/poldek/cli/search.c
diff -u poldek/poldek/cli/search.c:1.23 poldek/poldek/cli/search.c:1.24
--- poldek/poldek/cli/search.c:1.23 Sat Feb 2 22:16:37 2008
+++ poldek/poldek/cli/search.c Sun Aug 17 17:53:40 2008
@@ -69,25 +69,27 @@
static error_t parse_opt(int key, char *arg, struct argp_state *state);
static int search(struct cmdctx *cmdctx);
-#define OPT_PATTERN_PCRE (1 << 10)
+#define OPT_PATTERN_PCRE (1 << 10)
-#define OPT_SEARCH_CAP (1 << 0)
-#define OPT_SEARCH_REQ (1 << 1)
-#define OPT_SEARCH_CNFL (1 << 2)
-#define OPT_SEARCH_OBSL (1 << 3)
-#define OPT_SEARCH_SUMM (1 << 4)
-#define OPT_SEARCH_DESC (1 << 5)
-#define OPT_SEARCH_FL (1 << 6)
-#define OPT_SEARCH_GROUP (1 << 7)
+#define OPT_SEARCH_CAP (1 << 0)
+#define OPT_SEARCH_REQ (1 << 1)
+#define OPT_SEARCH_CNFL (1 << 2)
+#define OPT_SEARCH_OBSL (1 << 3)
+#define OPT_SEARCH_SUMM (1 << 4)
+#define OPT_SEARCH_DESC (1 << 5)
+#define OPT_SEARCH_FL (1 << 6)
+#define OPT_SEARCH_GROUP (1 << 7)
+#define OPT_SEARCH_CHANGELOG (1 << 8)
#define OPT_SEARCH_ALL (OPT_SEARCH_CAP | OPT_SEARCH_REQ | OPT_SEARCH_CNFL | \
OPT_SEARCH_OBSL | OPT_SEARCH_SUMM | OPT_SEARCH_DESC | \
- OPT_SEARCH_FL | OPT_SEARCH_GROUP)
+ OPT_SEARCH_FL | OPT_SEARCH_GROUP | OPT_SEARCH_CHANGELOG)
#define OPT_SEARCH_DEFAULT (OPT_SEARCH_CAP | OPT_SEARCH_SUMM | OPT_SEARCH_DESC)
/* options which requires packages.dir processing */
-#define OPT_SEARCH_HDD (OPT_SEARCH_SUMM | OPT_SEARCH_DESC | OPT_SEARCH_FL)
+#define OPT_SEARCH_HDD (OPT_SEARCH_SUMM | OPT_SEARCH_DESC | OPT_SEARCH_FL | \
+ OPT_SEARCH_CHANGELOG)
#define OPT_NO_SEARCHSW OPT_PATTERN_PCRE
@@ -102,6 +104,7 @@
{ "group", 'g', 0, 0, N_("Search groups"), 1 },
{ "files", 'f', 0, 0, N_("Search file list"), 1},
{ NULL, 'l', 0, OPTION_ALIAS, 0, 1},
+ { "changelog", 'L', 0, 0, N_("Search changelogs"), 1},
{ "all", 'a', 0, 0,
N_("Search all described fields, the defaults are: -sd"), 1
},
@@ -248,6 +251,10 @@
case 'd':
cmdctx->_flags |= OPT_SEARCH_DESC;
break;
+
+ case 'L':
+ cmdctx->_flags |= OPT_SEARCH_CHANGELOG;
+ break;
case OPT_PATTERN_PCRE:
cmdctx->_flags |= OPT_PATTERN_PCRE;
@@ -507,7 +514,7 @@
if ((match = search_pkg_files(pkg, pt)))
goto l_end;
- if (flags & (OPT_SEARCH_SUMM | OPT_SEARCH_DESC)) {
+ if (flags & (OPT_SEARCH_SUMM | OPT_SEARCH_DESC | OPT_SEARCH_CHANGELOG)) {
struct pkguinf *pkgu;
const char *s;
@@ -531,6 +538,12 @@
if (s)
match = pattern_match(pt, s, strlen(s));
}
+
+ if (!match && ((flags & OPT_SEARCH_CHANGELOG))) {
+ s = pkguinf_get(pkgu, PKGUINF_CHANGELOG);
+ if (s)
+ match = pattern_match(pt, s, strlen(s));
+ }
pkguinf_free(pkgu);
}
================================================================
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/poldek/poldek/cli/search.c?r1=1.23&r2=1.24&f=u
More information about the pld-cvs-commit
mailing list