logo

oasis

Own branch of Oasis Linux (upstream: <https://git.sr.ht/~mcf/oasis/>) git clone https://anongit.hacktivis.me/git/oasis.git

0004-Handle-the-PKWare-verification-bit-of-internal-attri.patch (1189B)


  1. From af50c278c5b2c57a76771825a80ca3ff9d315acd Mon Sep 17 00:00:00 2001
  2. From: "Steven M. Schweda" <sms@antinode.info>
  3. Date: Sat, 15 Jun 2019 18:13:11 -0700
  4. Subject: [PATCH] Handle the PKWare verification bit of internal attributes
  5. ---
  6. process.c | 7 +++++++
  7. 1 file changed, 7 insertions(+)
  8. diff --git a/process.c b/process.c
  9. index 1e9a1e1..ed314e1 100644
  10. --- a/process.c
  11. +++ b/process.c
  12. @@ -1729,6 +1729,13 @@ int process_cdir_file_hdr(__G) /* return PK-type error code */
  13. else if (uO.L_flag > 1) /* let -LL force lower case for all names */
  14. G.pInfo->lcflag = 1;
  15. + /* Handle the PKWare verification bit, bit 2 (0x0004) of internal
  16. + attributes. If this is set, then a verification checksum is in the
  17. + first 3 bytes of the external attributes. In this case all we can use
  18. + for setting file attributes is the last external attributes byte. */
  19. + if (G.crec.internal_file_attributes & 0x0004)
  20. + G.crec.external_file_attributes &= (ulg)0xff;
  21. +
  22. /* do Amigas (AMIGA_) also have volume labels? */
  23. if (IS_VOLID(G.crec.external_file_attributes) &&
  24. (G.pInfo->hostnum == FS_FAT_ || G.pInfo->hostnum == FS_HPFS_ ||
  25. --
  26. 2.20.1