diff options
-rw-r--r-- | mysys/my_gethwaddr.c | 19 | ||||
-rw-r--r-- | storage/spider/mysql-test/spider/t/partition_mrr.test | 6 |
2 files changed, 17 insertions, 8 deletions
diff --git a/mysys/my_gethwaddr.c b/mysys/my_gethwaddr.c index 46b62a0166d..0fa4fb2f995 100644 --- a/mysys/my_gethwaddr.c +++ b/mysys/my_gethwaddr.c @@ -23,7 +23,7 @@ #ifndef MAIN -#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__linux__) || defined(__sun) || defined(_WIN32) +#if defined(_AIX) || defined(__APPLE__) || defined(__FreeBSD__) || defined(__linux__) || defined(__sun) || defined(_WIN32) static my_bool memcpy_and_test(uchar *to, uchar *from, uint len) { uint i, res= 1; @@ -74,7 +74,7 @@ err: return res; } -#elif defined(__linux__) || defined(__sun) +#elif defined(_AIX) || defined(__linux__) || defined(__sun) #include <net/if.h> #include <sys/ioctl.h> #include <net/if_arp.h> @@ -87,11 +87,15 @@ err: my_bool my_gethwaddr(uchar *to) { int fd, res= 1; +#ifdef _AIX + struct ifhwaddr_req ifr[32]; +#else struct ifreq ifr[32]; +#endif struct ifconf ifc; DBUG_ENTER("my_gethwaddr"); - ifc.ifc_req= ifr; + ifc.ifc_req= (struct ifreq *) ifr; ifc.ifc_len= sizeof(ifr); fd = socket(AF_INET, SOCK_DGRAM, 0); @@ -106,9 +110,14 @@ my_bool my_gethwaddr(uchar *to) uint i; for (i= 0; res && i < ifc.ifc_len / sizeof(ifr[0]); i++) { -#ifdef __linux__ +#if !defined(_AIX) || !defined(__linux__) +#if defined(__linux___) +#define HWADDR_DATA ifr[i].ifr_hwaddr.sa_data +#else +#define HWADDR_DATA ifr[i].ifr_hwaddr +#endif if (ioctl(fd, SIOCGIFHWADDR, &ifr[i]) >= 0) - res= memcpy_and_test(to, (uchar *)&ifr[i].ifr_hwaddr.sa_data, + res= memcpy_and_test(to, (uchar *)&HWADDR_DATA, ETHER_ADDR_LEN); #else /* diff --git a/storage/spider/mysql-test/spider/t/partition_mrr.test b/storage/spider/mysql-test/spider/t/partition_mrr.test index 2816d65cadb..710e2781242 100644 --- a/storage/spider/mysql-test/spider/t/partition_mrr.test +++ b/storage/spider/mysql-test/spider/t/partition_mrr.test @@ -179,21 +179,21 @@ if ($USE_CHILD_GROUP2) --connection child2_1 if ($USE_GENERAL_LOG) { ---replace_regex /tmp_spider_bka_0x[0-9a-f]*/tmp_spider_bka_xxxx/ +--replace_regex /tmp_spider_bka_(0x)?[0-9a-f]*/tmp_spider_bka_xxxx/ eval $CHILD2_1_SELECT_ARGUMENT1; } eval $CHILD2_1_SELECT_TABLES; --connection child2_2 if ($USE_GENERAL_LOG) { ---replace_regex /tmp_spider_bka_0x[0-9a-f]*/tmp_spider_bka_xxxx/ +--replace_regex /tmp_spider_bka_(0x)?[0-9a-f]*/tmp_spider_bka_xxxx/ eval $CHILD2_2_SELECT_ARGUMENT1; } eval $CHILD2_2_SELECT_TABLES; --connection child2_3 if ($USE_GENERAL_LOG) { ---replace_regex /tmp_spider_bka_0x[0-9a-f]*/tmp_spider_bka_xxxx/ +--replace_regex /tmp_spider_bka_(0x)?[0-9a-f]*/tmp_spider_bka_xxxx/ eval $CHILD2_3_SELECT_ARGUMENT1; } eval $CHILD2_3_SELECT_TABLES; |