opkg: various additions - only wrap package descriptions when outputting to a tty...
[openwrt/staging/florian.git] / package / opkg / patches / 040-wrap-descriptions-only-on-ttys.patch
diff --git a/package/opkg/patches/040-wrap-descriptions-only-on-ttys.patch b/package/opkg/patches/040-wrap-descriptions-only-on-ttys.patch
new file mode 100644 (file)
index 0000000..9540668
--- /dev/null
@@ -0,0 +1,31 @@
+--- 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) {