4577739 [rkeene@sledge /home/rkeene/devel/dact-0.8.37]$ cat -n crc.c
 1 /*
 2  * Copyright (C) 2001, 2002, and 2003  Roy Keene
 3  *
 4  * This program is free software; you can redistribute it and/or
 5  * modify it under the terms of the GNU General Public License
 6  * as published by the Free Software Foundation; either version 2
 7  * of the License, or (at your option) any later version.
 8  *
 9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
17  *
18  *      email: dact@rkeene.org
19  */
20 
21 #include "dact.h"
22 #include "crc.h"
23 
24 uint32_t ELFCRC(const uint32_t start, const unsigned char *name, const uint32_t n) {
25     uint32_t i,h,g;
26 
27     h=start;
28     for (i=0;i<n;i++) {
29         h = (h << 4) + (*name++);
30         if ((g = (h & 0xf0000000)))
31             h ^= (g >> 24);
32         h &= ~g;
33     }
34 
35     return(h);
36 }
4577740 [rkeene@sledge /home/rkeene/devel/dact-0.8.37]$

Click here to go back to the directory listing.
Click here to download this file.
last modified: 2004-04-04 07:01:51