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 7fd7b7af26952676d8fcff6b56a081aac681d804
Author: Andrzej Hunt <andrzej.h...@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

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 {
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to