2019-05-08 17:34:30 -07:00
|
|
|
#include <stdio.h>
|
|
|
|
#include <stdlib.h>
|
|
|
|
#include <string.h>
|
|
|
|
|
|
|
|
#define ARGC_ERROR 1
|
2019-05-11 18:36:22 -07:00
|
|
|
#define TOOMANYFILES_ERROR 2
|
|
|
|
#define CONFLICTING_OUTPUT_OPTIONS 3
|
|
|
|
|
2019-05-08 17:34:30 -07:00
|
|
|
#define MAXSTRINGS 1024
|
2019-05-11 18:36:22 -07:00
|
|
|
#define MAXPARAS 4096
|
2019-05-08 17:34:30 -07:00
|
|
|
|
2019-05-11 18:36:22 -07:00
|
|
|
#define HASHLEN 200
|
|
|
|
#define BUFLEN 256
|
2019-05-08 17:34:30 -07:00
|
|
|
|
|
|
|
typedef struct pa pa;
|
|
|
|
struct pa {
|
|
|
|
char** base;
|
|
|
|
int filesize;
|
|
|
|
int start;
|
|
|
|
int stop;
|
|
|
|
};
|
|
|
|
|
|
|
|
FILE *fin1, *fin2;
|
|
|
|
|
2019-05-11 18:36:22 -07:00
|
|
|
const char* files[2] = { NULL, NULL };
|
|
|
|
|
2019-05-08 17:34:30 -07:00
|
|
|
char buf[BUFLEN];
|
|
|
|
char *strings1[MAXSTRINGS], *strings2[MAXSTRINGS];
|
|
|
|
|
2019-05-11 18:36:22 -07:00
|
|
|
int showversion = 0, showbrief = 0, ignorecase = 0, report_identical = 0, showsidebyside = 0;
|
|
|
|
int showleftcolumn = 0, showunified = 0, showcontext = 0, suppresscommon = 0, diffnormal = 0;
|
|
|
|
int showhelp = 0;
|
|
|
|
|
|
|
|
int equal = 0;
|
|
|
|
|
|
|
|
int cnt = 0;
|
|
|
|
int count1 = 0, count2 = 0;
|
|
|
|
|
2019-05-08 17:34:30 -07:00
|
|
|
pa* p;
|
|
|
|
pa* q;
|