/* $Id: checksum.c 3956 2010-01-05 20:56:56Z zacheiss $ * * Copyright (C) 1988-1998 by the Massachusetts Institute of Technology. * For copying and distribution information, please see the file * . */ #include #include #include "update_server.h" #include RCSID("$HeadURL: svn+ssh://svn.mit.edu/moira/trunk/moira/update/checksum.c $ $Id: checksum.c 3956 2010-01-05 20:56:56Z zacheiss $"); /* * checksum_fd(fd) * returns 24-bit checksum of bytes in file */ long checksum_file(char *path) { long sum; int ch; FILE *f; sum = 0; f = fopen(path, "r"); while ((ch = getc(f)) != EOF) sum = (sum + ch) & ((1 << 24) - 1); fclose(f); return sum; }