c219988fdf
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
36 lines
1.0 KiB
Diff
36 lines
1.0 KiB
Diff
--- 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)
|