[Libreoffice-commits] core.git: Branch 'libreoffice-4-3-0' - include/osl sal/osl sal/util

Andrzej Hunt andrzej.hunt at collabora.com
Mon Jul 14 03:47:11 PDT 2014


 include/osl/process.h        |    5 +++++
 sal/osl/unx/process_impl.cxx |    5 +++++
 sal/osl/w32/process.cxx      |    6 ++++++
 sal/util/sal.map             |    1 +
 4 files changed, 17 insertions(+)

New commits:
commit 8ab5d9ccb68e3785cdcfdfe0bc6abc774d91bc55
Author: Andrzej Hunt <andrzej.hunt at collabora.com>
Date:   Thu Jul 10 12:17:05 2014 +0200

    Introduce osl_areCommandArgsSet.
    
    We cannot call osl_setCommandArgs twice, however there is currently
    no way to determine whether or not this has already been done. This is
    necessary e.g. for LibreOfficeKit where we may also be using UNO
    separately (and also for unit tests where LO is already set-up prior
    to the unit test running, and therefore we can't set up osl again
    from within LOK).
    
    Change-Id: Id1f357ef604eb2b6b7814c9a04ac6933a39fd3eb
    Signed-off-by: Michael Meeks <michael.meeks at collabora.com>
    Reviewed-on: https://gerrit.libreoffice.org/10225
    Reviewed-by: Matúš Kukan <matus.kukan at collabora.com>
    Reviewed-by: Zolnai Tamás <zolnaitamas2000 at gmail.com>
    Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>
    Tested-by: Markus Mohrhard <markus.mohrhard at googlemail.com>

diff --git a/include/osl/process.h b/include/osl/process.h
index 7d0960e..7fb619f 100644
--- a/include/osl/process.h
+++ b/include/osl/process.h
@@ -366,6 +366,11 @@ SAL_DLLPUBLIC sal_uInt32 SAL_CALL osl_getCommandArgCount(void);
 SAL_DLLPUBLIC oslProcessError SAL_CALL osl_getCommandArg(
         sal_uInt32 nArg, rtl_uString **strCommandArg);
 
+/** Determine whether or not the command args have already been set.
+    @return The command args are already set, and may not be set again.
+*/
+SAL_DLLPUBLIC int SAL_CALL osl_areCommandArgsSet (void);
+
 /** Set the command-line arguments as passed to the main-function of this process.
 
     Deprecated: This function is only for internal use. Passing the args from main will
diff --git a/sal/osl/unx/process_impl.cxx b/sal/osl/unx/process_impl.cxx
index d28f46d..b63f222 100644
--- a/sal/osl/unx/process_impl.cxx
+++ b/sal/osl/unx/process_impl.cxx
@@ -191,6 +191,11 @@ oslProcessError SAL_CALL osl_getCommandArg (sal_uInt32 nArg, rtl_uString ** strC
     return (result);
 }
 
+int SAL_CALL osl_areCommandArgsSet (void)
+{
+    return (g_command_args.m_nCount > 0);
+}
+
 /***************************************
  osl_setCommandArgs().
  **************************************/
diff --git a/sal/osl/w32/process.cxx b/sal/osl/w32/process.cxx
index 3dd0e77..25f4e58 100644
--- a/sal/osl/w32/process.cxx
+++ b/sal/osl/w32/process.cxx
@@ -374,6 +374,12 @@ oslProcessError SAL_CALL osl_getCommandArg( sal_uInt32 nArg, rtl_uString **strCo
 
 /***************************************************************************/
 
+int SAL_CALL osl_areCommandArgsSet(void)
+{
+    return (g_command_args.m_nCount > 0);
+}
+
+
 void SAL_CALL osl_setCommandArgs (int argc, char ** argv)
 {
     osl_acquireMutex (*osl_getGlobalMutex());
diff --git a/sal/util/sal.map b/sal/util/sal.map
index 1d7d491..6acd9c4 100644
--- a/sal/util/sal.map
+++ b/sal/util/sal.map
@@ -675,6 +675,7 @@ LIBO_UDK_4.3 { # symbols available in >= LibO 4.3
         osl_createDirectoryWithFlags;
         rtl_allocateAlignedMemory;
         rtl_freeAlignedMemory;
+        osl_areCommandArgsSet;
 } LIBO_UDK_4.2;
 
 PRIVATE_1.0 {


More information about the Libreoffice-commits mailing list