ucspi-ssl  0.99e
TLS encryption for IPv6 communication
byte_diff.c
Go to the documentation of this file.
1 /* Public domain. */
2 
3 #include "byte.h"
4 
5 int byte_diff(register const void *_s,register unsigned int n,register const void *_t)
6 {
7  register const char *s = _s;
8  register const char *t = _t;
9  for (;;) {
10  if (!n) return 0; if (*s != *t) break; ++s; ++t; --n;
11  if (!n) return 0; if (*s != *t) break; ++s; ++t; --n;
12  if (!n) return 0; if (*s != *t) break; ++s; ++t; --n;
13  if (!n) return 0; if (*s != *t) break; ++s; ++t; --n;
14  }
15  return ((int)(unsigned int)(unsigned char) *s)
16  - ((int)(unsigned int)(unsigned char) *t);
17 }
unsigned int
Definition: stralloc.h:10
int byte_diff(register const void *_s, register unsigned int n, register const void *_t)
Definition: byte_diff.c:5