diff -up foremost-1.5.7/api.c.me foremost-1.5.7/api.c --- foremost-1.5.7/api.c.me 2020-02-06 14:15:48.218200745 +0100 +++ foremost-1.5.7/api.c 2020-02-06 14:16:42.624853860 +0100 @@ -20,6 +20,7 @@ int currFATblk; int highblk = 0; int block_list[OUR_BLK_SIZE / sizeof(int)]; extern int errno; +struct DIRECTORY *dirlist, *dl; /*Inititialize those globals used by extract_ole*/ void init_ole() diff -up foremost-1.5.7/extract.c.me foremost-1.5.7/extract.c --- foremost-1.5.7/extract.c.me 2020-02-06 14:10:30.446386101 +0100 +++ foremost-1.5.7/extract.c 2020-02-06 14:15:14.736798823 +0100 @@ -25,6 +25,7 @@ extern char *extract_name; extern int extract; extern int FATblk; extern int highblk; +extern struct DIRECTORY *dirlist, *dl; /******************************************************************************** *Function: extract_zip diff -up foremost-1.5.7/main.h.me foremost-1.5.7/main.h --- foremost-1.5.7/main.h.me 2020-02-06 13:48:46.923922983 +0100 +++ foremost-1.5.7/main.h 2020-02-06 13:50:08.001849830 +0100 @@ -292,7 +292,7 @@ char *__progname; /* ----------------------------------------------------------------- State Variable and Global Variables ----------------------------------------------------------------- */ -char wildcard; +extern char wildcard; typedef struct f_state { off_t mode; @@ -344,7 +344,7 @@ typedef struct s_spec int written; /*used for -a mode*/ }s_spec; -s_spec search_spec[50]; /*ARRAY OF BUILTIN SEARCH TYPES*/ +extern s_spec search_spec[50]; /*ARRAY OF BUILTIN SEARCH TYPES*/ typedef struct f_info { char *file_name; @@ -367,7 +367,7 @@ typedef struct f_info { } f_info; /* Set if the user hits ctrl-c */ -int signal_caught; +extern int signal_caught; /* ----------------------------------------------------------------- Function definitions @@ -433,7 +433,7 @@ off_t find_file_size(FILE *f); char *human_readable(off_t size, char *buffer); char *units(unsigned int c); unsigned int chop(char *buf); -void print_search_specs(f_state *s); +extern void print_search_specs(f_state *s); int memwildcardcmp(const void *s1, const void *s2,size_t n,int caseSensitive); int charactersMatch(char a, char b, int caseSensitive); void printx(unsigned char* buf,int start, int end); diff -up foremost-1.5.7/ole.h.me foremost-1.5.7/ole.h --- foremost-1.5.7/ole.h.me 2020-02-06 14:08:16.524783353 +0100 +++ foremost-1.5.7/ole.h 2020-02-06 14:10:02.954056080 +0100 @@ -84,8 +84,8 @@ struct DIRECTORY int s2; int d1; int d2; -} -*dirlist, *dl; +}; + int get_dir_block(unsigned char *fd, int blknum, int buffersize); int get_dir_info(unsigned char *src); diff -up foremost-1.5.7/state.c.me foremost-1.5.7/state.c --- foremost-1.5.7/state.c.me 2020-02-06 14:06:44.514684887 +0100 +++ foremost-1.5.7/state.c 2020-02-06 14:08:03.329625827 +0100 @@ -2,6 +2,9 @@ #include "main.h" +s_spec search_spec[50]; +char wildcard; + int initialize_state (f_state * s, int argc, char **argv) { char **argv_copy = argv; diff -up foremost-1.5.7/main.c.me foremost-1.5.7/main.c --- foremost-1.5.7/main.c.me 2020-02-06 14:20:09.918342282 +0100 +++ foremost-1.5.7/main.c 2020-02-06 14:20:42.531733786 +0100 @@ -15,6 +15,7 @@ * */ #include "main.h" +int signal_caught; #ifdef __WIN32