*** freeze.c.orig Tue Jun 1 13:24:26 1993 --- freeze.c Wed Jun 9 00:23:54 1993 *************** *** 51,57 **** int exit_stat = 0; void ! Usage() { #ifdef DEBUG --- 51,57 ---- int exit_stat = 0; void ! Usage(void) { #ifdef DEBUG *************** *** 72,78 **** #endif /* DEBUG */ } ! void (*meltfunc) (); /* To call something for melting */ int topipe = 0, /* Write output on stdout, suppress messages */ precious = 1, /* Don't unlink output file on interrupt */ --- 72,78 ---- #endif /* DEBUG */ } ! void (*meltfunc)(void); /* To call something for melting */ int topipe = 0, /* Write output on stdout, suppress messages */ precious = 1, /* Don't unlink output file on interrupt */ *************** *** 115,121 **** RETSIGTYPE (*bgnd_flag)(); ! void writeerr(), copystat(), version(), tune_table(); /***************************************************************** * --- 115,123 ---- RETSIGTYPE (*bgnd_flag)(); ! void writeerr(void), copystat(char *), version(void), tune_table(char *); ! void freeze(void); ! int checkstat(char *), defopen(char *), foreground(void); /***************************************************************** * *************** *** 193,199 **** #endif #ifndef DOS ! char *malloc(); #endif extern RETSIGTYPE onintr(); --- 195,201 ---- #endif #ifndef DOS ! /* char *malloc(); */ #endif extern RETSIGTYPE onintr(); *************** *** 365,370 **** --- 367,376 ---- version(); #endif + if (!(hashtab = malloc(hash_size * sizeof(hash_t))) || + !(next = malloc(WINSIZE * sizeof(hash_t)))) + exit(20); + if (do_melt) { /* use all otherwise unused memory for I/O buffers */ setvbuf(stdin, (char*) next, _IOFBF, (size_t) WINSIZE * sizeof(hash_t)); *************** *** 694,703 **** /* Calculates and prints the compression ratio w/o floating point OPs */ ! void ! prratio(stream, was, is) ! FILE *stream; ! long was, is; { register long q; /* This works everywhere */ --- 700,706 ---- /* Calculates and prints the compression ratio w/o floating point OPs */ ! void prratio(FILE *stream, long was, long is) { register long q; /* This works everywhere */ *************** *** 720,729 **** } /* Calculates and prints bits/byte compression ratio as above */ ! void ! prbits(stream, was, is) ! FILE *stream; ! long was, is; { register long q; --- 723,729 ---- } /* Calculates and prints bits/byte compression ratio as above */ ! void prbits(FILE *stream, long was, long is) { register long q; *************** *** 757,769 **** --- 757,773 ---- struct ftime utimbuf; #else #ifdef UTIMES + #ifndef AMIGA struct timeval timep[2]; + #endif #else struct utimbuf timep; #endif #endif + #ifndef AMIGA int mode; + #endif #ifdef MSDOS if (_osmajor < 3) *************** *** 792,805 **** --- 796,813 ---- Fattrib(ofname, 1, Fattrib(ifname, 0, 0)); #else + #ifndef AMIGA mode = statbuf.st_mode & 07777; if (chmod(ofname, mode)) /* Copy modes */ perror(ofname); #endif + #endif #ifndef DOS + #ifndef AMIGA /* Copy ownership */ (void) chown(ofname, (int) statbuf.st_uid, (int) statbuf.st_gid); #endif + #endif #ifdef __TURBOC__ getftime(fileno(stdin), &utimbuf); *************** *** 808,817 **** --- 816,827 ---- (void) fclose(stdout); #else #ifdef UTIMES + #ifndef AMIGA timep[0].tv_sec = statbuf.st_atime; timep[1].tv_sec = statbuf.st_mtime; timep[0].tv_usec = timep[1].tv_usec = 0; (void) utimes(ofname, timep); + #endif #else timep.actime = statbuf.st_atime; timep.modtime = statbuf.st_mtime; *************** *** 957,963 **** tune_table(type) char *type; { ! extern char *defread(); register char *s = defread(type), *t; static int v[8]; int i, is_list = 0; --- 967,973 ---- tune_table(type) char *type; { ! extern char *defread(char *); register char *s = defread(type), *t; static int v[8]; int i, is_list = 0; *** freeze.h.orig Tue Jun 1 13:24:46 1993 --- freeze.h Wed Jun 9 00:08:59 1993 *************** *** 157,163 **** extern long refers_out, symbols_out; #endif ! extern void melt2(), (*meltfunc)(), writeerr(), prratio(), prbits(), freeze(); #ifdef COMPAT #include "compat.h" --- 157,164 ---- extern long refers_out, symbols_out; #endif ! extern void melt2(void), (*meltfunc)(void), writeerr(void), freeze(void); ! extern void prratio(FILE *, long, long), prbits(FILE *, long, long); #ifdef COMPAT #include "compat.h" *************** *** 188,192 **** #define strrchr rindex #endif ! extern char *strchr(), *strrchr(); --- 189,193 ---- #define strrchr rindex #endif ! /* extern char *strchr(), *strrchr(); */ *** huf.c.orig Tue Jun 1 13:24:46 1993 --- huf.c Wed Jun 9 00:15:36 1993 *************** *** 82,88 **** /* Reconstructs tree with `chars' leaves */ ! void reconst () { register int i, j, k; register unsigned f; --- 82,88 ---- /* Reconstructs tree with `chars' leaves */ ! void reconst (void) { register int i, j, k; register unsigned f; *************** *** 137,144 **** /* Updates given code's frequency, and updates tree */ ! void update (c) ! register int c; { register unsigned k, *p; register int i, j, l; --- 137,143 ---- /* Updates given code's frequency, and updates tree */ ! void update (int c) { register unsigned k, *p; register int i, j, l; *** huf.h.orig Tue Jun 1 13:24:46 1993 --- huf.h Wed Jun 9 00:08:55 1993 *************** *** 1,4 **** ! extern void StartHuff(), init(), write_header(), EncodeChar(), crpt_message(); ! extern int DecodeChar(), DecodePosition(); ! extern void EncodePosition(); #define MAX_FREQ (us_t)0x8000 /* Tree update timing */ --- 1,6 ---- ! extern void StartHuff(int), init(uc_t *), write_header(void), EncodeChar(int); ! extern void crpt_message(void); ! extern int DecodeChar(void), DecodePosition(void); ! extern void EncodePosition(int); ! extern int read_header(void); #define MAX_FREQ (us_t)0x8000 /* Tree update timing */ *** lz.h.orig Tue Jun 1 13:24:46 1993 --- lz.h Wed Jun 9 00:21:38 1993 *************** *** 1,4 **** ! extern void InitTree(); #ifndef SEGMENTED # define MAXBITS 16 --- 1,4 ---- ! extern void InitTree(void); #ifndef SEGMENTED # define MAXBITS 16 *************** *** 53,59 **** extern int match_position, chain_length; ! extern hash_t hashtab[], next[]; /* Some defines to eliminate function-call overhead */ --- 53,59 ---- extern int match_position, chain_length; ! extern hash_t *hashtab, *next; /* Some defines to eliminate function-call overhead */ *************** *** 127,134 **** /* some heuristic to avoid necessity of "-ggg..." */ #define CHAIN_THRESHOLD (LOOKAHEAD / 2) ! extern int get_next_match(); ! extern hash_t rehash(); #ifdef GATHER_STAT extern long node_matches, node_compares, node_prolongations; --- 127,134 ---- /* some heuristic to avoid necessity of "-ggg..." */ #define CHAIN_THRESHOLD (LOOKAHEAD / 2) ! extern int get_next_match(int, hash_t); ! extern hash_t rehash(hash_t); #ifdef GATHER_STAT extern long node_matches, node_compares, node_prolongations; *** default.c.orig Tue Jun 1 13:24:56 1993 --- default.c Wed Jun 9 00:09:55 1993 *************** *** 10,16 **** #define NOFILE ((FILE *) 0) #define MAXLINE 128 ! char *strchr(); static FILE *defd = NOFILE; /* defaults file stream */ int defopen(fname) /* open | reopen | close defaults file */ --- 10,16 ---- #define NOFILE ((FILE *) 0) #define MAXLINE 128 ! /* char *strchr(); */ static FILE *defd = NOFILE; /* defaults file stream */ int defopen(fname) /* open | reopen | close defaults file */