summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDenis Vlasenko2008-07-10 17:43:01 +0000
committerDenis Vlasenko2008-07-10 17:43:01 +0000
commitb6052724ffc9d45894147b70e7aff226938bd2d3 (patch)
treee39d062e16d85da315cdb8cc0a96a03f15c10a23 /include
parent0e2c93fc0b5f335d731ff712ce8f42d8616f05b9 (diff)
downloadbusybox-b6052724ffc9d45894147b70e7aff226938bd2d3.zip
busybox-b6052724ffc9d45894147b70e7aff226938bd2d3.tar.gz
open_transformer: do not return fd, it does not change
libbb: adopt zipped read from modprobe-small function old new delta getoptscmd 708 713 +5 qgravechar 106 109 +3 huft_build 1165 1168 +3 tr_main 474 472 -2 open_transformer 91 89 -2 evalvar 1376 1374 -2 rpm_main 1691 1688 -3 qrealloc 36 33 -3 get_header_tar_lzma 55 52 -3 get_header_tar_gz 100 97 -3 get_header_tar_bz2 55 52 -3 get_header_tar_Z 89 86 -3 find_main 418 406 -12 prepare 302 283 -19 xmalloc_open_zipped_read_close 161 135 -26 xmalloc_read 248 199 -49 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 3/13 up/down: 11/-130) Total: -119 bytes
Diffstat (limited to 'include')
-rw-r--r--include/libbb.h9
-rw-r--r--include/unarchive.h6
2 files changed, 9 insertions, 6 deletions
diff --git a/include/libbb.h b/include/libbb.h
index 2dfdded..671584b 100644
--- a/include/libbb.h
+++ b/include/libbb.h
@@ -583,15 +583,18 @@ extern unsigned char xread_char(int fd) FAST_FUNC;
// Reads one line a-la fgets (but doesn't save terminating '\n').
// Uses single full_read() call, works only on seekable streams.
extern char *reads(int fd, char *buf, size_t count) FAST_FUNC;
+extern ssize_t read_close(int fd, void *buf, size_t maxsz) FAST_FUNC;
+extern ssize_t open_read_close(const char *filename, void *buf, size_t maxsz) FAST_FUNC;
// Reads one line a-la fgets (but doesn't save terminating '\n').
// Reads byte-by-byte. Useful when it is important to not read ahead.
// Bytes are appended to pfx (which must be malloced, or NULL).
extern char *xmalloc_reads(int fd, char *pfx, size_t *maxsz_p) FAST_FUNC;
-extern ssize_t read_close(int fd, void *buf, size_t maxsz) FAST_FUNC;
-extern ssize_t open_read_close(const char *filename, void *buf, size_t maxsz) FAST_FUNC;
-extern void *xmalloc_read(int fd, size_t *sizep) FAST_FUNC;
+/* Reads block up to *maxsz_p (default: MAX_INT(ssize_t)) */
+extern void *xmalloc_read(int fd, size_t *maxsz_p) FAST_FUNC;
/* Returns NULL if file can't be opened */
extern void *xmalloc_open_read_close(const char *filename, size_t *maxsz_p) FAST_FUNC;
+/* Autodetects .gz etc */
+extern void *xmalloc_open_zipped_read_close(const char *fname, size_t *maxsz_p) FAST_FUNC;
/* Never returns NULL */
extern void *xmalloc_xopen_read_close(const char *filename, size_t *maxsz_p) FAST_FUNC;
diff --git a/include/unarchive.h b/include/unarchive.h
index 1fab570..0e380db 100644
--- a/include/unarchive.h
+++ b/include/unarchive.h
@@ -126,12 +126,12 @@ extern USE_DESKTOP(long long) int unpack_gz_stream(int src_fd, int dst_fd) FAST_
extern USE_DESKTOP(long long) int unpack_lzma_stream(int src_fd, int dst_fd) FAST_FUNC;
#if BB_MMU
-extern int open_transformer(int src_fd,
+extern void open_transformer(int fd,
USE_DESKTOP(long long) int FAST_FUNC (*transformer)(int src_fd, int dst_fd)) FAST_FUNC;
-#define open_transformer(src_fd, transformer, transform_prog) open_transformer(src_fd, transformer)
+#define open_transformer(fd, transformer, transform_prog) open_transformer(fd, transformer)
#else
extern int open_transformer(int src_fd, const char *transform_prog) FAST_FUNC;
-#define open_transformer(src_fd, transformer, transform_prog) open_transformer(src_fd, transform_prog)
+#define open_transformer(fd, transformer, transform_prog) open_transformer(fd, transform_prog)
#endif
#if __GNUC_PREREQ(4,1)