[comp.sources.bugs] ARC521 posted resently

frankg@nikhefk.UUCP (Frank Geerling) (07/10/88)

I have trouble in compiling arclzw.c on my MEGA ST2 it goes wrong at line 57
(MWC 1.1)


57	struct entry {		/* string table entry format */
58		char            used;	/* true when this entry is in use */
59		unsigned char   follower;	/* char following string */
60		unsigned short  next;	/* ptr to next in collision list */
61		unsigned short  predecessor;	/* code for preceeding string */
62	};            /* string_tab[TABSIZE];	/* the code string table */

On the unix-side (BSD4.3) I had no trouble at all compiling.

At the atari side it complaints about nested comments oke I can see that
so I put an additional */ in between then it starts complaining about 
a missing { at line 57 . 

Another compilation problem occurs when compiling arcsqs.c :

In the file arcsqs.c the compiler complaints about to long array
in line 52, is this the well know bug of MWC 1.1 ?

			ARCSQS.C

33	#define BITS   13		/* maximum bits per code */
34	#define HSIZE  10007		/* 80% occupancy */
35	#define INIT_BITS 9		/* initial number of bits/code */


52	long     htab[HSIZE];		/* hash code table   (crunch) */
53	unsigned short codetab[HSIZE];	/* string code table (crunch) */
54	
					/*prefix code table (uncrunch)*/
55	static unsigned short *prefix = codetab;
					/*suffix table (uncrunch) */
56	static unsigned char *suffix=(unsigned char *)htab;
57	static int      free_ent;	/* first unused entry */
58	static int      firstcmp;	/* true at start of compression */
59	unsigned char stack[HSIZE];	/* local push/pop stack */


I would appreciate it if someone would help me with this.


			   Frank Geerling
			(frankg@nikhefk.uucp)


Usenet:		{seismo, philabs, decvax}!mcvax!frankg@nikhefk

Normal mail:	Frank Geerling
		NIKHEF-K (PIMU)
		Postbus 4395
		1009 AJ Amsterdam
		The Netherlands

andy@harrnl.UUCP (Andy Warner) (07/11/88)

In article <394@nikhefk.UUCP> frankg@nikhefk.UUCP (Frank Geerling) writes:
>I have trouble in compiling arclzw.c on my MEGA ST2 it goes wrong at line 57
>(MWC 1.1)

The whole arc compiles without a hitch with MWC 3.0.  I used the following
in my makefile:   CFLAGS= -VCOMPAC -VPEEP   This gives you a smaller (and
faster) arc.

>In the file arcsqs.c the compiler complaints about to long array
>in line 52, is this the well know bug of MWC 1.1 ?
>34	#define HSIZE  10007		/* 80% occupancy */
>52	long     htab[HSIZE];		/* hash code table   (crunch) */

Yes, this is a well known bug (also MWC 2.0, 2.1) but has been fixed in 3.0.
The early versions didn't allow arrays bigger than 32K bytes.

Furthermore, MWC 3.0 supports memset (used in arc521), and much more.
Better get you a copy!!!  I also HIGHLY recommend the C source debugger
(fully screen oriented -- puts unix debuggers to shame).

If you don't want get the upgrade, I guess I could tarmail you the binary.

+ + + + + + + + + + + + + + + + + + + +
Opinions/recommendations are all my own
+ + + + + + + + + + + + + + + + + + + +

hyc@math.lsa.umich.edu (Howard Chu) (07/19/88)

In article <394@nikhefk.UUCP> frankg@nikhefk.UUCP (Frank Geerling) writes:
>I have trouble in compiling arclzw.c on my MEGA ST2 it goes wrong at line 57
>(MWC 1.1)

The version of ARC that I posted was written for version 3.0 of the Mark
Williams C compiler. You might be able to get it working with 2.0 if you
rip out all the code to handle squashing, but 1.1 doesn't have a chance.
An archive containing the executable file for the ST was posted to the
newsgroup comp.binaries.atari.st, so you can still use ARC 5.21 on your ST
while you wait for your upgraded compiler to arrive.

The warning about nested comments is also present in 3.0. It's harmless.
I leave it in only so others can see what the original code looked like.
It's simple enough to change, and probably will be when I post the patches
I've put together.
--
  /
 /_ , ,_.                      Howard Chu
/ /(_/(__                University of Michigan
    /           Computing Center          College of LS&A
   '              Unix Project          Information Systems