diff options
Diffstat (limited to 'isisd/iso_checksum.c')
| -rw-r--r-- | isisd/iso_checksum.c | 65 |
1 files changed, 32 insertions, 33 deletions
diff --git a/isisd/iso_checksum.c b/isisd/iso_checksum.c index 294fe9942d..43124fb2f4 100644 --- a/isisd/iso_checksum.c +++ b/isisd/iso_checksum.c @@ -3,21 +3,21 @@ * ISO checksum related routines * * Copyright (C) 2001,2002 Sampo Saaristo - * Tampere University of Technology + * Tampere University of Technology * Institute of Communications Engineering * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public Licenseas published by the Free - * Software Foundation; either version 2 of the License, or (at your option) + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public Licenseas published by the Free + * Software Foundation; either version 2 of the License, or (at your option) * any later version. * - * This program is distributed in the hope that it will be useful,but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * This program is distributed in the hope that it will be useful,but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for * more details. - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ @@ -33,7 +33,7 @@ * sum a (mod 255) = 0 * 1 i * - * L + * L * sum (L-i+1)a (mod 255) = 0 * 1 i * @@ -45,33 +45,32 @@ * Based on Annex C.4 of ISO/IEC 8473 */ -int -iso_csum_verify (u_char * buffer, int len, uint16_t * csum) +int iso_csum_verify(u_char *buffer, int len, uint16_t *csum) { - u_int16_t checksum; - u_int32_t c0; - u_int32_t c1; + u_int16_t checksum; + u_int32_t c0; + u_int32_t c1; - c0 = *csum & 0xff00; - c1 = *csum & 0x00ff; + c0 = *csum & 0xff00; + c1 = *csum & 0x00ff; - /* - * If both are zero return correct - */ - if (c0 == 0 && c1 == 0) - return 0; + /* + * If both are zero return correct + */ + if (c0 == 0 && c1 == 0) + return 0; - /* - * If either, but not both are zero return incorrect - */ - if (c0 == 0 || c1 == 0) - return 1; + /* + * If either, but not both are zero return incorrect + */ + if (c0 == 0 || c1 == 0) + return 1; - /* Offset of checksum from the start of the buffer */ - int offset = (u_char *) csum - buffer; + /* Offset of checksum from the start of the buffer */ + int offset = (u_char *)csum - buffer; - checksum = fletcher_checksum(buffer, len, offset); - if (checksum == *csum) - return 0; - return 1; + checksum = fletcher_checksum(buffer, len, offset); + if (checksum == *csum) + return 0; + return 1; } |
