mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-08-25 07:50:15 +03:00
- only wrap package descriptions when outputting to a tty, simplifies parsing descriptions with external utils - introduce -i (--nocase) flag which makes all matching operations case insensitive - introduce "find" command which searches package names and descriptions (e.g. opkg -i find "*autoconfig*") git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34202 3c298f89-4303-0410-b956-a3cf2f4a3e73
32 lines
896 B
Diff
32 lines
896 B
Diff
--- a/libopkg/pkg_parse.c
|
|
+++ b/libopkg/pkg_parse.c
|
|
@@ -20,6 +20,7 @@
|
|
|
|
#include <stdio.h>
|
|
#include <ctype.h>
|
|
+#include <unistd.h>
|
|
|
|
#include "pkg.h"
|
|
#include "opkg_utils.h"
|
|
@@ -239,10 +240,16 @@ pkg_parse_line(void *ptr, const char *li
|
|
|
|
case ' ':
|
|
if ((mask & PFM_DESCRIPTION) && reading_description) {
|
|
- pkg->description = xrealloc(pkg->description,
|
|
- strlen(pkg->description)
|
|
- + 1 + strlen(line) + 1);
|
|
- strcat(pkg->description, "\n");
|
|
+ if (isatty(1)) {
|
|
+ pkg->description = xrealloc(pkg->description,
|
|
+ strlen(pkg->description)
|
|
+ + 1 + strlen(line) + 1);
|
|
+ strcat(pkg->description, "\n");
|
|
+ } else {
|
|
+ pkg->description = xrealloc(pkg->description,
|
|
+ strlen(pkg->description)
|
|
+ + 1 + strlen(line));
|
|
+ }
|
|
strcat(pkg->description, (line));
|
|
goto dont_reset_flags;
|
|
} else if ((mask & PFM_CONFFILES) && reading_conffiles) {
|