fixed bug in reading of longs in archive header
authorceriel <none@none>
Thu, 5 Nov 1987 11:55:28 +0000 (11:55 +0000)
committerceriel <none@none>
Thu, 5 Nov 1987 11:55:28 +0000 (11:55 +0000)
modules/src/object/rd_arhdr.c

index 5d2a8df..f9f8680 100644 (file)
@@ -28,13 +28,13 @@ rd_arhdr(fd, arhdr)
                while (i--) {
                        *p++ = *c++;
                }
-               arhdr->ar_date = get2(c) << 16; c += 2;
-               arhdr->ar_date |= get2(c) & 0xffff; c += 2;
+               arhdr->ar_date = ((long) get2(c)) << 16; c += 2;
+               arhdr->ar_date |= ((long) get2(c)) & 0xffff; c += 2;
                arhdr->ar_uid = *c++;
                arhdr->ar_gid = *c++;
                arhdr->ar_mode = get2(c); c += 2;
-               arhdr->ar_size = get2(c) << 16; c += 2;
-               arhdr->ar_size |= get2(c) & 0xffff;
+               arhdr->ar_size = (long) get2(c) << 16; c += 2;
+               arhdr->ar_size |= (long) get2(c) & 0xffff;
        }
 #if WORDS_REVERSED && !BYTES_REVERSED
        else    {