aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorLasse Collin <lasse.collin@tukaani.org>2011-01-12 20:01:14 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2011-01-13 11:03:23 -0500
commit93685ad247ef65b7d6f90ffe97b44f5cfeaf40d3 (patch)
tree979868b5a03a7e73c792e222646a1876b3dc0216 /lib
parent6b01ed64c19b52121a717274d271d9915f8d3e94 (diff)
Decompressors: get rid of set_error_fn() macro
set_error_fn() has become a useless complication after c1e7c3ae59 ("bzip2/lzma/gzip: pre-boot malloc doesn't return NULL on failure") fixed the use of error() in malloc(). Only decompress_unlzma.c had some use for it and that was easy to change too. This also gets rid of the static function pointer "error", which should have been marked as __initdata. Signed-off-by: Lasse Collin <lasse.collin@tukaani.org> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Alain Knaff <alain@knaff.lu> Cc: Albin Tonnerre <albin.tonnerre@free-electrons.com> Cc: Phillip Lougher <phillip@lougher.demon.co.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'lib')
-rw-r--r--lib/decompress_bunzip2.c7
-rw-r--r--lib/decompress_inflate.c3
-rw-r--r--lib/decompress_unlzma.c11
-rw-r--r--lib/decompress_unlzo.c4
4 files changed, 11 insertions, 14 deletions
diff --git a/lib/decompress_bunzip2.c b/lib/decompress_bunzip2.c
index 81c8bb1cc6a..e805087f556 100644
--- a/lib/decompress_bunzip2.c
+++ b/lib/decompress_bunzip2.c
@@ -682,13 +682,12 @@ STATIC int INIT bunzip2(unsigned char *buf, int len,
682 int(*flush)(void*, unsigned int), 682 int(*flush)(void*, unsigned int),
683 unsigned char *outbuf, 683 unsigned char *outbuf,
684 int *pos, 684 int *pos,
685 void(*error_fn)(char *x)) 685 void(*error)(char *x))
686{ 686{
687 struct bunzip_data *bd; 687 struct bunzip_data *bd;
688 int i = -1; 688 int i = -1;
689 unsigned char *inbuf; 689 unsigned char *inbuf;
690 690
691 set_error_fn(error_fn);
692 if (flush) 691 if (flush)
693 outbuf = malloc(BZIP2_IOBUF_SIZE); 692 outbuf = malloc(BZIP2_IOBUF_SIZE);
694 693
@@ -751,8 +750,8 @@ STATIC int INIT decompress(unsigned char *buf, int len,
751 int(*flush)(void*, unsigned int), 750 int(*flush)(void*, unsigned int),
752 unsigned char *outbuf, 751 unsigned char *outbuf,
753 int *pos, 752 int *pos,
754 void(*error_fn)(char *x)) 753 void(*error)(char *x))
755{ 754{
756 return bunzip2(buf, len - 4, fill, flush, outbuf, pos, error_fn); 755 return bunzip2(buf, len - 4, fill, flush, outbuf, pos, error);
757} 756}
758#endif 757#endif
diff --git a/lib/decompress_inflate.c b/lib/decompress_inflate.c
index 1eea07e8f21..9a7f5dfc0ed 100644
--- a/lib/decompress_inflate.c
+++ b/lib/decompress_inflate.c
@@ -38,13 +38,12 @@ STATIC int INIT gunzip(unsigned char *buf, int len,
38 int(*flush)(void*, unsigned int), 38 int(*flush)(void*, unsigned int),
39 unsigned char *out_buf, 39 unsigned char *out_buf,
40 int *pos, 40 int *pos,
41 void(*error_fn)(char *x)) { 41 void(*error)(char *x)) {
42 u8 *zbuf; 42 u8 *zbuf;
43 struct z_stream_s *strm; 43 struct z_stream_s *strm;
44 int rc; 44 int rc;
45 size_t out_len; 45 size_t out_len;
46 46
47 set_error_fn(error_fn);
48 rc = -1; 47 rc = -1;
49 if (flush) { 48 if (flush) {
50 out_len = 0x8000; /* 32 K */ 49 out_len = 0x8000; /* 32 K */
diff --git a/lib/decompress_unlzma.c b/lib/decompress_unlzma.c
index 951f7277e98..2787dc560e4 100644
--- a/lib/decompress_unlzma.c
+++ b/lib/decompress_unlzma.c
@@ -74,6 +74,7 @@ struct rc {
74 uint32_t code; 74 uint32_t code;
75 uint32_t range; 75 uint32_t range;
76 uint32_t bound; 76 uint32_t bound;
77 void (*error)(char *);
77}; 78};
78 79
79 80
@@ -92,7 +93,7 @@ static void INIT rc_read(struct rc *rc)
92{ 93{
93 rc->buffer_size = rc->fill((char *)rc->buffer, LZMA_IOBUF_SIZE); 94 rc->buffer_size = rc->fill((char *)rc->buffer, LZMA_IOBUF_SIZE);
94 if (rc->buffer_size <= 0) 95 if (rc->buffer_size <= 0)
95 error("unexpected EOF"); 96 rc->error("unexpected EOF");
96 rc->ptr = rc->buffer; 97 rc->ptr = rc->buffer;
97 rc->buffer_end = rc->buffer + rc->buffer_size; 98 rc->buffer_end = rc->buffer + rc->buffer_size;
98} 99}
@@ -536,7 +537,7 @@ STATIC inline int INIT unlzma(unsigned char *buf, int in_len,
536 int(*flush)(void*, unsigned int), 537 int(*flush)(void*, unsigned int),
537 unsigned char *output, 538 unsigned char *output,
538 int *posp, 539 int *posp,
539 void(*error_fn)(char *x) 540 void(*error)(char *x)
540 ) 541 )
541{ 542{
542 struct lzma_header header; 543 struct lzma_header header;
@@ -552,7 +553,7 @@ STATIC inline int INIT unlzma(unsigned char *buf, int in_len,
552 unsigned char *inbuf; 553 unsigned char *inbuf;
553 int ret = -1; 554 int ret = -1;
554 555
555 set_error_fn(error_fn); 556 rc.error = error;
556 557
557 if (buf) 558 if (buf)
558 inbuf = buf; 559 inbuf = buf;
@@ -659,9 +660,9 @@ STATIC int INIT decompress(unsigned char *buf, int in_len,
659 int(*flush)(void*, unsigned int), 660 int(*flush)(void*, unsigned int),
660 unsigned char *output, 661 unsigned char *output,
661 int *posp, 662 int *posp,
662 void(*error_fn)(char *x) 663 void(*error)(char *x)
663 ) 664 )
664{ 665{
665 return unlzma(buf, in_len - 4, fill, flush, output, posp, error_fn); 666 return unlzma(buf, in_len - 4, fill, flush, output, posp, error);
666} 667}
667#endif 668#endif
diff --git a/lib/decompress_unlzo.c b/lib/decompress_unlzo.c
index bcb3a4bd68f..df3e98f945a 100644
--- a/lib/decompress_unlzo.c
+++ b/lib/decompress_unlzo.c
@@ -91,7 +91,7 @@ STATIC inline int INIT unlzo(u8 *input, int in_len,
91 int (*fill) (void *, unsigned int), 91 int (*fill) (void *, unsigned int),
92 int (*flush) (void *, unsigned int), 92 int (*flush) (void *, unsigned int),
93 u8 *output, int *posp, 93 u8 *output, int *posp,
94 void (*error_fn) (char *x)) 94 void (*error) (char *x))
95{ 95{
96 u8 skip = 0, r = 0; 96 u8 skip = 0, r = 0;
97 u32 src_len, dst_len; 97 u32 src_len, dst_len;
@@ -99,8 +99,6 @@ STATIC inline int INIT unlzo(u8 *input, int in_len,
99 u8 *in_buf, *in_buf_save, *out_buf; 99 u8 *in_buf, *in_buf_save, *out_buf;
100 int ret = -1; 100 int ret = -1;
101 101
102 set_error_fn(error_fn);
103
104 if (output) { 102 if (output) {
105 out_buf = output; 103 out_buf = output;
106 } else if (!flush) { 104 } else if (!flush) {