Mercurial > hg > Applications > mh
view sbr/fdcompare.c @ 12:441a2190cfae
Lion fix
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 21 Apr 2012 13:10:49 +0900 |
parents | bce86c4163a3 |
children |
line wrap: on
line source
/* fdcompare.c - are two files identical? */ #ifndef lint static char Id[] = "@(#)$Id: fdcompare.c,v 1.1.1.1 2005/04/18 14:46:06 kono Exp $"; #endif #include "../h/mh.h" #include <stdio.h> #include <sys/types.h> /* for off_t */ off_t lseek(); fdcompare (fd1, fd2) register int fd1, fd2; { register int i, n1, n2, resp; register char *c1, *c2; char b1[BUFSIZ], b2[BUFSIZ]; resp = 1; while ((n1 = read (fd1, b1, sizeof b1)) >= 0 && (n2 = read (fd2, b2, sizeof b2)) >= 0 && n1 == n2) { c1 = b1; c2 = b2; for (i = n1 < sizeof b1 ? n1 : sizeof b1; i--;) if (*c1++ != *c2++) { resp = 0; goto leave; } if (n1 < sizeof b1) goto leave; } resp = 0; leave: ; (void) lseek (fd1, (off_t)0, 0); (void) lseek (fd2, (off_t)0, 0); return resp; }