[Libreoffice-commits] core.git: include/osl odk/Package_odk_headers.mk sal/Library_sal.mk sal/osl

Arnaud Versini arnaud.versini at libreoffice.org
Mon Sep 30 09:26:53 PDT 2013


 include/osl/util.h         |   50 ------
 odk/Package_odk_headers.mk |    1 
 sal/Library_sal.mk         |    2 
 sal/osl/all/compat.cxx     |    4 
 sal/osl/unx/profile.c      |    1 
 sal/osl/unx/system.c       |  145 +++++++++++++++++++
 sal/osl/unx/util.c         |  341 ---------------------------------------------
 sal/osl/w32/profile.cxx    |    1 
 sal/osl/w32/util.c         |   30 ---
 9 files changed, 149 insertions(+), 426 deletions(-)

New commits:
commit c850f000e77eac488347f8fb519e5ffe5afb28cf
Author: Arnaud Versini <arnaud.versini at libreoffice.org>
Date:   Sat Sep 28 19:06:15 2013 +0200

    API CHANGE: Remove osl_getEthernetAddress and osl/util.h .
    
    Also move osl/util.c on Unix systems to osl/system.c.
    
    Change-Id: Ifff79d9f4f89ecbb4e0e1652b40ab46b7d569adf
    Reviewed-on: https://gerrit.libreoffice.org/6065
    Tested-by: Arnaud Versini <arnaud.versini at libreoffice.org>
    Reviewed-by: Arnaud Versini <arnaud.versini at libreoffice.org>

diff --git a/include/osl/util.h b/include/osl/util.h
deleted file mode 100644
index e9afe39..0000000
--- a/include/osl/util.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-
-#ifndef _OSL_UTIL_H_
-#define _OSL_UTIL_H_
-
-#include "sal/config.h"
-
-#include "sal/saldllapi.h"
-#include "sal/types.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
-    @param pEthernetAddr 6 bytes of memory
-
-    @return sal_True  if the ethernetaddress could be retrieved. <br>
-            sal_False if no address could be found. This may be either because
-           there is no ethernet card or there is no appropriate algorithm
-           implemented on the platform. In this case, pEthernetAddr is
-           unchanged.
-*/
-SAL_DLLPUBLIC sal_Bool SAL_CALL osl_getEthernetAddress( sal_uInt8 *pEthernetAddr );
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/odk/Package_odk_headers.mk b/odk/Package_odk_headers.mk
index 3a05a01..be6ff26 100644
--- a/odk/Package_odk_headers.mk
+++ b/odk/Package_odk_headers.mk
@@ -118,7 +118,6 @@ $(eval $(call gb_Package_add_files_with_dir,odk_headers,$(SDKDIRNAME)/include,\
 	osl/thread.h \
 	osl/thread.hxx \
 	osl/time.h \
-	osl/util.h \
 	rtl/alloc.h \
 	rtl/allocator.hxx \
 	rtl/bootstrap.h \
diff --git a/sal/Library_sal.mk b/sal/Library_sal.mk
index f22bac2..86f7289 100644
--- a/sal/Library_sal.mk
+++ b/sal/Library_sal.mk
@@ -179,7 +179,6 @@ $(eval $(call gb_Library_add_cobjects,sal,\
 	sal/osl/unx/tempfile \
 	sal/osl/unx/thread \
 	sal/osl/unx/time \
-	sal/osl/unx/util \
 ))
 $(eval $(call gb_Library_add_cobject,sal,sal/osl/unx/signal, \
 	$(if $(filter $(ENABLE_CRASHDUMP),YES)$(filter $(ENABLE_DBGUTIL),TRUE), \
@@ -256,7 +255,6 @@ $(eval $(call gb_Library_add_cobjects,sal,\
 	sal/osl/w32/security \
 	sal/osl/w32/thread \
 	sal/osl/w32/time \
-	sal/osl/w32/util \
 ))
 
 endif # ifneq ($(OS),WNT)
diff --git a/sal/osl/all/compat.cxx b/sal/osl/all/compat.cxx
index 2f86771..efe7877 100644
--- a/sal/osl/all/compat.cxx
+++ b/sal/osl/all/compat.cxx
@@ -31,6 +31,10 @@ SAL_DLLPUBLIC_EXPORT void SAL_CALL osl_destroySemaphore(void *) {
     std::abort();
 }
 
+SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL osl_getEthernetAddress(sal_uInt8 *) {
+    for (;;) { std::abort(); } // avoid "must return a value" warnings
+}
+
 SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL osl_releaseSemaphore(void *) {
     for (;;) { std::abort(); } // avoid "must return a value" warnings
 }
diff --git a/sal/osl/unx/profile.c b/sal/osl/unx/profile.c
index a1de729..c9aca5e 100644
--- a/sal/osl/unx/profile.c
+++ b/sal/osl/unx/profile.c
@@ -25,7 +25,6 @@
 #include <osl/process.h>
 #include <osl/thread.h>
 #include <rtl/alloc.h>
-#include <osl/util.h>
 
 #define LINES_INI       32
 #define LINES_ADD       10
diff --git a/sal/osl/unx/system.c b/sal/osl/unx/system.c
index eb19fbc..195bd4b 100644
--- a/sal/osl/unx/system.c
+++ b/sal/osl/unx/system.c
@@ -17,6 +17,9 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
+#include <unistd.h>
+#include <string.h>
+
 #include <config_features.h>
 
 #include "system.h"
@@ -285,4 +288,146 @@ char *fcvt(double value, int ndigit, int *decpt, int *sign)
 
 #endif
 
+#if defined (SPARC)
+
+#if defined (SOLARIS) && !defined(__sparcv8plus) && !defined(__sparcv9)
+#include <sys/types.h>
+#include <sys/processor.h>
+
+void osl_InterlockedCountSetV9(sal_Bool bV9);
+
+/*
+ * osl_InitSparcV9() should be executed as early as possible. We place it in the
+ * .init section of sal
+ */
+#if defined ( __SUNPRO_C ) || defined ( __SUNPRO_CC )
+void osl_InitSparcV9(void);
+#pragma init (osl_InitSparcV9)
+#elif defined ( __GNUC__ )
+void osl_InitSparcV9(void)  __attribute__((constructor));
+#endif
+
+void osl_InitSparcV9(void)
+{
+    /* processor_info() identifies SPARCV8 (ie sun4c machines) simply as "sparc"
+     * and SPARCV9 (ie ultra sparcs, sun4u) as "sparcv9". Since we know that we
+     * run at least on a SPARCV8 architecture or better, any processor type != "sparc"
+     * and != "i386" is considered to be SPARCV9 or better
+     *
+     * This way we are certain that this will still work if someone names SPARCV10
+     * "foobar"
+     */
+    processor_info_t aInfo;
+    int rc;
+
+    rc = processor_info(0, &aInfo);
+
+    if ( rc != -1 ) {
+        if ( !strcmp( "sparc", aInfo.pi_processor_type )    /* SPARCV8 */
+            || !strcmp( "i386", aInfo.pi_processor_type ) ) /* can't happen, but ... */
+            return;
+        /* we are reasonably certain to be on sparcv9/sparcv8plus or better */
+        osl_InterlockedCountSetV9(sal_True);
+    }
+}
+
+#endif /* SOLARIS */
+
+#if defined(NETBSD) && defined(__GNUC__) && !defined(__sparcv9) && !defined(__sparc_v9__)
+
+#include <sys/param.h>
+#include <sys/sysctl.h>
+void osl_InitSparcV9(void)  __attribute__((constructor));
+void osl_InterlockedCountSetV9(sal_Bool bV9);
+
+/* Determine which processor we are running on (sparc v8 or v9)
+ * The approach is very similar to Solaris.
+ */
+
+void osl_InitSparcV9(void)
+{
+    int mib[2]={CTL_HW,HW_MACHINE};
+    char processorname[256];
+    size_t len=256;
+
+    /* get the machine name */
+    sysctl(mib, 2, processorname, &len, NULL, 0);
+    if (!strncmp("sparc64",processorname, len)) {
+        osl_InterlockedCountSetV9(sal_True);
+    }
+}
+
+#endif /* NETBSD */
+
+#endif /* SPARC */
+
+#if defined ( LINUX ) && defined ( SPARC )
+#include <sys/utsname.h>
+void osl_InitSparcV9(void)  __attribute__((constructor));
+void osl_InterlockedCountSetV9(sal_Bool bV9);
+/* Determine which processor we are running on (sparc v8 or v9)
+ * The approach is very similar to Solaris.
+ */
+void osl_InitSparcV9(void)
+{
+    struct utsname name;
+    int rc;
+    rc = uname(&name);
+    if ( rc != -1 ) {
+        if ( !strcmp( "sparc", name.machine ))
+        return;
+    osl_InterlockedCountSetV9(sal_True);
+    }
+}
+#endif
+
+#if    ( defined(__GNUC__) && (defined(X86) || defined(X86_64)) )\
+    || ( defined(SOLARIS) && defined(__i386) )
+
+/* Safe default */
+int osl_isSingleCPU = 0;
+
+/* Determine if we are on a multiprocessor/multicore/HT x86/x64 system
+ *
+ * The lock prefix for atomic operations in osl_[inc|de]crementInterlockedCount()
+ * comes with a cost and is especially expensive on pre HT x86 single processor
+ * systems, where it isn't needed at all.
+ *
+ * This should be run as early as possible, thus it's placed in the init section
+ */
+#if defined(_SC_NPROCESSORS_CONF) /* i.e. MACOSX for Intel doesn't have this */
+#if defined(__GNUC__)
+void osl_interlockedCountCheckForSingleCPU(void)  __attribute__((constructor));
+#elif defined(__SUNPRO_C)
+void osl_interlockedCountCheckForSingleCPU(void);
+#pragma init (osl_interlockedCountCheckForSingleCPU)
+#endif
+
+void osl_interlockedCountCheckForSingleCPU(void)
+{
+    /* In case sysconfig fails be on the safe side,
+     * consider it a multiprocessor/multicore/HT system */
+    if ( sysconf(_SC_NPROCESSORS_CONF) == 1 ) {
+        osl_isSingleCPU = 1;
+    }
+}
+#endif /* defined(_SC_NPROCESSORS_CONF) */
+#endif
+
+//might be useful on other platforms, but doesn't compiler under MACOSX anyway
+#if defined(__GNUC__) && defined(LINUX)
+//force the __data_start symbol to exist in any executables that link against
+//libuno_sal so that dlopening of the libgcj provided libjvm.so on some
+//platforms where it needs that symbol will succeed. e.g. Debian mips/lenny
+//with gcc 4.3. With this in place the smoketest succeeds with libgcj provided
+//java. Quite possibly also required/helpful for s390x/s390 and maybe some
+//others. Without it the dlopen of libjvm.so will fail with __data_start
+//not found
+extern int __data_start[] __attribute__((weak));
+extern int data_start[] __attribute__((weak));
+extern int _end[] __attribute__((weak));
+static void *dummy[] __attribute__((used)) = {__data_start, data_start, _end};
+#endif
+
+
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sal/osl/unx/util.c b/sal/osl/unx/util.c
deleted file mode 100644
index d9b3a93..0000000
--- a/sal/osl/unx/util.c
+++ /dev/null
@@ -1,341 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-
-#include <unistd.h>
-#include <errno.h>
-#include <stdio.h>
-#include <string.h>
-#include <sys/ioctl.h>
-#include <sys/socket.h>
-#include <net/if.h>
-
-#ifdef SOLARIS
-#include <sys/sockio.h>
-#endif
-
-#include "osl/util.h"
-#include "osl/diagnose.h"
-
-
-static int   osl_getHWAddr(const char *ifname, char* hard_addr);
-static int   osl_checkAddr(const char* addr);
-
-
-sal_Bool SAL_CALL osl_getEthernetAddress( sal_uInt8 * pAddr )
-{
-#ifdef SOLARIS
-    /** algorithm doesn't work on solaris */
-    return sal_False;
-#else
-    char buff[1024];
-    char hard_addr[64];
-    struct ifconf ifc;
-    struct ifreq *ifr;
-    int i;
-    int so;
-
-    if ( pAddr == 0 )
-    {
-        return sal_False;
-    }
-
-
-    /*
-     * All we need is ... a network file descriptor.
-     * Normally, this is a very socket.
-     */
-
-    so = socket(AF_INET, SOCK_DGRAM, 0);
-
-
-    /*
-     * The first thing we have to do, get the interface configuration.
-     * It is a list of attached/configured interfaces
-     */
-
-    ifc.ifc_len = sizeof(buff);
-    ifc.ifc_buf = buff;
-    if ( ioctl(so, SIOCGIFCONF, &ifc) < 0 )
-    {
-        OSL_TRACE( "SIOCGIFCONF: %s", strerror(errno) );
-        close(so);
-        return sal_False;
-    }
-
-    close(so);
-
-    /*
-     *  For each of the interfaces in the interface list,
-     *  try to get the hardware address
-     */
-
-    ifr = ifc.ifc_req;
-    for ( i = ifc.ifc_len / sizeof(struct ifreq) ; --i >= 0 ; ifr++ )
-    {
-        int nRet=0;
-        nRet = osl_getHWAddr(ifr->ifr_name,hard_addr);
-        if ( nRet  > 0 )
-        {
-            memcpy( pAddr , hard_addr, 6 );
-            return sal_True;
-        }
-    }
-
-    return sal_False;
-#endif
-}
-
-
-static int osl_getHWAddr(const char *ifname, char* hard_addr)
-{
-    int ret=0;
-    struct ifreq ifr;
-    int so = socket(AF_INET, SOCK_DGRAM, 0);
-
-    if (strlen(ifname) >= sizeof(ifr.ifr_name))
-    {
-        close(so);
-        return 0;
-    }
-
-    strcpy(ifr.ifr_name, ifname);
-
-    /*
-     *   First, get the Interface-FLAGS
-     */
-
-    ret=ioctl(so, SIOCGIFFLAGS, &ifr) ;
-
-    if ( ret < 0 )
-    {
-        OSL_TRACE( "SIOCGIFFLAGS: %s", strerror(errno) );
-        close(so);
-        return ret;
-    }
-
-
-    /*
-     *  If it is the loopback device, do not consider it any further
-     */
-
-    if (ifr.ifr_flags & IFF_LOOPBACK)
-    {
-        OSL_TRACE( "SIOCGIFFLAGS : is LOOPBACK : %s", strerror(errno) );
-        close(so);
-        return 0;
-    }
-
-
-    /*
-     *  And now, the real thing: the get address
-     */
-
-#if defined(SIOCGIFHWADDR) && !defined(SOLARIS)
-    ret=ioctl(so, SIOCGIFHWADDR, &ifr);
-#else
-    ret=ioctl(so, SIOCGIFADDR, &ifr);
-#endif
-
-    if (ret < 0) {
-        OSL_TRACE( "SIOCGIFADDR: %s", strerror(errno) );
-        memset(hard_addr, 0, 32);
-        close(so);
-        return ret;
-    }
-
-    close(so);
-
-#if defined(SIOCGIFHWADDR) && !defined(SOLARIS)
-    memcpy(hard_addr,ifr.ifr_hwaddr.sa_data,8);
-#else
-    memcpy(hard_addr,ifr.ifr_ifru.ifru_addr.sa_data,8);
-#endif
-
-
-    /*
-     *  Check, if no real, i.e. 00:00:00:00:00:00, address was retrieved.
-     *  The Linux dummy device has this kind of behaviour
-     */
-
-    ret=osl_checkAddr(hard_addr);
-
-    if (ret < 0) {
-        OSL_TRACE( "SIOCGIFADDR got '00:00:00:00:00:00'" );
-        return ret;
-    }
-
-    return 1;
-}
-
-
-static int osl_checkAddr(const char* addr)
-{
-    if (addr[0]==0 && addr[1]==0 &&
-        addr[2]==0 && addr[3]==0 &&
-        addr[4]==0 && addr[5]==0)
-    {
-        return -1;
-    }
-    return 0;
-}
-
-
-#if defined (SPARC)
-
-#if defined (SOLARIS) && !defined(__sparcv8plus) && !defined(__sparcv9)
-#include <sys/types.h>
-#include <sys/processor.h>
-
-void osl_InterlockedCountSetV9(sal_Bool bV9);
-
-/*
- * osl_InitSparcV9() should be executed as early as possible. We place it in the
- * .init section of sal
- */
-#if defined ( __SUNPRO_C ) || defined ( __SUNPRO_CC )
-void osl_InitSparcV9(void);
-#pragma init (osl_InitSparcV9)
-#elif defined ( __GNUC__ )
-void osl_InitSparcV9(void)  __attribute__((constructor));
-#endif
-
-void osl_InitSparcV9(void)
-{
-    /* processor_info() identifies SPARCV8 (ie sun4c machines) simply as "sparc"
-     * and SPARCV9 (ie ultra sparcs, sun4u) as "sparcv9". Since we know that we
-     * run at least on a SPARCV8 architecture or better, any processor type != "sparc"
-     * and != "i386" is considered to be SPARCV9 or better
-     *
-     * This way we are certain that this will still work if someone names SPARCV10
-     * "foobar"
-     */
-    processor_info_t aInfo;
-    int rc;
-
-    rc = processor_info(0, &aInfo);
-
-    if ( rc != -1 ) {
-        if ( !strcmp( "sparc", aInfo.pi_processor_type )    /* SPARCV8 */
-            || !strcmp( "i386", aInfo.pi_processor_type ) ) /* can't happen, but ... */
-            return;
-        /* we are reasonably certain to be on sparcv9/sparcv8plus or better */
-        osl_InterlockedCountSetV9(sal_True);
-    }
-}
-
-#endif /* SOLARIS */
-
-#if defined(NETBSD) && defined(__GNUC__) && !defined(__sparcv9) && !defined(__sparc_v9__)
-
-#include <sys/param.h>
-#include <sys/sysctl.h>
-void osl_InitSparcV9(void)  __attribute__((constructor));
-void osl_InterlockedCountSetV9(sal_Bool bV9);
-
-/* Determine which processor we are running on (sparc v8 or v9)
- * The approach is very similar to Solaris.
- */
-
-void osl_InitSparcV9(void)
-{
-    int mib[2]={CTL_HW,HW_MACHINE};
-    char processorname[256];
-    size_t len=256;
-
-    /* get the machine name */
-    sysctl(mib, 2, processorname, &len, NULL, 0);
-    if (!strncmp("sparc64",processorname, len)) {
-        osl_InterlockedCountSetV9(sal_True);
-    }
-}
-
-#endif /* NETBSD */
-
-#endif /* SPARC */
-
-#if defined ( LINUX ) && defined ( SPARC )
-#include <sys/utsname.h>
-void osl_InitSparcV9(void)  __attribute__((constructor));
-void osl_InterlockedCountSetV9(sal_Bool bV9);
-/* Determine which processor we are running on (sparc v8 or v9)
- * The approach is very similar to Solaris.
- */
-void osl_InitSparcV9(void)
-{
-    struct utsname name;
-    int rc;
-    rc = uname(&name);
-    if ( rc != -1 ) {
-        if ( !strcmp( "sparc", name.machine ))
-        return;
-    osl_InterlockedCountSetV9(sal_True);
-    }
-}
-#endif
-
-#if    ( defined(__GNUC__) && (defined(X86) || defined(X86_64)) )\
-    || ( defined(SOLARIS) && defined(__i386) )
-
-/* Safe default */
-int osl_isSingleCPU = 0;
-
-/* Determine if we are on a multiprocessor/multicore/HT x86/x64 system
- *
- * The lock prefix for atomic operations in osl_[inc|de]crementInterlockedCount()
- * comes with a cost and is especially expensive on pre HT x86 single processor
- * systems, where it isn't needed at all.
- *
- * This should be run as early as possible, thus it's placed in the init section
- */
-#if defined(_SC_NPROCESSORS_CONF) /* i.e. MACOSX for Intel doesn't have this */
-#if defined(__GNUC__)
-void osl_interlockedCountCheckForSingleCPU(void)  __attribute__((constructor));
-#elif defined(__SUNPRO_C)
-void osl_interlockedCountCheckForSingleCPU(void);
-#pragma init (osl_interlockedCountCheckForSingleCPU)
-#endif
-
-void osl_interlockedCountCheckForSingleCPU(void)
-{
-    /* In case sysconfig fails be on the safe side,
-     * consider it a multiprocessor/multicore/HT system */
-    if ( sysconf(_SC_NPROCESSORS_CONF) == 1 ) {
-        osl_isSingleCPU = 1;
-    }
-}
-#endif /* defined(_SC_NPROCESSORS_CONF) */
-#endif
-
-//might be useful on other platforms, but doesn't compiler under MACOSX anyway
-#if defined(__GNUC__) && defined(LINUX)
-//force the __data_start symbol to exist in any executables that link against
-//libuno_sal so that dlopening of the libgcj provided libjvm.so on some
-//platforms where it needs that symbol will succeed. e.g. Debian mips/lenny
-//with gcc 4.3. With this in place the smoketest succeeds with libgcj provided
-//java. Quite possibly also required/helpful for s390x/s390 and maybe some
-//others. Without it the dlopen of libjvm.so will fail with __data_start
-//not found
-extern int __data_start[] __attribute__((weak));
-extern int data_start[] __attribute__((weak));
-extern int _end[] __attribute__((weak));
-static void *dummy[] __attribute__((used)) = {__data_start, data_start, _end};
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sal/osl/w32/profile.cxx b/sal/osl/w32/profile.cxx
index f588c83..571e47a 100644
--- a/sal/osl/w32/profile.cxx
+++ b/sal/osl/w32/profile.cxx
@@ -27,7 +27,6 @@
 #include <osl/profile.h>
 #include <osl/process.h>
 #include <osl/file.h>
-#include <osl/util.h>
 #include <rtl/alloc.h>
 #include <sal/macros.h>
 #include <algorithm>
diff --git a/sal/osl/w32/util.c b/sal/osl/w32/util.c
deleted file mode 100644
index 1491094..0000000
--- a/sal/osl/w32/util.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#include "osl/util.h"
-
-
-
-extern sal_Bool SAL_CALL osl_getEthernetAddress( sal_uInt8* pAddr )
-{
-    (void)pAddr; //unused, but part of the API/ABI
-    return sal_False;
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */


More information about the Libreoffice-commits mailing list