aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/mac.c
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>1999-03-22 05:00:57 +0000
committerBruce Momjian <bruce@momjian.us>1999-03-22 05:00:57 +0000
commit53d52a685a905dfffd72d07d4e0d6cb925b7ce3b (patch)
treea929b7fb7b755392a65daec3aa571a690f2e378b /src/backend/utils/adt/mac.c
parent419b91c058b4c81b2c3e41b0f81226ed3990cf07 (diff)
downloadpostgresql-53d52a685a905dfffd72d07d4e0d6cb925b7ce3b.tar.gz
postgresql-53d52a685a905dfffd72d07d4e0d6cb925b7ce3b.zip
Cleanup of NULL in inet types.
Diffstat (limited to 'src/backend/utils/adt/mac.c')
-rw-r--r--src/backend/utils/adt/mac.c24
1 files changed, 16 insertions, 8 deletions
diff --git a/src/backend/utils/adt/mac.c b/src/backend/utils/adt/mac.c
index c4a43f39dcf..957292af8ea 100644
--- a/src/backend/utils/adt/mac.c
+++ b/src/backend/utils/adt/mac.c
@@ -1,7 +1,7 @@
/*
* PostgreSQL type definitions for MAC addresses.
*
- * $Id: mac.c,v 1.6 1998/10/26 01:01:36 tgl Exp $
+ * $Id: mac.c,v 1.7 1999/03/22 05:00:57 momjian Exp $
*/
#include <stdio.h>
@@ -156,7 +156,6 @@ macaddr_in(char *str)
if (strlen(str) > 0)
{
-
count = sscanf(str, "%x:%x:%x:%x:%x:%x", &a, &b, &c, &d, &e, &f);
if (count != 6)
count = sscanf(str, "%x-%x-%x-%x-%x-%x", &a, &b, &c, &d, &e, &f);
@@ -168,18 +167,12 @@ macaddr_in(char *str)
count = sscanf(str, "%2x%2x.%2x%2x.%2x%2x", &a, &b, &c, &d, &e, &f);
if (count != 6)
- {
elog(ERROR, "macaddr_in: error in parsing \"%s\"", str);
- return (NULL);
- }
if ((a < 0) || (a > 255) || (b < 0) || (b > 255) ||
(c < 0) || (c > 255) || (d < 0) || (d > 255) ||
(e < 0) || (e > 255) || (f < 0) || (f > 255))
- {
elog(ERROR, "macaddr_in: illegal address \"%s\"", str);
- return (NULL);
- }
}
else
{
@@ -232,6 +225,8 @@ macaddr_out(macaddr *addr)
bool
macaddr_lt(macaddr *a1, macaddr *a2)
{
+ if (!PointerIsValid(a1) || !PointerIsValid(a2))
+ return FALSE;
return ((hibits(a1) < hibits(a2)) ||
((hibits(a1) == hibits(a2)) && lobits(a1) < lobits(a2)));
}
@@ -239,6 +234,8 @@ macaddr_lt(macaddr *a1, macaddr *a2)
bool
macaddr_le(macaddr *a1, macaddr *a2)
{
+ if (!PointerIsValid(a1) || !PointerIsValid(a2))
+ return FALSE;
return ((hibits(a1) < hibits(a2)) ||
((hibits(a1) == hibits(a2)) && lobits(a1) <= lobits(a2)));
}
@@ -246,12 +243,16 @@ macaddr_le(macaddr *a1, macaddr *a2)
bool
macaddr_eq(macaddr *a1, macaddr *a2)
{
+ if (!PointerIsValid(a1) || !PointerIsValid(a2))
+ return FALSE;
return ((hibits(a1) == hibits(a2)) && (lobits(a1) == lobits(a2)));
}
bool
macaddr_ge(macaddr *a1, macaddr *a2)
{
+ if (!PointerIsValid(a1) || !PointerIsValid(a2))
+ return FALSE;
return ((hibits(a1) > hibits(a2)) ||
((hibits(a1) == hibits(a2)) && lobits(a1) >= lobits(a2)));
}
@@ -259,6 +260,8 @@ macaddr_ge(macaddr *a1, macaddr *a2)
bool
macaddr_gt(macaddr *a1, macaddr *a2)
{
+ if (!PointerIsValid(a1) || !PointerIsValid(a2))
+ return FALSE;
return ((hibits(a1) > hibits(a2)) ||
((hibits(a1) == hibits(a2)) && lobits(a1) > lobits(a2)));
}
@@ -266,6 +269,8 @@ macaddr_gt(macaddr *a1, macaddr *a2)
bool
macaddr_ne(macaddr *a1, macaddr *a2)
{
+ if (!PointerIsValid(a1) || !PointerIsValid(a2))
+ return FALSE;
return ((hibits(a1) != hibits(a2)) || (lobits(a1) != lobits(a2)));
}
@@ -299,6 +304,9 @@ macaddr_manuf(macaddr *addr)
int length;
text *result;
+ if (!PointerIsValid(addr))
+ return NULL;
+
for (manuf = manufacturers; manuf->name != NULL; manuf++)
{
if ((manuf->a == addr->a) &&