Warning: Attempt to read property "date" on null in /usr/local/www/websvn.planix.org/blame.php on line 247

Warning: Attempt to read property "msg" on null in /usr/local/www/websvn.planix.org/blame.php on line 247
WebSVN – planix.SVN – Blame – /os/branches/feature_posix/sys/src/libsec/port/tsmemcmp.c – Rev 33

Subversion Repositories planix.SVN

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
26 7u83 1
#include "os.h"
2
#include <libsec.h>
3
 
4
/*
5
 * timing safe memcmp()
6
 */
7
int
8
tsmemcmp(void *a1, void *a2, ulong n)
9
{
10
	int lt, gt, c1, c2, r, m;
11
	uchar *s1, *s2;
12
 
13
	r = m = 0;
14
	s1 = a1;
15
	s2 = a2;
16
	while(n--){
17
		c1 = *s1++;
18
		c2 = *s2++;
19
		lt = (c1 - c2) >> 8;
20
		gt = (c2 - c1) >> 8;
21
		r |= (lt - gt) & ~m;
22
		m |= lt | gt;
23
	}
24
	return r;
25
}