Baron-von-Riedesel / HX

Home of the HX DOS Extender and its included DPMI-host HDPMI.
192 stars 14 forks source link

zip 3.0 has strange unicode #34

Open kerravon86 opened 1 year ago

kerravon86 commented 1 year ago

Hi Japheth.

Recent advances in PDOS/386-related tools means that Freedos + HX is now potentially a viable alternative to Windows 95 for me (for doing PDOS/386 development). So I am now looking closer for issues and reporting them.

I am using hx 2.20 under Freedos 1.3 with doslfn installed and I am getting this issue with standard zip 3.0 for Windows:

D:\scratch>\zipstd Copyright (c) 1990-2008 Info-ZIP - Type 'zip "-L"' for software license. Zip 3.0 (July 5th 2008). Usage: zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]

I have a single long file, and regardless of whether I do "v*" or give the full name, I get:

D:\scratch>\zipstd -0X lll verylongfile.txt adding: #U0076#U0065#U0072#U0079#U006c#U006f#U006e#U0067#U0066#U0069#U006c#U00 65#U002e#U0074#U0078#U0074 (stored 0%) D:\scratch>unzip -v lll Archive: lll.zip Length Method Size Cmpr Date Time CRC-32 Name


   9  Stored        9   0% 07-23-2023 08:08 1b7d5ab9  #U0076#U0065#U0072#U00

79#U006c#U006f#U006e#U0067#U0066#U0069#U006c#U0065#U002e#U0074#U0078#U0074


   9                9   0%                            1 file

D:\scratch>

I can see from the unicode numbers that it knows what my filename is.

If I run the same zip executable under Windows 10 I don't get that issue, and I can see from the internals of the zip file that the full unicode isn't being stored:

D:\scratch>hexdump kkk.zip 000000 504B0304 0A000000 00001541 F756B95A PK.........A.V.Z 000010 7D1B0900 00000900 00001000 00007665 }.............ve 000020 72796C6F 6E676669 6C652E74 78746865 rylongfile.txthe 000030 6C6C6F0D 0A0D0A50 4B01021E 000A0000 llo....PK....... 000040 00000015 41F756B9 5A7D1B09 00000009 ....A.V.Z}...... 000050 00000010 00000000 00000000 00200000 ............. .. 000060 00000000 00766572 796C6F6E 6766696C .....verylongfil 000070 652E7478 74504B05 06000000 00010001 e.txtPK......... 000080 003E0000 00370000 000000 .>...7..... D:\scratch>

(kkk.zip was previously created under Windows)

Any ideas?

Thanks. Paul.