+static char *sccsid = "@(#)sort.c 4.2 (Berkeley) 10/9/80";
#include <stdio.h>
#include <ctype.h>
#include <signal.h>
exit(1);
}
close(a);
- signal(SIGHUP, term);
+ unlink(file);
+ if (signal(SIGHUP, SIG_IGN) != SIG_IGN)
+ signal(SIGHUP, term);
if (signal(SIGINT, SIG_IGN) != SIG_IGN)
signal(SIGINT, term);
signal(SIGPIPE,term);
- signal(SIGTERM,term);
+ if (signal(SIGTERM, SIG_IGN) != SIG_IGN)
+ signal(SIGTERM,term);
nfiles = eargc;
if(!mflg && !cflg) {
sort();
for(i=eargc; i<=nfiles; i++) { /*<= in case of interrupt*/
unlink(setfil(i)); /*with nfiles not updated*/
}
- exit(error);
+ _exit(error);
}
cmp(i, j)
lb = eol(pb);
}
if(fp->nflg) {
+ if(tabchar) {
+ if(pa<la&&*pa==tabchar)
+ pa++;
+ if(pb<lb&&*pb==tabchar)
+ pb++;
+ }
while(blank(*pa))
pa++;
while(blank(*pb))
if(*p != '\n')
p++;
else goto ret;
- p++;
+ if(i>0||j==0)
+ p++;
} else {
while(blank(*p))
p++;
else goto ret;
}
}
- if(fp->bflg[j])
+ if(tabchar==0&&fp->bflg[j])
while(blank(*p))
p++;
i = fp->n[j];