macaddr format fix
Hi,
The macaddr datatype understands most formats of MAC address, except 12
hex digits with no separators, eg 00AABBCCDDEE
This is easily remedied with the following patch (against 7.2.1):
--- src/backend/utils/adt/mac.c.old Tue May 28 16:48:34 2002
+++ src/backend/utils/adt/mac.c Tue May 28 16:49:47 2002
@@ -39,6 +39,8 @@
count = sscanf(str, "%x:%x:%x:%x:%x:%x", &a, &b, &c, &d, &e,
&f);
if (count != 6)
+ count = sscanf(str, "%2x%2x%2x%2x%2x%2x", &a, &b, &c,
&d, &e, &f);
+ if (count != 6)
count = sscanf(str, "%x-%x-%x-%x-%x-%x", &a, &b, &c, &d,
&e, &f);
if (count != 6)
count = sscanf(str, "%2x%2x%2x:%2x%2x%2x", &a, &b, &c,
&d, &e, &f);
########################## END ########################################
It simply adds two lines to the current checks, and works very well.
Cheers,
Mike Wyer
--
Mike Wyer <mw@doc.ic.ac.uk> || "Woof?"
http://www.doc.ic.ac.uk/~mw || Gaspode the Wonder Dog
Work: +44 020 7594 8440 ||
Mobile: +44 07900 897543 || ICQ: 43922064
Attachments:
postgresql-7.2.1-macaddr.patchtext/plain; charset=US-ASCII; name=postgresql-7.2.1-macaddr.patchDownload+2-0
Your patch has been added to the PostgreSQL unapplied patches list at:
http://candle.pha.pa.us/cgi-bin/pgpatches
I will try to apply it within the next 48 hours.
---------------------------------------------------------------------------
Mike Wyer wrote:
Hi,
The macaddr datatype understands most formats of MAC address, except 12
hex digits with no separators, eg 00AABBCCDDEE
This is easily remedied with the following patch (against 7.2.1):--- src/backend/utils/adt/mac.c.old Tue May 28 16:48:34 2002 +++ src/backend/utils/adt/mac.c Tue May 28 16:49:47 2002 @@ -39,6 +39,8 @@count = sscanf(str, "%x:%x:%x:%x:%x:%x", &a, &b, &c, &d, &e, &f); if (count != 6) + count = sscanf(str, "%2x%2x%2x%2x%2x%2x", &a, &b, &c, &d, &e, &f); + if (count != 6) count = sscanf(str, "%x-%x-%x-%x-%x-%x", &a, &b, &c, &d, &e, &f); if (count != 6) count = sscanf(str, "%2x%2x%2x:%2x%2x%2x", &a, &b, &c, &d, &e, &f);########################## END ########################################
It simply adds two lines to the current checks, and works very well.
Cheers,
Mike Wyer
--
Mike Wyer <mw@doc.ic.ac.uk> || "Woof?"
http://www.doc.ic.ac.uk/~mw || Gaspode the Wonder Dog
Work: +44 020 7594 8440 ||
Mobile: +44 07900 897543 || ICQ: 43922064
Content-Description: mac.c.diff
[ Attachment, skipping... ]
---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?
--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026
Patch applied. Thanks.
---------------------------------------------------------------------------
Mike Wyer wrote:
Hi,
The macaddr datatype understands most formats of MAC address, except 12
hex digits with no separators, eg 00AABBCCDDEE
This is easily remedied with the following patch (against 7.2.1):--- src/backend/utils/adt/mac.c.old Tue May 28 16:48:34 2002 +++ src/backend/utils/adt/mac.c Tue May 28 16:49:47 2002 @@ -39,6 +39,8 @@count = sscanf(str, "%x:%x:%x:%x:%x:%x", &a, &b, &c, &d, &e, &f); if (count != 6) + count = sscanf(str, "%2x%2x%2x%2x%2x%2x", &a, &b, &c, &d, &e, &f); + if (count != 6) count = sscanf(str, "%x-%x-%x-%x-%x-%x", &a, &b, &c, &d, &e, &f); if (count != 6) count = sscanf(str, "%2x%2x%2x:%2x%2x%2x", &a, &b, &c, &d, &e, &f);########################## END ########################################
It simply adds two lines to the current checks, and works very well.
Cheers,
Mike Wyer
--
Mike Wyer <mw@doc.ic.ac.uk> || "Woof?"
http://www.doc.ic.ac.uk/~mw || Gaspode the Wonder Dog
Work: +44 020 7594 8440 ||
Mobile: +44 07900 897543 || ICQ: 43922064
Content-Description: mac.c.diff
[ Attachment, skipping... ]
---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?
--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026