summaryrefslogtreecommitdiff
path: root/mysys/my_gethwaddr.c
diff options
context:
space:
mode:
authorDavi Arnaut <Davi.Arnaut@Sun.COM>2010-05-31 12:29:54 -0300
committerDavi Arnaut <Davi.Arnaut@Sun.COM>2010-05-31 12:29:54 -0300
commita8c288054efb4de42cefa5bf06bcb487171ed9d3 (patch)
treebbbd0851e788a87bdf80dacc828f8de102b381b4 /mysys/my_gethwaddr.c
parente5bcb6f36ae784fb794a3363acf8ba75f937ca8b (diff)
downloadmariadb-git-a8c288054efb4de42cefa5bf06bcb487171ed9d3.tar.gz
Bug#53445: Build with -Wall and fix warnings that it generates
Fix various mismatches between function's language linkage. Any particular function that is declared in C++ but should be callable from C must have C linkage. Note that function types with different linkages are also distinct. Thus, if a function type is declared in C code, it will have C linkage (same if declared in a extern "C" block). client/mysql.cc: Mismatch between prototype and declaration. client/mysqltest.cc: mysqltest used to be C code. Use C linkage where appropriate. cmd-line-utils/readline/input.c: Isolate unreachable code. include/my_alloc.h: Function type must have C linkage. include/my_base.h: Function type must have C linkage. include/my_global.h: Add helper macros to avoid spurious namespace indentation. include/mysql.h.pp: Update ABI file. mysys/my_gethwaddr.c: Remove stray carriage return and fix coding style. plugin/semisync/semisync_master_plugin.cc: Callback function types have C linkage. plugin/semisync/semisync_slave_plugin.cc: Callback function types have C linkage. sql/derror.cc: Expected function type has C linkage. sql/field.cc: Use helper macro and fix indentation. sql/handler.cc: Expected function type has C linkage. sql/item_sum.cc: Correct function linkages. Remove now unnecessary cast. sql/item_sum.h: Add prototypes with the appropriate linkage as otherwise they are distinct. sql/mysqld.cc: Wrap functions in C linkage mode. sql/opt_range.cc: C language linkage is ignored for class member functions. sql/partition_info.cc: Add wrapper functions with C linkage for class member functions. sql/rpl_utility.h: Use helper macro and fix indentation. sql/sql_class.cc: Change type of thd argument -- THD is a class. Use helper macro and fix indentation. sql/sql_class.h: Change type of thd argument -- THD is a class. sql/sql_select.cc: Expected function type has C linkage. sql/sql_select.h: Move prototype to sql_test.h sql/sql_show.cc: Expected function type has C linkage. sql/sql_test.cc: Fix required function prototype and fix coding style. sql/sql_test.h: Removed unnecessary export and add another. storage/myisammrg/ha_myisammrg.cc: Expected function type has C linkage. storage/perfschema/pfs.cc: PSI headers are declared with C language linkage, which also applies to function types.
Diffstat (limited to 'mysys/my_gethwaddr.c')
-rw-r--r--mysys/my_gethwaddr.c56
1 files changed, 29 insertions, 27 deletions
diff --git a/mysys/my_gethwaddr.c b/mysys/my_gethwaddr.c
index 38fa0313c5d..c6a7af58f57 100644
--- a/mysys/my_gethwaddr.c
+++ b/mysys/my_gethwaddr.c
@@ -102,47 +102,49 @@ err:
}
#elif defined(__WIN__)
-
-/* Workaround for BUG#32082 (Definition of VOID in my_global.h conflicts with
-windows headers) */
-#ifdef VOID
-#undef VOID
-#define VOID void
-#endif
+
+/*
+ Workaround for BUG#32082 (Definition of VOID in my_global.h conflicts with
+ windows headers)
+*/
+#ifdef VOID
+#undef VOID
+#define VOID void
+#endif
#include <iphlpapi.h>
-/*
- The following typedef is for dynamically loading
- iphlpapi.dll / GetAdaptersAddresses. Dynamic loading is
- used because GetAdaptersAddresses is not available on Windows 2000
- which MySQL still supports. Static linking would cause an unresolved export.
+/*
+ The following typedef is for dynamically loading iphlpapi.dll /
+ GetAdaptersAddresses. Dynamic loading is used because
+ GetAdaptersAddresses is not available on Windows 2000 which MySQL
+ still supports. Static linking would cause an unresolved export.
*/
typedef DWORD (WINAPI *pfnGetAdaptersAddresses)(IN ULONG Family,
IN DWORD Flags,IN PVOID Reserved,
- OUT PIP_ADAPTER_ADDRESSES pAdapterAddresses,
+ OUT PIP_ADAPTER_ADDRESSES pAdapterAddresses,
IN OUT PULONG pOutBufLen);
/*
- my_gethwaddr - Windows version
+ my_gethwaddr - Windows version
@brief Retrieve MAC address from network hardware
-
+
@param[out] to MAC address exactly six bytes
-
+
@return Operation status
@retval 0 OK
- @retval <>0 FAILED
+ @retval <>0 FAILED
*/
my_bool my_gethwaddr(uchar *to)
-{
+{
PIP_ADAPTER_ADDRESSES pAdapterAddresses;
PIP_ADAPTER_ADDRESSES pCurrAddresses;
IP_ADAPTER_ADDRESSES adapterAddresses;
ULONG address_len;
- my_bool return_val= 1;
- static pfnGetAdaptersAddresses fnGetAdaptersAddresses=
- (pfnGetAdaptersAddresses)-1;
+ my_bool return_val= 1;
+ static pfnGetAdaptersAddresses fnGetAdaptersAddresses=
+ (pfnGetAdaptersAddresses)-1;
if(fnGetAdaptersAddresses == (pfnGetAdaptersAddresses)-1)
{
@@ -156,7 +158,7 @@ my_bool my_gethwaddr(uchar *to)
address_len= sizeof (IP_ADAPTER_ADDRESSES);
/* Get the required size for the address data. */
- if (fnGetAdaptersAddresses(AF_UNSPEC, 0, 0, &adapterAddresses, &address_len)
+ if (fnGetAdaptersAddresses(AF_UNSPEC, 0, 0, &adapterAddresses, &address_len)
== ERROR_BUFFER_OVERFLOW)
{
pAdapterAddresses= my_malloc(address_len, 0);
@@ -167,29 +169,29 @@ my_bool my_gethwaddr(uchar *to)
pAdapterAddresses= &adapterAddresses; /* one is enough don't alloc */
/* Get the hardware info. */
- if (fnGetAdaptersAddresses(AF_UNSPEC, 0, 0, pAdapterAddresses, &address_len)
+ if (fnGetAdaptersAddresses(AF_UNSPEC, 0, 0, pAdapterAddresses, &address_len)
== NO_ERROR)
{
pCurrAddresses= pAdapterAddresses;
- while (pCurrAddresses)
+ while (pCurrAddresses)
{
/* Look for ethernet cards. */
if (pCurrAddresses->IfType == IF_TYPE_ETHERNET_CSMACD)
{
/* check for a good address */
if (pCurrAddresses->PhysicalAddressLength < 6)
- continue; /* bad address */
+ continue; /* bad address */
/* save 6 bytes of the address in the 'to' parameter */
memcpy(to, pCurrAddresses->PhysicalAddress, 6);
/* Network card found, we're done. */
return_val= 0;
- break;
+ break;
}
pCurrAddresses= pCurrAddresses->Next;
- }
+ }
}
/* Clean up memory allocation. */