Path: blob/main/archivers/lha/files/patch-lha.h
16147 views
--- src/lha.h.orig 2000-10-05 17:35:38 UTC1+++ src/lha.h2@@ -11,11 +11,14 @@3lharc.h interface.h slidehuf.h4*/5#include <stdio.h>6+#include <stdlib.h>7#include <errno.h>8#include <ctype.h>9#include <sys/types.h>10#include <sys/file.h>11#include <sys/stat.h>12+#include <unistd.h>13+#include <utime.h>1415#include <signal.h>1617@@ -135,6 +138,7 @@ EXTERN char temporary_name[FILENAME_18EXTERN char backup_archive_name[FILENAME_LENGTH];1920EXTERN char *reading_filename, *writting_filename;21+EXTERN char *extract_directory;2223/* 1996.8.13 t.okamoto */24#if 025@@ -191,128 +195,147 @@ EXTERN FILE *temporary_fp;26/* ------------------------------------------------------------------------ */27/* Functions */28/* ------------------------------------------------------------------------ */29+30+/* from patmatch.c */31+extern int patmatch(register char *p, register char *s, int f);32+33+34/* from lharc.c */35-extern int patmatch();36+extern void message(char *subject, char *name);37+extern void warning(char *subject, char *name);38+extern void error(char *subject, char *msg);39+extern void fatal_error(char *msg);4041-extern void interrupt();42+extern void interrupt(int signo);4344-extern void message();45-extern void warning();46-extern void error();47-extern void fatal_error();48+extern void init_sp(struct string_pool *sp);49+extern void add_sp(struct string_pool *sp, char *name, int len);50+extern void finish_sp(register struct string_pool *sp, int *v_count, char ***v_vector);51+extern void free_sp(char **vector);5253-extern boolean need_file();54-extern int inquire();55-extern FILE *xfopen();56+extern void cleaning_files(int *v_filec, char ***v_filev);57+extern boolean find_files(char *name, int *v_filec, char ***v_filev);58+extern void free_files(int filec, char **filev);5960-extern boolean find_files();61-extern void free_files();62+extern void build_temporary_name(void);63+extern void build_backup_name(char *buffer, char *original);64+extern void build_standard_archive_name(char *buffer, char *original);65+extern boolean need_file(char *name);66+extern FILE *xfopen(char *name, char *mode);67+extern FILE *open_old_archive(void);6869-extern void init_sp();70-extern void add_sp();71-extern void finish_sp();72-extern void free_sp();73-extern void cleaning_files();74+extern int inquire(char *msg, char *name, char *selective);75+extern void write_archive_tail(FILE *nafp);76+extern void copy_old_one(FILE *oafp, FILE *nafp, LzHeader *hdr);7778-extern void build_temporary_name();79-extern void build_backup_file_name();80-extern void build_standard_archive_name();8182-extern FILE *open_old_archive();83-extern void init_header();84-extern boolean get_header();85-extern boolean archive_is_msdos_sfx1();86-extern boolean skip_msdos_sfx1_code();87-extern void write_header();88-extern void write_archive_tail();89-extern void copy_old_one();90-extern unsigned char *convdelim();91-extern long copyfile();92+/* from header.c */93+extern int calc_sum(register char *p, register int len);94+extern boolean get_header(FILE *fp, register LzHeader *hdr);95+extern void init_header(char *name, struct stat *v_stat, LzHeader *hdr);96+extern void write_header(FILE *nafp, LzHeader *hdr);9798-extern void cmd_list(), cmd_extract(), cmd_add(), cmd_delete();99100-extern boolean ignore_directory;101-extern boolean compress_method;102-extern boolean verify_mode;103+/* from util.c */104+extern long copyfile(FILE *f1, FILE *f2, long size, int crc_flg);105+extern int encode_stored_crc(FILE *ifp, FILE *ofp, long size, long *original_size_var, long *write_size_var);106+extern unsigned char *convdelim(unsigned char *path, unsigned char delim);107+extern boolean archive_is_msdos_sfx1(char *name);108+extern boolean skip_msdos_sfx1_code(FILE *fp);109+110+111+/* from lhlist.c */112+extern void cmd_list(void);113+114+115+/* from lhext.c */116+extern void cmd_extract(void);117+extern int is_directory_traversal(char *string);118+119+120+/* from extrac.c */121+extern int decode_lzhuf(FILE *infp, FILE *outfp, long original_size, long packed_size, char *name, int method);122123-extern char *extract_directory;124125/* from slide.c */126+extern int encode_alloc(int method);127+extern void encode(struct interfacing *interface);128+extern void decode(struct interfacing *interface);129130-extern int encode_alloc();131-extern void encode();132-extern void decode();133134/* from append.c */135-extern void start_indicator();136-extern void finish_indicator();137-extern void finish_indicator2();138+extern int encode_lzhuf(FILE *infp, FILE *outfp, long size, long *original_size_var, long *packed_size_var, char *name, char *hdr_method);139+extern void start_indicator(char *name, long size, char *msg, long def_indicator_threshold);140+extern void finish_indicator2(char *name, char *msg, int pcnt);141+extern void finish_indicator(char *name, char *msg);142+143+144+/* from huf.c */145+extern void output_st1(unsigned short c, unsigned short p);146+extern unsigned char *alloc_buf(void);147+extern void encode_start_st1(void);148+extern void encode_end_st1(void);149+extern unsigned short decode_c_st1(void);150+extern unsigned short decode_p_st1(void);151+extern void decode_start_st1(void);152153-/* slide.c */154-extern void output_st1();155-extern unsigned char *alloc_buf();156-extern void encode_start_st1();157-extern void encode_end_st1();158-extern unsigned short decode_c_st1();159-extern unsigned short decode_p_st1();160-extern void decode_start_st1();161162/* from shuf.c */163-extern void decode_start_st0();164-extern void encode_p_st0( /* unsigned short j */ );165-extern void encode_start_fix();166-extern void decode_start_fix();167-extern unsigned short decode_c_st0();168-extern unsigned short decode_p_st0();169+extern void decode_start_st0(void);170+extern void encode_p_st0(unsigned short j);171+extern void encode_start_fix(void);172+extern void decode_start_fix(void);173+extern unsigned short decode_c_st0(void);174+extern unsigned short decode_p_st0(void);175+176177/* from dhuf.c */178-extern void start_c_dyn();179-extern void decode_start_dyn();180-extern unsigned short decode_c_dyn();181-extern unsigned short decode_p_dyn();182-extern void output_dyn( /* int code, unsigned int pos */ );183-extern void encode_end_dyn();184+extern void start_c_dyn(void);185+extern void decode_start_dyn(void);186+extern unsigned short decode_c_dyn(void);187+extern unsigned short decode_p_dyn(void);188+extern void output_dyn(unsigned int code, unsigned int pos);189+extern void encode_end_dyn(void);190191-extern int decode_lzhuf();192193/* from larc.c */194-195-extern unsigned short decode_c_lzs();196-extern unsigned short decode_p_lzs();197-extern unsigned short decode_c_lz5();198-extern unsigned short decode_p_lz5();199-extern void decode_start_lzs();200-extern void decode_start_lz5();201+extern unsigned short decode_c_lzs(void);202+extern unsigned short decode_p_lzs(void);203+extern void decode_start_lzs(void);204+extern unsigned short decode_c_lz5(void);205+extern unsigned short decode_p_lz5(void);206+extern void decode_start_lz5(void);207208extern void make_table( /* int nchar, uchar bitlen[], int tablebits,209ushort table[] */ );210211/* from maketree.c */212-/*213- * void make_code(short n, uchar len[], ushort code[]); short make_tree(short214- * nparm, ushort freqparm[], uchar lenparm[], ushort codeparam[]);215- */216-extern void make_code( /* int n, uchar len[], ushort code[] */ );217-extern short make_tree( /* int nparm, ushort freqparm[], uchar lenparm[],218- ushort codeparam[] */ );219+extern void make_code(int n, unsigned char len[], unsigned short code[]);220+extern short make_tree(int nparm, unsigned short freqparm[], unsigned char lenparm[], unsigned short codeparam[]);221+222223/* from crcio.c */224-extern void make_crctable();225-extern unsigned short calccrc( /* uchar *p, uint n */ );226-extern void fillbuf( /* uchar n */ );227-extern unsigned short getbits( /* uchar n */ );228-extern void putcode( /* uchar n, ushort x */ );229-extern void putbits( /* uchar n, ushort x */ );230-extern int fread_crc( /* uchar *p, int n, FILE *f */ );231-extern void fwrite_crc( /* uchar *p, int n, FILE *f */ );232-extern void init_getbits();233-extern void init_putbits();234-extern void make_crctable();235-extern unsigned short calccrc();236+extern void make_crctable(void);237+extern unsigned short calccrc(unsigned char *p, unsigned int n);238+extern void fillbuf(unsigned char n);239+extern unsigned short getbits(unsigned char n);240+extern void putcode(unsigned char n, unsigned short x);241+extern void putbits(unsigned char n, unsigned short x);242+extern int fread_crc(unsigned char *p, int n, FILE *f);243+extern void fwrite_crc(unsigned char *p, int n, FILE *f);244+extern void init_code_cache(void);245+extern void init_getbits(void);246+extern void init_putbits(void);247+extern int fwrite_txt(unsigned char *p, int n, FILE *fp);248+extern int fread_txt(unsigned char *p, int n, FILE *fp);249+extern unsigned short calc_header_crc(unsigned char *p, unsigned int n);250+251252/* from lhadd.c */253-extern int encode_lzhuf();254-extern int encode_stored_crc();255+extern void cmd_add(void);256+extern void cmd_delete(void);257+extern int strcmp_filename(char *str1, char *str2);258+259260/* Local Variables: */261/* mode:c */262263264