svn commit: trunk/busybox/archival/libunarchive

vda at busybox.net vda at busybox.net
Tue Mar 18 03:13:28 UTC 2008


Author: vda
Date: 2008-03-17 20:13:25 -0700 (Mon, 17 Mar 2008)
New Revision: 21379

Log:
unlzma: shrink by Pascal Bellard <pascal.bellard AT ads-lu.com>



Modified:
   trunk/busybox/archival/libunarchive/decompress_unlzma.c


Changeset:
Modified: trunk/busybox/archival/libunarchive/decompress_unlzma.c
===================================================================
--- trunk/busybox/archival/libunarchive/decompress_unlzma.c	2008-03-18 01:44:52 UTC (rev 21378)
+++ trunk/busybox/archival/libunarchive/decompress_unlzma.c	2008-03-18 03:13:25 UTC (rev 21379)
@@ -324,6 +324,7 @@
 
 			previous_byte = (uint8_t) mi;
 #if ENABLE_FEATURE_LZMA_FAST
+ one_byte1:
 			buffer[buffer_pos++] = previous_byte;
 			if (buffer_pos == header.dict_size) {
 				buffer_pos = 0;
@@ -334,7 +335,7 @@
 			}
 #else
 			len = 1;
-			goto one_byte;
+			goto one_byte2;
 #endif
 		} else {
 			int offset;
@@ -367,15 +368,7 @@
 						while (pos >= header.dict_size)
 							pos += header.dict_size;
 						previous_byte = buffer[pos];
-						buffer[buffer_pos++] = previous_byte;
-						if (buffer_pos == header.dict_size) {
-							buffer_pos = 0;
-							global_pos += header.dict_size;
-							if (full_write(dst_fd, buffer, header.dict_size) != header.dict_size)
-								goto bad;
-							USE_DESKTOP(total_written += header.dict_size;)
-						}
-						continue;
+						goto one_byte1;
 #else
 						len = 1;
 						goto string;
@@ -482,7 +475,7 @@
 				while (pos >= header.dict_size)
 					pos += header.dict_size;
 				previous_byte = buffer[pos];
- SKIP_FEATURE_LZMA_FAST(one_byte:)
+ SKIP_FEATURE_LZMA_FAST(one_byte2:)
 				buffer[buffer_pos++] = previous_byte;
 				if (buffer_pos == header.dict_size) {
 					buffer_pos = 0;




More information about the busybox-cvs mailing list