diff options
author | Mark Adler <madler@alumni.caltech.edu> | 2011-09-09 23:10:21 -0700 |
---|---|---|
committer | Mark Adler <madler@alumni.caltech.edu> | 2011-09-09 23:10:21 -0700 |
commit | 25e5325501edade156e897f95afdaa2be78ad9a3 (patch) | |
tree | 82687eec194357f9f94f6f137697ffd7a600c1cf /deflate.c | |
parent | 23c69f10698301ae97709eb0bbfb371d66b99a08 (diff) | |
download | zlib-25e5325501edade156e897f95afdaa2be78ad9a3.tar.gz zlib-25e5325501edade156e897f95afdaa2be78ad9a3.tar.bz2 zlib-25e5325501edade156e897f95afdaa2be78ad9a3.zip |
zlib 0.95v0.95
Diffstat (limited to 'deflate.c')
-rw-r--r-- | deflate.c | 18 |
1 files changed, 9 insertions, 9 deletions
@@ -524,8 +524,8 @@ local int longest_match(s, cur_match) | |||
524 | * Try with and without -DUNALIGNED_OK to check. | 524 | * Try with and without -DUNALIGNED_OK to check. |
525 | */ | 525 | */ |
526 | register Bytef *strend = s->window + s->strstart + MAX_MATCH - 1; | 526 | register Bytef *strend = s->window + s->strstart + MAX_MATCH - 1; |
527 | register ush scan_start = *(ush*)scan; | 527 | register ush scan_start = *(ushf*)scan; |
528 | register ush scan_end = *(ush*)(scan+best_len-1); | 528 | register ush scan_end = *(ushf*)(scan+best_len-1); |
529 | #else | 529 | #else |
530 | register Bytef *strend = s->window + s->strstart + MAX_MATCH; | 530 | register Bytef *strend = s->window + s->strstart + MAX_MATCH; |
531 | register Byte scan_end1 = scan[best_len-1]; | 531 | register Byte scan_end1 = scan[best_len-1]; |
@@ -554,8 +554,8 @@ local int longest_match(s, cur_match) | |||
554 | /* This code assumes sizeof(unsigned short) == 2. Do not use | 554 | /* This code assumes sizeof(unsigned short) == 2. Do not use |
555 | * UNALIGNED_OK if your compiler uses a different size. | 555 | * UNALIGNED_OK if your compiler uses a different size. |
556 | */ | 556 | */ |
557 | if (*(ush*)(match+best_len-1) != scan_end || | 557 | if (*(ushf*)(match+best_len-1) != scan_end || |
558 | *(ush*)match != scan_start) continue; | 558 | *(ushf*)match != scan_start) continue; |
559 | 559 | ||
560 | /* It is not necessary to compare scan[2] and match[2] since they are | 560 | /* It is not necessary to compare scan[2] and match[2] since they are |
561 | * always equal when the other bytes match, given that the hash keys | 561 | * always equal when the other bytes match, given that the hash keys |
@@ -569,10 +569,10 @@ local int longest_match(s, cur_match) | |||
569 | Assert(scan[2] == match[2], "scan[2]?"); | 569 | Assert(scan[2] == match[2], "scan[2]?"); |
570 | scan++, match++; | 570 | scan++, match++; |
571 | do { | 571 | do { |
572 | } while (*(ush*)(scan+=2) == *(ush*)(match+=2) && | 572 | } while (*(ushf*)(scan+=2) == *(ushf*)(match+=2) && |
573 | *(ush*)(scan+=2) == *(ush*)(match+=2) && | 573 | *(ushf*)(scan+=2) == *(ushf*)(match+=2) && |
574 | *(ush*)(scan+=2) == *(ush*)(match+=2) && | 574 | *(ushf*)(scan+=2) == *(ushf*)(match+=2) && |
575 | *(ush*)(scan+=2) == *(ush*)(match+=2) && | 575 | *(ushf*)(scan+=2) == *(ushf*)(match+=2) && |
576 | scan < strend); | 576 | scan < strend); |
577 | /* The funny "do {}" generates better code on most compilers */ | 577 | /* The funny "do {}" generates better code on most compilers */ |
578 | 578 | ||
@@ -621,7 +621,7 @@ local int longest_match(s, cur_match) | |||
621 | best_len = len; | 621 | best_len = len; |
622 | if (len >= s->nice_match) break; | 622 | if (len >= s->nice_match) break; |
623 | #ifdef UNALIGNED_OK | 623 | #ifdef UNALIGNED_OK |
624 | scan_end = *(ush*)(scan+best_len-1); | 624 | scan_end = *(ushf*)(scan+best_len-1); |
625 | #else | 625 | #else |
626 | scan_end1 = scan[best_len-1]; | 626 | scan_end1 = scan[best_len-1]; |
627 | scan_end = scan[best_len]; | 627 | scan_end = scan[best_len]; |