version 1.5, 1997/06/30 04:24:40 |
version 1.6, 1997/06/30 05:36:17 |
|
|
typedef struct mfile { |
typedef struct mfile { |
u_char *end; |
u_char *end; |
short flno; |
short flno; |
struct recheader rec[1]; |
RECHEADER rec[1]; |
} MFILE; |
} MFILE; |
typedef struct tmfile { |
typedef struct tmfile { |
u_char *end; |
u_char *end; |
short flno; |
short flno; |
struct trecheader rec[1]; |
TRECHEADER rec[1]; |
} TMFILE; |
} TMFILE; |
u_char *wts, *wts1 = 0; |
u_char *wts, *wts1 = 0; |
struct mfile *cfilebuf; |
struct mfile *cfilebuf; |
|
|
static int cmp __P((struct recheader *, struct recheader *)); |
static int cmp __P((RECHEADER *, RECHEADER *)); |
static int insert __P((struct mfile **, struct mfile **, int, int)); |
static int insert __P((struct mfile **, struct mfile **, int, int)); |
|
|
void |
void |
|
|
{ |
{ |
FILE *tout; |
FILE *tout; |
int i, j, last; |
int i, j, last; |
void (*put)(struct recheader *, FILE *); |
void (*put)(RECHEADER *, FILE *); |
extern int geteasy(); |
extern int geteasy(); |
struct tempfile *l_fstack; |
struct tempfile *l_fstack; |
|
|
|
|
merge(infl0, nfiles, get, outfp, put, ftbl) |
merge(infl0, nfiles, get, outfp, put, ftbl) |
int infl0, nfiles; |
int infl0, nfiles; |
int (*get)(); |
int (*get)(); |
void (*put)(struct recheader *, FILE *); |
void (*put)(RECHEADER *, FILE *); |
FILE *outfp; |
FILE *outfp; |
struct field *ftbl; |
struct field *ftbl; |
{ |
{ |
|
|
{ |
{ |
u_char *end; |
u_char *end; |
int c; |
int c; |
struct recheader *crec, *prec, *trec; |
RECHEADER *crec, *prec, *trec; |
|
|
if (!SINGL_FLD) |
if (!SINGL_FLD) |
linebuf = malloc(MAXLLEN); |
linebuf = malloc(MAXLLEN); |
|
|
|
|
static int |
static int |
cmp(rec1, rec2) |
cmp(rec1, rec2) |
struct recheader *rec1, *rec2; |
RECHEADER *rec1, *rec2; |
{ |
{ |
register r; |
register r; |
register u_char *pos1, *pos2, *end; |
register u_char *pos1, *pos2, *end; |