summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Korsgaard <jacmet@sunsite.dk>2009-05-18 13:51:52 +0200
committerPeter Korsgaard <jacmet@sunsite.dk>2009-05-18 13:51:52 +0200
commitc219988fdf1240bed6086d72d4414cfecc7c7c25 (patch)
treeb32d3597343a4caacd8b12d7136986780d0c00fe
parent316c03ed0601de835c513eb5e73696583b392322 (diff)
busybox: 1.14.0 libbb fix
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
-rw-r--r--package/busybox/busybox-1.14.0-libbb.patch35
1 files changed, 35 insertions, 0 deletions
diff --git a/package/busybox/busybox-1.14.0-libbb.patch b/package/busybox/busybox-1.14.0-libbb.patch
new file mode 100644
index 000000000..327b4ec46
--- /dev/null
+++ b/package/busybox/busybox-1.14.0-libbb.patch
@@ -0,0 +1,35 @@
+--- busybox-1.14.0/include/libbb.h Tue Apr 14 02:50:20 2009
++++ busybox-1.14.0-libbb/include/libbb.h Fri May 15 23:22:02 2009
+@@ -965,6 +965,12 @@
+ /* How long the longest ESC sequence we know? */
+ KEYCODE_BUFFER_SIZE = 4
+ };
++/* Note: fd may be in blocking or non-blocking mode, both make sense.
++ * For one, less uses non-blocking mode.
++ * Only the first read syscall inside read_key may block indefinitely
++ * (unless fd is in non-blocking mode),
++ * subsequent reads will time out after a few milliseconds.
++ */
+ int read_key(int fd, smalluint *nbuffered, char *buffer) FAST_FUNC;
+
+
+--- busybox-1.14.0/libbb/read.c Tue Apr 14 01:43:00 2009
++++ busybox-1.14.0-libbb/libbb/read.c Fri May 15 23:22:02 2009
+@@ -229,7 +229,7 @@
+ if (size > 64*1024)
+ size = 64*1024;
+ }
+- xrealloc(buf, total + 1);
++ buf = xrealloc(buf, total + 1);
+ buf[total] = '\0';
+
+ if (maxsz_p)
+@@ -273,7 +273,7 @@
+ free(buf);
+ return NULL;
+ }
+- xrealloc(buf, size + 1);
++ buf = xrealloc(buf, size + 1);
+ buf[size] = '\0';
+
+ if (maxsz_p)