]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
Prefer OR over addition (#1915)
authorAtariDreams <83477269+AtariDreams@users.noreply.github.com>
Sun, 9 Jul 2023 16:24:17 +0000 (12:24 -0400)
committerGitHub <noreply@github.com>
Sun, 9 Jul 2023 16:24:17 +0000 (09:24 -0700)
Also cast all being ORed to uint64_t when creating a uint64_t.

This makes the code more idiomatic to compilers.

libarchive/archive_read_support_format_cab.c
libarchive/archive_read_support_format_cpio.c
libarchive/archive_read_support_format_lha.c
libarchive/archive_read_support_format_zip.c
libarchive/archive_write_add_filter_compress.c
libarchive/archive_write_disk_windows.c

index 4d5029b1bd2eed361378a7410a68b241babfa1da..3b552a84de12c0e04b0e2534a9aa6f6fd867e68f 100644 (file)
@@ -2294,10 +2294,10 @@ lzx_br_fillup(struct lzx_stream *strm, struct lzx_br *br)
                                   (br->cache_buffer << 48) |
                                    ((uint64_t)strm->next_in[1]) << 40 |
                                    ((uint64_t)strm->next_in[0]) << 32 |
-                                   ((uint32_t)strm->next_in[3]) << 24 |
-                                   ((uint32_t)strm->next_in[2]) << 16 |
-                                   ((uint32_t)strm->next_in[5]) << 8 |
-                                    (uint32_t)strm->next_in[4];
+                                   ((uint64_t)strm->next_in[3]) << 24 |
+                                   ((uint64_t)strm->next_in[2]) << 16 |
+                                   ((uint64_t)strm->next_in[5]) << 8 |
+                                    (uint64_t)strm->next_in[4];
                                strm->next_in += 6;
                                strm->avail_in -= 6;
                                br->cache_avail += 6 * 8;
index a4899144965c2e2a4ef6877422e64ea7bea36c22..9adcfd335b12f666245338d5d6add0481efc93c7 100644 (file)
@@ -985,14 +985,14 @@ archive_read_format_cpio_cleanup(struct archive_read *a)
 static int64_t
 le4(const unsigned char *p)
 {
-       return ((p[0] << 16) + (((int64_t)p[1]) << 24) + (p[2] << 0) + (p[3] << 8));
+       return ((p[0] << 16) | (((int64_t)p[1]) << 24) | (p[2] << 0) | (p[3] << 8));
 }
 
 
 static int64_t
 be4(const unsigned char *p)
 {
-       return ((((int64_t)p[0]) << 24) + (p[1] << 16) + (p[2] << 8) + (p[3]));
+       return ((((int64_t)p[0]) << 24) | (p[1] << 16) | (p[2] << 8) | (p[3]));
 }
 
 /*
index bcfd42e1d92006051ded482402cae44ff443fb4e..fa907a34640806ea94beda31a1e8f073d8e9d8a9 100644 (file)
@@ -2009,10 +2009,10 @@ lzh_br_fillup(struct lzh_stream *strm, struct lzh_br *br)
                                    ((uint64_t)strm->next_in[0]) << 48 |
                                    ((uint64_t)strm->next_in[1]) << 40 |
                                    ((uint64_t)strm->next_in[2]) << 32 |
-                                   ((uint32_t)strm->next_in[3]) << 24 |
-                                   ((uint32_t)strm->next_in[4]) << 16 |
-                                   ((uint32_t)strm->next_in[5]) << 8 |
-                                    (uint32_t)strm->next_in[6];
+                                   ((uint64_t)strm->next_in[3]) << 24 |
+                                   ((uint64_t)strm->next_in[4]) << 16 |
+                                   ((uint64_t)strm->next_in[5]) << 8 |
+                                    (uint64_t)strm->next_in[6];
                                strm->next_in += 7;
                                strm->avail_in -= 7;
                                br->cache_avail += 7 * 8;
@@ -2022,10 +2022,10 @@ lzh_br_fillup(struct lzh_stream *strm, struct lzh_br *br)
                                   (br->cache_buffer << 48) |
                                    ((uint64_t)strm->next_in[0]) << 40 |
                                    ((uint64_t)strm->next_in[1]) << 32 |
-                                   ((uint32_t)strm->next_in[2]) << 24 |
-                                   ((uint32_t)strm->next_in[3]) << 16 |
-                                   ((uint32_t)strm->next_in[4]) << 8 |
-                                    (uint32_t)strm->next_in[5];
+                                   ((uint64_t)strm->next_in[2]) << 24 |
+                                   ((uint64_t)strm->next_in[3]) << 16 |
+                                   ((uint64_t)strm->next_in[4]) << 8 |
+                                    (uint64_t)strm->next_in[5];
                                strm->next_in += 6;
                                strm->avail_in -= 6;
                                br->cache_avail += 6 * 8;
index 9d6c900b2c6e3da24b47cc75fc7c86a747e4d30a..f800788f6806523e496fc590c540e5035dbc8d32 100644 (file)
@@ -2227,7 +2227,7 @@ zip_read_data_zipx_bzip2(struct archive_read *a, const void **buff,
        to_consume = zip->bzstream.total_in_lo32;
        __archive_read_consume(a, to_consume);
 
-       total_out = ((uint64_t) zip->bzstream.total_out_hi32 << 32) +
+       total_out = ((uint64_t) zip->bzstream.total_out_hi32 << 32) |
            zip->bzstream.total_out_lo32;
 
        zip->entry_bytes_remaining -= to_consume;
index d404fae7dba48b9fddf986dcded5a7e2672e5b39..3ed269fce943ce1ca198d31259e6e98d5ff4f1c1 100644 (file)
@@ -352,7 +352,7 @@ archive_compressor_compress_write(struct archive_write_filter *f,
        while (length--) {
                c = *bp++;
                state->in_count++;
-               state->cur_fcode = (c << 16) + state->cur_code;
+               state->cur_fcode = (c << 16) | state->cur_code;
                i = ((c << HSHIFT) ^ state->cur_code);  /* Xor hashing. */
 
                if (state->hashtab[i] == state->cur_fcode) {
index 88df3ce020f4ad7464ebb7a42b9e5073eabe16a4..9bf7c3295e83199bcf7f6fde62e9132af3f2b53e 100644 (file)
@@ -254,9 +254,9 @@ static ssize_t      _archive_write_disk_data_block(struct archive *, const void *,
  * which is high-16-bits of nFileIndexHigh. */
 #define bhfi_ino(bhfi) \
        ((((int64_t)((bhfi)->nFileIndexHigh & 0x0000FFFFUL)) << 32) \
-    + (bhfi)->nFileIndexLow)
+    | (bhfi)->nFileIndexLow)
 #define bhfi_size(bhfi)        \
-    ((((int64_t)(bhfi)->nFileSizeHigh) << 32) + (bhfi)->nFileSizeLow)
+    ((((int64_t)(bhfi)->nFileSizeHigh) << 32) | (bhfi)->nFileSizeLow)
 
 static int
 file_information(struct archive_write_disk *a, wchar_t *path,