zoo cluster size overflow vs chkdsk or scandisk for fat32 (Users)
> I am more optimistic here: The program is open source and there will be
> FreeDOS fans who still have the compilers used for ZOO long ago. Those
> could help us out to create a fixed binary.
>
> A fix for the source code is not hard to write, just changing the data type
> for all occurances of the cluster size should be enough. So the main
> bottleneck from my point of view is finding somebody willing to compile the
> fixed sources after that.
Thanks for reminding me what a horrible development environment DOS was!
The patch:
--- a/msdos.c
+++ b/msdos.c
@@ -69,7 +69,7 @@
unsigned long space (drive, alloc_size)
int drive;
-int *alloc_size;
+unsigned long *alloc_size;
{
unsigned long free_space;
union REGS regs;
@@ -85,7 +85,7 @@
/* ax=0xFFFF on error */
/* cluster size = sectors/cluster * bytes/sector */
- *alloc_size = regs.x.ax * regs.x.cx;
+ *alloc_size = (unsigned long) regs.x.ax * regs.x.cx;
/* space = cluster * alloc_size */
if (regs.x.ax == 0xffff)
--- a/zooext.c
+++ b/zooext.c
@@ -85,7 +85,7 @@
int null_device = 0; /* are we sending to null device? */
#ifndef PORTABLE
int fast_ext = 0; /* fast extract as *.?Z? */
-int alloc_size; /* disk allocation unit size */
+unsigned long alloc_size; /* disk allocation unit size */
#endif
struct direntry direntry; /* directory entry */
int first_dir = 1; /* first dir entry seen? */
--- a/zoofns.h
+++ b/zoofns.h
@@ -80,7 +80,7 @@
void zooexit PARMS ((int));
long inlist PARMS ((char *, unsigned int *, unsigned int *, unsigned *,
unsigned *, unsigned *, long *, int));
-unsigned long space PARMS ((int, int *));
+unsigned long space PARMS ((int, unsigned long *));
void addbfcrc PARMS ((char *, int));
void addfname PARMS ((char *, long, unsigned int, unsigned int,
unsigned, unsigned));
The binary: 7z
Complete thread:
- zoo files extraction - fritz.mueller, 26.01.2024, 17:17
- zoo files extraction - RayeR, 26.01.2024, 17:21
- zoo files extraction - Ringding, 26.01.2024, 17:38
- zoo files extraction - mceric, 26.01.2024, 21:19
- zoo files extraction - Ringding, 26.01.2024, 17:38
- zoo files extraction - jadoxa, 27.01.2024, 03:55
- zoo files extraction - mceric, 27.01.2024, 12:01
- zoo files extraction - fritz.mueller, 27.01.2024, 19:10
- zoo files extraction - Rugxulo, 27.01.2024, 21:42
- zoo files extraction - Rugxulo, 28.01.2024, 15:34
- zoo cluster size overflow vs chkdsk or scandisk for fat32 - mceric, 27.01.2024, 21:48
- zoo cluster size overflow vs chkdsk or scandisk for fat32 - Ringding, 28.01.2024, 20:13
- zoo cluster size overflow vs chkdsk or scandisk for fat32 - Rugxulo, 28.01.2024, 22:53
- zoo cluster size overflow vs chkdsk or scandisk for fat32 - RayeR, 29.01.2024, 06:29
- zoo cluster size overflow vs chkdsk or scandisk for fat32 - rr, 29.01.2024, 08:45
- zoo cluster size overflow vs chkdsk or scandisk for fat32 - Ringding, 29.01.2024, 09:03
- zoo cluster size overflow vs chkdsk or scandisk for fat32 - RayeR, 29.01.2024, 13:45
- zoo cluster size overflow vs chkdsk or scandisk for fat32 - fritz.mueller, 29.01.2024, 18:52
- zoo cluster size overflow vs chkdsk or scandisk for fat32 - Rugxulo, 29.01.2024, 21:02
- zoo cluster size overflow vs chkdsk or scandisk for fat32 - RayeR, 29.01.2024, 13:45
- zoo cluster size overflow vs chkdsk or scandisk for fat32 - rr, 29.01.2024, 08:55
- zoo cluster size overflow vs chkdsk or scandisk for fat32 - roytam, 29.01.2024, 10:06
- zoo cluster size overflow vs chkdsk or scandisk for fat32 - rr, 29.01.2024, 19:07
- zoo cluster size overflow vs chkdsk or scandisk for fat32 - roytam, 29.01.2024, 10:06
- zoo cluster size overflow vs chkdsk or scandisk for fat32 - Ringding, 28.01.2024, 20:13
- zoo files extraction - Rugxulo, 27.01.2024, 21:42
- zoo files extraction - RayeR, 28.01.2024, 15:05
- zoo files extraction - Ringding, 28.01.2024, 20:22
- zoo files extraction - fritz.mueller, 28.01.2024, 22:21
- zoo files extraction - Ringding, 28.01.2024, 20:22
- zoo files extraction - fritz.mueller, 27.01.2024, 19:10
- zoo files extraction - mceric, 27.01.2024, 12:01
- zoo files extraction - RayeR, 26.01.2024, 17:21