safemult_uint(): return bool
This commit is contained in:
parent
b88e97f193
commit
7b5a1bbe3c
|
@ -12,7 +12,7 @@
|
||||||
|
|
||||||
#include "array.h"
|
#include "array.h"
|
||||||
|
|
||||||
static char UNUSED id[] = "$Id: array.c,v 1.1 2005/07/07 18:38:14 fw Exp $";
|
static char UNUSED id[] = "$Id: array.c,v 1.2 2005/07/07 21:26:31 fw Exp $";
|
||||||
|
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
|
||||||
|
@ -28,23 +28,23 @@ static char UNUSED id[] = "$Id: array.c,v 1.1 2005/07/07 18:38:14 fw Exp $";
|
||||||
#define ALIGN_4096U(x) ((x | 0xfffU) +1)
|
#define ALIGN_4096U(x) ((x | 0xfffU) +1)
|
||||||
|
|
||||||
|
|
||||||
static int
|
static bool
|
||||||
safemult_uint(unsigned int a, unsigned int b, unsigned int *res)
|
safemult_uint(unsigned int a, unsigned int b, unsigned int *res)
|
||||||
{
|
{
|
||||||
unsigned int tmp;
|
unsigned int tmp;
|
||||||
|
|
||||||
if (!a || !b) {
|
if (!a || !b) {
|
||||||
*res = 0;
|
*res = 0;
|
||||||
return 1;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
tmp = a * b;
|
tmp = a * b;
|
||||||
|
|
||||||
if (tmp / b != a)
|
if (tmp / b != a)
|
||||||
return 0;
|
return false;
|
||||||
|
|
||||||
*res = tmp;
|
*res = tmp;
|
||||||
return 1;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue