[ooo-build-commit] Branch 'ooo/master' - 6 commits - bridges/source jvmfwk/distributions jvmfwk/plugins offapi/com pyuno/prj pyuno/source sal/inc sal/osl sal/rtl sal/util ure/source xml2cmp/source

Jan Holesovsky kendy at kemper.freedesktop.org
Sat Sep 12 06:02:53 PDT 2009


 bridges/source/cpp_uno/gcc3_os2_intel/cpp2uno.cxx          |    3 
 jvmfwk/distributions/OpenOfficeorg/javavendors_freebsd.xml |    4 
 jvmfwk/distributions/OpenOfficeorg/javavendors_os2.xml     |    4 
 jvmfwk/plugins/sunmajor/pluginlib/otherjre.cxx             |    6 
 jvmfwk/plugins/sunmajor/pluginlib/sunjre.cxx               |    2 
 jvmfwk/plugins/sunmajor/pluginlib/util.cxx                 |    5 
 offapi/com/sun/star/chart2/XDataSeries.idl                 |   20 
 offapi/com/sun/star/text/TextPortion.idl                   |   27 
 offapi/com/sun/star/text/makefile.mk                       |    1 
 offapi/com/sun/star/text/textfield/makefile.mk             |    1 
 pyuno/prj/d.lst                                            |    1 
 pyuno/source/module/makefile.mk                            |    3 
 sal/inc/rtl/math.h                                         |   36 
 sal/inc/rtl/math.hxx                                       |   29 
 sal/inc/sal/types.h                                        |    9 
 sal/osl/os2/debug.c                                        |   47 
 sal/osl/os2/except.c                                       |   44 
 sal/osl/os2/helpers/debug.h                                |   42 
 sal/osl/os2/helpers/dosh.h                                 |  927 -------------
 sal/osl/os2/helpers/except.h                               |   42 
 sal/osl/os2/helpers/setup.h                                |   32 
 sal/osl/os2/module.c                                       |    2 
 sal/osl/os2/process.c                                      |   10 
 sal/rtl/source/math.cxx                                    |  250 +++
 sal/util/sal.map                                           |    4 
 ure/source/makefile.mk                                     |    2 
 xml2cmp/source/xcd/filebuff.cxx                            |    4 
 27 files changed, 587 insertions(+), 970 deletions(-)

New commits:
commit 8a0e80a04216b93aee215d091d57fde3d9674c99
Author: Kurt Zenker <kz at openoffice.org>
Date:   Fri Sep 11 18:55:06 2009 +0000

    CWS-TOOLING: integrate CWS odff06
    2009-09-10 18:58:49 +0200 dr  r276042 : #i104954# excel export: fixed broken handling of unary operators
    2009-09-06 19:30:43 +0200 er  r275861 : warnings
    2009-09-05 19:48:41 +0200 er  r275849 : warnings; wntmsci12 tries to be too smart
    2009-09-05 19:37:47 +0200 er  r275848 : warnings
    2009-09-03 22:45:42 +0200 er  r275776 : #i5658# GetCellValueOrZero: missed the formula cell case
    2009-09-03 14:28:41 +0200 er  r275752 : #i90759# better description of ZTEST
    2009-09-03 03:34:03 +0200 er  r275739 : warnings
    2009-09-03 03:31:19 +0200 er  r275738 : warnings
    2009-09-03 03:16:46 +0200 er  r275737 : warnings
    2009-09-03 03:11:42 +0200 er  r275736 : CELLTYPE_DESTROYED only if DBG_UTIL
    2009-09-03 03:06:31 +0200 er  r275735 : warnings
    2009-09-03 03:00:30 +0200 er  r275734 : warnings
    2009-09-03 02:32:35 +0200 er  r275733 : fix broken rebase merge
    2009-09-02 22:27:53 +0200 er  r275730 : CWS-TOOLING: rebase CWS odff06 to trunk at 275331 (milestone: DEV300:m56)
    2009-09-02 14:45:05 +0200 er  r275712 : #i5658# calculate with string operands as long as they unambiguously represent an integer or ISO 8601 date and/or time value
    2009-08-29 22:05:31 +0200 er  r275559 : #i99140# CONVERT_ADD new conversions as per ODFF; patch from <lvyue>, slightly changed
    2009-08-25 13:23:59 +0200 er  r275349 : #i90759# rewording of ZTEST description
    2009-08-21 00:10:22 +0200 er  r275204 : #i82007# correct description of POWER and parameters; patch from <regina>
    2009-08-20 23:58:20 +0200 er  r275203 : #i74704# B correct calculation for SP arguments 0 and 1; patch from <regina>
    2009-08-20 22:58:57 +0200 er  r275201 : #i90759# ZTEST correct calculation using the 3rd parameter sigma
    2009-08-14 17:55:45 +0200 er  r275000 : #i81214# LOOKUP with single values, data arrays and result arrays; based on a patch from <lvyue>
    2009-08-11 00:47:48 +0200 er  r274845 : unxlngi6 compiler warnings
    2009-08-11 00:43:06 +0200 er  r274844 : unxlngi6 compiler warnings
    2009-08-10 23:59:05 +0200 er  r274843 : #91351# make HYPERLINK accept and return numeric values, propagate errors
    2009-07-08 18:46:00 +0200 dr  r273846 : #i102022# export 3D refs to cond. formats and data validation
    2009-07-02 17:59:40 +0200 dr  r273667 : #i102702# adapt changes from sc/source/filter/excel
    2009-07-02 15:20:37 +0200 dr  r273656 : #i102702# reimplementation of formula token class export
    2009-07-02 14:41:02 +0200 er  r273653 : a surrogate with value 0x10000 is also valid (ran into when testing #i99900# Calc's UNICHAR function), and Unicode ends at 0x10ffff
    2009-07-01 00:10:16 +0200 er  r273536 : #i99900# iterateCodePoints: check index against string length to avoid assertion; caught this when testing Calc's new UNICHAR function, with the result of a surrogate pair forming one character.
    2009-07-01 00:03:57 +0200 er  r273535 : #i99900# new UNICODE and UNICHAR functions; patch from <tanchengbiao>
    2009-06-15 16:42:06 +0200 er  r272999 : merge patch from #i102701
    2009-06-15 11:15:16 +0200 dr  r272970 : #i102702# in BIFF, the SKIP flag may be missing for the tAttrSkip token
    2009-06-11 13:27:46 +0200 er  r272867 : CWS-TOOLING: rebase CWS odff06 to trunk at 272827 (milestone: DEV300:m50)
    2009-04-30 18:28:02 +0200 er  r271423 : #i94618# on status bar, ignore error of cell for COUNT and COUNTA if selection; patch from <kohei>
    2009-04-30 13:58:44 +0200 er  r271413 : get rid of that ugly mail address thingie in RTL_LOGFILE_CONTEXT_AUTHOR introduced by CWS frmdlg ...
    2009-04-30 12:32:44 +0200 er  r271411 : #i94618# do not display error of cell for COUNT and COUNTA status bar functions
    2009-04-30 01:32:38 +0200 er  r271399 : #i101316# improve accuracy of STDEV on equal values; patch from <regina>
    2009-04-30 01:18:54 +0200 er  r271398 : #i97605# improve accuracy of ASINH and ACOSH; patch from <regina>
    2009-04-30 00:46:00 +0200 er  r271397 : #i59153# improve accuracy of MOD; patch from <regina>
    2009-04-30 00:29:43 +0200 er  r271396 : #i69069# improve accuracy of NORMSDIST and POISSON; patch from <regina>
    2009-04-29 23:53:28 +0200 er  r271395 : #i100119# NORMDIST and LOGNORMDIST optional parameters, plus improvement in accuracy also of NORMSDIST (part of i69069); patch from <regina>
    2009-04-28 18:22:07 +0200 er  r271337 : #i97052# REPLACE with no length of text to be removed simply inserts new text; patch from <lvyue>, slightly modified
    2009-03-24 17:29:36 +0100 er  r269982 : #i97091# moved implementation of erf() and erfc() from scaddins to sal to provide C99 functions for compilers lacking it

diff --git a/sal/inc/rtl/math.h b/sal/inc/rtl/math.h
index 7049921..6f24b57 100644
--- a/sal/inc/rtl/math.h
+++ b/sal/inc/rtl/math.h
@@ -434,6 +434,42 @@ double SAL_CALL rtl_math_log1p(double fValue) SAL_THROW_EXTERN_C();
   */
 double SAL_CALL rtl_math_atanh(double fValue) SAL_THROW_EXTERN_C();
 
+/** Returns values of the Errorfunction erf.
+
+    erf is part of the C99 standard, but not provided by some compilers.
+
+    @param fValue
+    The value x in the term erf(x).
+  */
+double SAL_CALL rtl_math_erf(double fValue) SAL_THROW_EXTERN_C();
+
+/** Returns values of the complement Errorfunction erfc.
+
+    erfc is part of the C99 standard, but not provided by some compilers.
+
+    @param fValue
+    The value x in the term erfc(x).
+  */
+double SAL_CALL rtl_math_erfc(double fValue) SAL_THROW_EXTERN_C();
+
+/** Returns values of the inverse hyperbolic sine.
+
+    asinh is part of the C99 standard, but not provided by some compilers.
+
+    @param fValue
+    The value x in the term asinh(x).
+  */
+double SAL_CALL rtl_math_asinh(double fValue) SAL_THROW_EXTERN_C();
+
+/** Returns values of the inverse hyperbolic cosine.
+
+    acosh is part of the C99 standard, but not provided by some compilers.
+
+    @param fValue
+    The value x in the term acosh(x).
+  */
+double SAL_CALL rtl_math_acosh(double fValue) SAL_THROW_EXTERN_C();
+
 #if defined __cplusplus
 }
 #endif /* __cplusplus */
diff --git a/sal/inc/rtl/math.hxx b/sal/inc/rtl/math.hxx
index 4223415..2c18017 100644
--- a/sal/inc/rtl/math.hxx
+++ b/sal/inc/rtl/math.hxx
@@ -221,6 +221,35 @@ inline double atanh(double fValue)
     return rtl_math_atanh(fValue);
 }
 
+/** A wrapper around rtl_math_erf.
+ */
+inline double erf(double fValue)
+{
+    return rtl_math_erf(fValue);
+}
+
+/** A wrapper around rtl_math_erfc.
+ */
+inline double erfc(double fValue)
+{
+    return rtl_math_erfc(fValue);
+}
+
+/** A wrapper around rtl_math_asinh.
+ */
+inline double asinh(double fValue)
+{
+    return rtl_math_asinh(fValue);
+}
+
+/** A wrapper around rtl_math_acosh.
+ */
+inline double acosh(double fValue)
+{
+    return rtl_math_acosh(fValue);
+}
+
+
 /** Test equality of two values with an accuracy of the magnitude of the
     given values scaled by 2^-48 (4 bits roundoff stripped).
 
diff --git a/sal/rtl/source/math.cxx b/sal/rtl/source/math.cxx
index 4d8be2b..731ab18 100644
--- a/sal/rtl/source/math.cxx
+++ b/sal/rtl/source/math.cxx
@@ -79,6 +79,130 @@ static double getN10Exp( int nExp )
         return 1.0;
 }
 
+/** Approximation algorithm for erf for 0 < x < 0.65. */
+void lcl_Erf0065( double x, double& fVal )
+{
+    static const double pn[] = {
+        1.12837916709551256,
+        1.35894887627277916E-1,
+        4.03259488531795274E-2,
+        1.20339380863079457E-3,
+        6.49254556481904354E-5
+    };
+    static const double qn[] = {
+        1.00000000000000000,
+        4.53767041780002545E-1,
+        8.69936222615385890E-2,
+        8.49717371168693357E-3,
+        3.64915280629351082E-4
+    };
+    double fPSum = 0.0;
+    double fQSum = 0.0;
+    double fXPow = 1.0;
+    for ( unsigned int i = 0; i <= 4; ++i )
+    {
+        fPSum += pn[i]*fXPow;
+        fQSum += qn[i]*fXPow;
+        fXPow *= x*x;
+    }
+    fVal = x * fPSum / fQSum;
+}
+
+/** Approximation algorithm for erfc for 0.65 < x < 6.0. */
+void lcl_Erfc0600( double x, double& fVal )
+{
+    double fPSum = 0.0;
+    double fQSum = 0.0;
+    double fXPow = 1.0;
+    const double *pn;
+    const double *qn;
+
+    if ( x < 2.2 )
+    {
+        static const double pn22[] = {
+            9.99999992049799098E-1,
+            1.33154163936765307,
+            8.78115804155881782E-1,
+            3.31899559578213215E-1,
+            7.14193832506776067E-2,
+            7.06940843763253131E-3
+        };
+        static const double qn22[] = {
+            1.00000000000000000,
+            2.45992070144245533,
+            2.65383972869775752,
+            1.61876655543871376,
+            5.94651311286481502E-1,
+            1.26579413030177940E-1,
+            1.25304936549413393E-2
+        };
+        pn = pn22;
+        qn = qn22;
+    }
+    else /* if ( x < 6.0 )  this is true, but the compiler does not know */
+    {
+        static const double pn60[] = {
+            9.99921140009714409E-1,
+            1.62356584489366647,
+            1.26739901455873222,
+            5.81528574177741135E-1,
+            1.57289620742838702E-1,
+            2.25716982919217555E-2
+        };
+        static const double qn60[] = {
+            1.00000000000000000,
+            2.75143870676376208,
+            3.37367334657284535,
+            2.38574194785344389,
+            1.05074004614827206,
+            2.78788439273628983E-1,
+            4.00072964526861362E-2
+        };
+        pn = pn60;
+        qn = qn60;
+    }
+
+    for ( unsigned int i = 0; i < 6; ++i )
+    {
+        fPSum += pn[i]*fXPow;
+        fQSum += qn[i]*fXPow;
+        fXPow *= x;
+    }
+    fQSum += qn[6]*fXPow;
+    fVal = exp( -1.0*x*x )* fPSum / fQSum;
+}
+
+/** Approximation algorithm for erfc for 6.0 < x < 26.54 (but used for all
+    x > 6.0). */
+void lcl_Erfc2654( double x, double& fVal )
+{
+    static const double pn[] = {
+        5.64189583547756078E-1,
+        8.80253746105525775,
+        3.84683103716117320E1,
+        4.77209965874436377E1,
+        8.08040729052301677
+    };
+    static const double qn[] = {
+        1.00000000000000000,
+        1.61020914205869003E1,
+        7.54843505665954743E1,
+        1.12123870801026015E2,
+        3.73997570145040850E1
+    };
+
+    double fPSum = 0.0;
+    double fQSum = 0.0;
+    double fXPow = 1.0;
+
+    for ( unsigned int i = 0; i <= 4; ++i )
+    {
+        fPSum += pn[i]*fXPow;
+        fQSum += qn[i]*fXPow;
+        fXPow /= x*x;
+    }
+    fVal = exp(-1.0*x*x)*fPSum / (x*fQSum);
+}
 
 namespace {
 
@@ -991,3 +1115,129 @@ double SAL_CALL rtl_math_atanh( double fValue ) SAL_THROW_EXTERN_C()
 {
    return 0.5 * rtl_math_log1p( 2.0 * fValue / (1.0-fValue) );
 }
+
+
+/** Parent error function (erf) that calls different algorithms based on the
+    value of x.  It takes care of cases where x is negative as erf is an odd
+    function i.e. erf(-x) = -erf(x).
+
+    Kramer, W., and Blomquist, F., 2000, Algorithms with Guaranteed Error Bounds
+    for the Error Function and the Complementary Error Function
+
+    http://www.math.uni-wuppertal.de/wrswt/literatur_en.html
+
+    @author Kohei Yoshida <kohei at openoffice.org>
+
+    @see #i55735#
+ */
+double SAL_CALL rtl_math_erf( double x ) SAL_THROW_EXTERN_C()
+{
+    if( x == 0.0 )
+        return 0.0;
+
+    bool bNegative = false;
+    if ( x < 0.0 )
+    {
+        x = fabs( x );
+        bNegative = true;
+    }
+
+    double fErf = 1.0;
+    if ( x < 1.0e-10 )
+        fErf = (double) (x*1.1283791670955125738961589031215452L);
+    else if ( x < 0.65 )
+        lcl_Erf0065( x, fErf );
+    else
+        fErf = 1.0 - rtl_math_erfc( x );
+
+    if ( bNegative )
+        fErf *= -1.0;
+
+    return fErf;
+}
+
+
+/** Parent complementary error function (erfc) that calls different algorithms
+    based on the value of x.  It takes care of cases where x is negative as erfc
+    satisfies relationship erfc(-x) = 2 - erfc(x).  See the comment for Erf(x)
+    for the source publication.
+
+    @author Kohei Yoshida <kohei at openoffice.org>
+
+    @see #i55735#, moved from module scaddins (#i97091#)
+
+ */
+double SAL_CALL rtl_math_erfc( double x ) SAL_THROW_EXTERN_C()
+{
+    if ( x == 0.0 )
+        return 1.0;
+
+    bool bNegative = false;
+    if ( x < 0.0 )
+    {
+        x = fabs( x );
+        bNegative = true;
+    }
+
+    double fErfc = 0.0;
+    if ( x >= 0.65 )
+    {
+        if ( x < 6.0 )
+            lcl_Erfc0600( x, fErfc );
+        else
+            lcl_Erfc2654( x, fErfc );
+    }
+    else
+        fErfc = 1.0 - rtl_math_erf( x );
+
+    if ( bNegative )
+        fErfc = 2.0 - fErfc;
+
+    return fErfc;
+}
+
+/** improved accuracy of asinh for |x| large and for x near zero
+    @see #i97605#
+ */
+double SAL_CALL rtl_math_asinh( double fX ) SAL_THROW_EXTERN_C()
+{
+    double fSign = 1.0;
+    if ( fX == 0.0 )
+        return 0.0;
+    else
+    {
+        if ( fX < 0.0 )
+        {
+            fX = - fX;
+            fSign = -1.0;
+        }
+        if ( fX < 0.125 )
+            return fSign * rtl_math_log1p( fX + fX*fX / (1.0 + sqrt( 1.0 + fX*fX)));
+        else if ( fX < 1.25e7 )
+            return fSign * log( fX + sqrt( 1.0 + fX*fX));
+        else
+            return fSign * log( 2.0*fX);
+    }
+}
+
+/** improved accuracy of acosh for x large and for x near 1
+    @see #i97605#
+ */
+double SAL_CALL rtl_math_acosh( double fX ) SAL_THROW_EXTERN_C()
+{
+    volatile double fZ = fX - 1.0;
+    if ( fX < 1.0 )
+    {
+        double fResult;
+        ::rtl::math::setNan( &fResult );
+        return fResult;
+    }
+    else if ( fX == 1.0 )
+        return 0.0;
+    else if ( fX < 1.1 )
+        return rtl_math_log1p( fZ + sqrt( fZ*fZ + 2.0*fZ));
+    else if ( fX < 1.25e7 )
+        return log( fX + sqrt( fX*fX - 1.0));
+    else
+        return log( 2.0*fX);
+}
diff --git a/sal/util/sal.map b/sal/util/sal.map
index ad063f3..d5faa56 100755
--- a/sal/util/sal.map
+++ b/sal/util/sal.map
@@ -591,6 +591,10 @@ UDK_3.9 { # OOo 3.1
 UDK_3.10 { # OOo 3.2
     global:
         rtl_logfile_hasLogFile;
+        rtl_math_erf;
+        rtl_math_erfc;
+        rtl_math_asinh;
+        rtl_math_acosh;
 } UDK_3.9;
 
 PRIVATE_1.0 {
commit 1821099ab0a9957276d87305cc5b8ff916f2de18
Author: Kurt Zenker <kz at openoffice.org>
Date:   Fri Sep 11 16:06:18 2009 +0000

    CWS-TOOLING: integrate CWS chartuseability01
    2009-09-07 17:26:44 +0200 iha  r275906 : CWS-TOOLING: rebase CWS chartuseability01 to trunk at 275801 (milestone: DEV300:m57)
    2009-08-27 13:48:16 +0200 iha  r275481 : #7049# listbox to select chart elements
    2009-08-27 11:54:53 +0200 iha  r275464 : #i58163# #i69422# #i102820# enhance chart context menu
    2009-08-26 16:49:58 +0200 iha  r275435 : #i102820# added missing case 'floor'
    2009-08-26 15:33:51 +0200 iha  r275427 : #i102820# make 'insert legend' work properly
    2009-08-25 16:35:00 +0200 ufi  r275369 : i104087
    2009-08-25 15:12:17 +0200 iha  r275360 : #i104087# 'Object Properties' -> 'Format Selection'
    2009-08-25 15:11:31 +0200 iha  r275359 : #i104087# 'Object Properties' -> 'Format Selection'
    2009-08-25 15:11:15 +0200 iha  r275358 : #i104087# 'Object Properties' -> 'Format Selection'
    2009-08-25 11:57:43 +0200 iha  r275344 : #i104087# changed behavior of insert menu
    2009-08-18 12:53:54 +0200 oc  r275093 : #i104082,104086,104089# multiple changes because of changed chartUI
    2009-08-10 16:46:17 +0200 ufi  r274824 : i104083 i104087 i104090
    2009-08-07 14:04:34 +0200 iha  r274763 : #7049# listbox to select chart elements
    2009-08-07 13:06:05 +0200 iha  r274760 : #7049# listbox to select chart elements
    2009-08-07 13:05:06 +0200 iha  r274759 : #7049# listbox to select chart elements
    2009-08-07 12:32:31 +0200 iha  r274756 : #i58163# #i69422# #i102820# enhance chart context menu
    2009-08-07 12:31:54 +0200 iha  r274755 : #i58163# #i69422# #i102820# enhance chart context menu
    2009-08-06 19:00:48 +0200 iha  r274742 : #i103593# make insert menu behavior selection dependent
    2009-08-06 19:00:14 +0200 iha  r274741 : #i103593# make insert menu behavior selection dependent
    2009-08-06 15:34:01 +0200 iha  r274731 : #i58163# #i69422# #i102820# enhance chart context menu
    2009-08-06 14:39:20 +0200 iha  r274728 : #i86146# ease adding R-squared value with an equation
    2009-08-06 14:37:02 +0200 iha  r274727 : #i86146# ease adding R-squared value with an equation
    2009-08-06 13:37:54 +0200 iha  r274724 : #i86146# ease adding R-squared value with an equation
    2009-08-06 13:37:15 +0200 iha  r274723 : #i86146# ease adding R-squared value with an equation
    2009-08-06 13:04:27 +0200 iha  r274722 : #i103593# make insert menu behavior selection dependent
    2009-08-06 13:03:35 +0200 iha  r274721 : #i103593# make insert menu behavior selection dependent
    2009-08-05 18:26:31 +0200 iha  r274693 : #i104033# inconsistent wording 'error indicator' <-> 'error bar'
    2009-08-05 16:51:45 +0200 iha  r274688 : #i104028# rename font tabpage 'Characters'->'Font'
    2009-08-05 16:30:21 +0200 iha  r274685 : #i58163# #i69422# #i102820# enhance chart context menu
    2009-08-05 15:34:11 +0200 iha  r274680 : #i58163# #i69422# #i102820# enhance chart context menu
    2009-08-05 15:32:43 +0200 iha  r274679 : #i58163# #i69422# #i102820# enhance chart context menu
    2009-08-05 15:31:26 +0200 iha  r274678 : #i58163# #i69422# #i102820# enhance chart context menu
    2009-08-05 15:17:51 +0200 iha  r274676 : #i58163# #i69422# #i102820# enhance chart context menu
    2009-08-05 15:16:22 +0200 iha  r274675 : #i58163# #i69422# #i102820# enhance chart context menu
    2009-08-05 14:58:59 +0200 iha  r274674 : #7049# listbox to select chart elements
    2009-08-05 14:33:54 +0200 iha  r274669 : #7049# listbox to select chart elements
    2009-08-05 14:22:17 +0200 iha  r274665 : #7049# listbox to select chart elements
    2009-08-05 13:21:05 +0200 iha  r274656 : #i102820# offer insertion of several elements in context menu also if nothing is selected
    2009-08-05 11:56:06 +0200 iha  r274647 : #7049# listbox to select chart elements
    2009-08-05 11:43:40 +0200 iha  r274645 : #7049# listbox to select chart elements
    2009-07-24 19:46:50 +0200 iha  r274318 : #i58163# #i69422# #i102820# enhance chart context menu
    2009-07-24 16:23:13 +0200 iha  r274313 : #i58163# #i69422# #i102820# enhance chart context menu
    2009-07-24 16:13:22 +0200 iha  r274311 : #i58163# #i69422# #i102820# enhance chart context menu

diff --git a/offapi/com/sun/star/chart2/XDataSeries.idl b/offapi/com/sun/star/chart2/XDataSeries.idl
index dfbd8cd..dbe74c6 100644
--- a/offapi/com/sun/star/chart2/XDataSeries.idl
+++ b/offapi/com/sun/star/chart2/XDataSeries.idl
@@ -58,22 +58,28 @@ module chart2
  */
 interface XDataSeries : ::com::sun::star::uno::XInterface
 {
-    /** set the coordinate system in which this series should be
-        represented.
-     */
-//     void setCoordinateSystem( [in] XCoordinateSystem aCoordSystem );
-
     /** @returns
             the element at the specified index.
 
-        @param Index
-            specifies the position in the array. The first index is 0.
+        @param nIndex
+            specifies the index of the data point within the series. The first index is 0.
 
         @throws com::sun::star::lang::IndexOutOfBoundException
             if the index is not valid.
      */
     ::com::sun::star::beans::XPropertySet getDataPointByIndex( [in] long nIndex )
         raises( ::com::sun::star::lang::IndexOutOfBoundsException );
+
+    /** the formatting of the specified data point is cleared
+        
+        @param nIndex
+            specifies the index of the data point within the series. The first index is 0.
+     */
+    void resetDataPoint( [in] long nIndex );
+
+    /** all data point formattings are cleared
+     */
+    void resetAllDataPoints();
 };
 
 } ; // chart2
commit eff0db3d580529ea0a9faecfb259ac9a61a97e42
Author: Kurt Zenker <kz at openoffice.org>
Date:   Fri Sep 11 14:29:45 2009 +0000

    CWS-TOOLING: integrate CWS odfmetadata3
    2009-09-11 Michael Stahl merge DEV300_m58
    2009-09-07 Michael Stahl SwFmtFld::Modify(): do nothing on RES_OBJECTDYING
    2009-08-27 Michael Stahl #i91565#, #i91566#: TextPortionEnumerationTest.java: add test document
    2009-08-27 Michael Stahl #i91565#, #i91566#: add complex test: TextPortionEnumerationTest.java
    2009-08-27 Michael Stahl CLiteral::initialize(): zero-length literals probably not an error
    2009-08-27 Michael Stahl #i91565#, #i91566#: offapi: new InContentMetadata and MetadataField services
     adapt TextPortion for InContentMetadata
    2009-08-27 Michael Stahl #i91564#: xmloff: load/store xml:id and RDFa for text:bookmark(-start).
    2009-08-27 Michael Stahl #i91564#: sw core: add support for xml:id at bookmarks:
     sw::mark::Bookmark: derive from Metadatable.
     SwHistoryBookmark, SaveBookmark: store a MetadatableUndo.
     ndcopy.cxx: lcl_CopyBookmarks(): copy the xml:id.
     SwXBookmark: derive from MetadatableMixin.
    2009-08-27 Michael Stahl #i91565#, #i91566#: xmloff: refactor ruby import so nested meta(-field) works:
     remove XMLRubyHint_Impl.
     XMLImpRubyContext_Impl::~XMLImpRubyContext_Impl(): insert ruby directly.
    2009-08-27 Michael Stahl #i91565#, #i91566#: xmloff: fix text:meta(-field) import/export:
     new XMLTextParagraphExport::exportTextField() overload for XTextField.
     CreateAndInsertMark(): set xml:id after insertion.
     fix meta(-field) service names, bugs etc.
    2009-08-27 Michael Stahl #i91565#, #i91566#: sw text formatting: paint background of meta(-field) body:
     SwFont: add member m_nMetaCount.
     txttypes.hxx: add POR_META.
     atrstck.cxx: handle RES_TXTATR_META(FIELD).
     itrform2.cxx: SwTxtFormatter::WhichTxtPor(): create new class SwMetaPortion.
    2009-08-27 Michael Stahl #i91566#: sw text formatting: display meta-field prefix and suffix:
     SwAttrIter::GetAttr(): replace with call to GetTxtAttrForCharAt().
     SwTxtFormatter::NewExtraPortion(): handle meta-field prefix.
     SwTxtFormatter: new member m_nHintEndIndex.
     SwTxtFormatter::WhichFirstPortion(): call TryNewNoLengthPortion().
     SwTxtFormatter::TryNewNoLengthPortion(): new; handle suffix of meta-field.
     SwTxtFormatter::UnderFlow(): UGLY HACK: decrement m_nHintEndIndex.
     SwFldPortion: add flag m_bNoLength: portion has zero length (for suffix).
    2009-08-27 Michael Stahl #i91565#, #i91566#: extend text:meta(-field) uno wrapper with XText interface:
     unoobj.hxx: new CursorType CURSOR_META.
     unoobj2.cxx: refactor SwXText implementation to ensure that when the SwXText
      belongs to a SwXMeta, content is always inserted inside the meta(-field).
     unoobj.cxx: new SwXTextCursor::ForceIntoMeta(): cursor stays in meta(-field).
     unometa.hxx: SwXMeta implements XText, forwarding to a member SwXMetaText.
     DocInsertStringSplitCR(), SwX*::attachToRange(), SwX*::DeleteAndInsert():
      use FORCEHINTEXPAND hack to ensure insert into the meta(-field) at the end.
    2009-08-27 Michael Stahl #i91565#, #i91566#: add text:meta(-field) uno wrapper to sw:
     fmtmeta.hxx, fmtatr2.cxx: new class sw::MetaField, new sw::MetaFieldManager.
     doc.hxx, docnew.cxx: new SwDoc::GetMetaFieldManager().
     unocoll.hxx,.cxx: new SW_SERVICE_FIELDTYPE_METAFIELD, SW_SERVICE_TYPE_META.
     unomap.hxx,.cxx: new PROPERTY_MAP_METAFIELD.
     unoprnms.hxx: new UNO_NAME_META.
     unoport.hxx: new PORTION_META; add "InContentMetadata" prop to SwXTextPortion.
     new unometa.hxx: new class SwXMeta and SwXMetaField.
     unofield.cxx: SwXFieldEnumeration: include meta-fields.
     unoportenum.cxx: handle RES_TXTATR_META(FIELD) by using a portion list stack.
     unotext.cxx: SwXText::insertTextContent(): handle meta(-field) as attribute.
    2009-08-27 Michael Stahl #i91565#, #i91566#: ndhints.cxx: remove sort number from SwTxtAttrNesting
    2009-08-27 Michael Stahl #i91565#, #i91566#: add support for hints with end and CH_TXTATR to sw core:
     doc.hxx, docedt.cxx: replace SwDoc::Delete(), DeleteAndJoin(), ReplaceRange()
      with wrappers that split at left-overlapped end+CH_TXTATR hints.
     txatbase.hxx: new member SwTxtAttr::m_bHasDummyChar.
     ndtxt.hxx: rename SwTxtNode::GetTxtAttr() to GetTxtAttrForCharAt().
     ndtxt.cxx: SwTxtNode::CopyText(): copy end+CH_TXTATR hints iff copy CH_TXTATR.
     txtatr2.cxx, thints.cxx: SwTxtMeta gets a CH_TXTATR.
    2009-08-27 Michael Stahl #i91565#, #i91566#: add text:meta(-field) to sw core:
     txatbase.hxx: new member SwTxtAttr::m_bNesting.
     hintids.hxx: new ids RES_TXTATR_META, RES_TXTATR_METAFIELD.
     txtatr.hxx: new base class SwTxtAttrNesting.
      new hint SwTxtMeta.
      SwTxtRuby derives from SwTxtAttrNesting.
     txtinet.hxx: SwTxtINetFmt derives from SwTxtAttrNesting.
     new header fmtmeta.hxx: new pool item SwFmtMeta. new class sw::Meta.
     ndhints.hxx, thints.cxx: new method SwpHints::TryInsertNesting().
     thints.cxx: refactoring: BuildPortions() no longer handles Ruby/Hyperlink,
      but TryInsertNesting(), which also handles meta(-field).
     SwTxtNode::InsertItem(): check if the hint is actually inserted.
     ndhints.cxx: sort nesting hints based on sort number.
     ndtxt.cxx: lcl_CopyHint(): handle copy of meta/meta-field.
    2009-08-27 Michael Stahl enable expanding hints with m_bLockExpandFlag set:
     add new InsertFlag: INS_FORCEHINTEXPAND.
     add new SetAttrMode: SETATTR_FORCEHINTEXPAND.
     rename SwEditShell::Insert() to Insert2() because changed signature fails
      to compile when SwWrtShell tries to overwrite these non-virtual members...
     SwWrtShell::Insert() sets FOCEHINTEXPAND if range was selected/deleted.
     adapt SwUndoInsert to store flags.
    2009-08-27 Michael Stahl change formal parameters of item insertion methods to type SetAttrMode
    2009-08-27 Michael Stahl fix incorrect resetting of text attributes in SwUndoInsSection, SwUndoInserts
    2009-08-27 Michael Stahl clean up SwTxtNode::CutImpl() and lcl_CopyHint()
    2009-08-27 Michael Stahl rename SwDoc::Copy() to CopyRange(), and _Copy() to CopyImpl()
    2009-08-27 Michael Stahl rename SwNodes::Move() to MoveRange(), and remove unused parameter
    2009-08-27 Michael Stahl rename SwDoc::Move() to MoveRange()/MoveNodeRange()
    2009-08-27 Michael Stahl rename SwDoc::Insert() to InsertString(), and remove sal_Unicode variant
    2009-08-27 Michael Stahl rename SwDoc::Insert() to InsertPoolItem()/InsertItemSet()/InsertSwSection()
    2009-08-27 Michael Stahl rename SwDoc::Replace() to ReplaceRange()
    2009-08-27 Michael Stahl remove SwDoc::Overwrite() sal_Unicode variant
    2009-08-27 Michael Stahl split up SwDoc::DeleteAndJoin(): factor out DeleteAndJoinWithRedline()
    2009-08-27 Michael Stahl rename overloaded SwDoc::Delete() to DeleteRange()/DeleteTOXMark()
    2009-08-27 Michael Stahl rename SwTxtNode::Copy() to CopyText()
    2009-08-27 Michael Stahl rename SwTxtNode::Cut() to CutText(), and _Cut() to CutImpl()
    2009-08-27 Michael Stahl rename SwTxtNode::Delete() to DeleteAttribute()/DeleteAttributes()
    2009-08-27 Michael Stahl rename SwTxtNode::Replace() to ReplaceText(), and remove the xub_Unicode variant
    2009-08-27 Michael Stahl rename SwTxtNode::Erase() to EraseText()
    2009-08-27 Michael Stahl rename SwTxtNode::Insert() to InsertText(), and remove the xub_Unicode variant
    2009-08-27 Michael Stahl clean up SwTxtNode::Update()
    2009-08-27 Michael Stahl remove SwTxtAttr::RemoveFromPool() and make destructor non-public,
     to be invoked by new method SwTxtAttr::Destroy()
    2009-08-27 Michael Stahl ensure that SwDoc::Insert() for item (set) returns success indicator:
     replace SwRegHistory constructor with method InsertItems(), returning bool.
     refactor InsAttr() so that it checks if InsertItems() succeeds.
    2009-08-27 Michael Stahl move SwXTextPortionEnumeration from unoobj.hxx to unoport.hxx
    2009-08-27 Michael Stahl add missing SolarMutex in SwXTextPortion methods
    2009-08-27 Michael Stahl SwXTextPortion: new member m_xTextField (so the TextField property need not
      be returned indirectly via SwUnoCursorHelper).
     factor out function CreateSwXTextField().
    2009-08-27 Michael Stahl SwXTextPortion: remove PORTION_CONTROL_CHAR and implementation of XTextField
    2009-08-27 Michael Stahl remove obsolete hint SwTxtHardBlank and formats SwFmtHardBlank/SwFmtSoftHyph
    2009-08-27 Michael Stahl clean up SwTxtAttr and friends:
     remove many accessor methods for obsolete (due to autofmt) char format items.
     remove unused flag SwTxtAttr::m_bDontMergeAttr.
     MakeRedlineTxtAttr() now dedicated function, no longer calls MakeTxtAttr().
    2009-08-27 Michael Stahl remove obsolete attribute SwTxt2Lines
    2009-08-27 Michael Stahl SwXTextPortionEnumeration: finish refactoring CreatePortions
     change ExportHints so it always returns a text portion for hint w/ CH_TXTATR.
     remove special case for handling end of paragraph.
     unfortunately had to refactor the fieldmarks export as well (got in the way).
    2009-08-27 Michael Stahl SwXTextPortionEnumeration: refactor CreatePortions: frames export
     extract function ExportFrames() from CreatePortions().
     remove (un)dead code that calls evil MovePara(fnParaCurr, fnParaEnd)
    2009-08-27 Michael Stahl clean up SwXParaFrameEnumeration
    2009-08-27 Michael Stahl CollectFrameAtNode: replace SwDependArr with STL based FrameDependList_t
    2009-08-27 Michael Stahl SwXTextPortionEnumeration: tweak refmark/toxmark export
     so ExportHints returns the portion for point marks
    2009-08-27 Michael Stahl clean up SwXTextPortionEnumeration:
     prefix members, remove casts, replace SvWeirdArray with STL, etc.
     make CreatePortions() method a function, and remove lots of members.
     extract fieldmarks function from CreatePortions.
    2009-08-27 Michael Stahl remove FOREACHUNOPAM_START/END macros
    2009-08-27 Michael Stahl clean up SwXTextPortion:
     prefix members, remove casts, etc.
     remove SwXRubyPortion: replace it with another SwXTextPortion constructor
    2009-08-27 Michael Stahl #i102541# SwXReferenceMark::InsertRefMark(): use flag SETATTR_DONTEXPAND
    2009-08-27 Michael Stahl rename SwTxtNode::Insert to SwTxtNode::InsertHint, and
    fix constness in SwTxtNode::InsertItem
    2009-08-27 Michael Stahl turn SwTxtNode::MakeTxtAttr() methods into global functions in ndhints.hxx
    2009-08-27 Michael Stahl remove obsolete sw/inc/bookmrk.hxx
    2009-08-27 Michael Stahl pam.cxx: fix ComparePosition functions (returned wrong result in one case)
    2009-08-27 Michael Stahl #i103613# only import RDF metadata on normal open of a document
    2009-09-11 kz CWS-TOOLING: integrate CWS impress176
    2009-09-08 20:18:24 +0200 sj  r275957 : fixed warning (shadowed variable)
    2009-09-08 18:02:05 +0200 cl  r275948 : #i104315# added missing tab pages
    2009-09-08 17:35:18 +0200 cl  r275947 : #i104866# fixed angle import
    2009-09-08 17:32:53 +0200 cl  r275946 : #i104841# fixed angle import
    2009-09-08 17:01:25 +0200 cl  r275943 : #i103935# fixed the SID_EVENTCONFIG mess
    2009-09-08 14:32:57 +0200 sj  r275928 : #i104685# only comments
    2009-09-07 12:37:36 +0200 sj  r275886 : #i104683# fixed import of bold/italic attributes for normal text shapes
    2009-09-04 15:07:46 +0200 sj  r275808 : #104689# fixed bullet color problem
    2009-09-03 15:25:07 +0200 sj  r275753 : #160200# added vertical alignment of table cells
    2009-09-11 kz CWS-TOOLING: integrate CWS dv14
    2009-09-10 15:16:32 +0200 sg  r276035 : #160513# updated wfs scheme to accept ports
    2009-09-10 07:41:47 +0200 dv  r276019 : #i104942# Better renaming algorithmen
    2009-08-31 13:41:11 +0200 dv  r275604 : #160505# Setting APP1PRODUCTNAME must not overwrite APP1PRODUCTDEF
    2009-09-11 kz CWS-TOOLING: integrate CWS jl131
    2009-09-02 16:42:40 +0200 jl  r275720 : #i97896#
    2009-08-31 13:01:53 +0200 jl  r275599 : CWS-TOOLING: rebase CWS jl131 to trunk at 275331 (milestone: DEV300:m56)
    2009-07-31 14:35:30 +0200 jl  r274531 : CWS-TOOLING: rebase CWS jl131 to trunk at 274203 (milestone: DEV300:m53)
    2009-07-23 14:20:32 +0200 jl  r274272 : #i79839# better error text when trying to modify shared layer without having write permission, eg. unopkg add --shared, unopkg remove --shared, unopkg reinstall --shared
    2009-07-22 16:38:02 +0200 jl  r274252 : #i97896# localize error message for lock file
    2009-07-22 16:37:22 +0200 jl  r274251 : #i80462# unprecise wording in updatedialog
    2009-07-22 16:36:06 +0200 jl  r274250 : #i97896# localize error message for lock file
    2009-07-22 16:35:20 +0200 jl  r274249 : #i97896# localize error message for lock file
    2009-07-22 15:07:30 +0200 jl  r274242 : #i98873# minimum java version is 1.5 since OOo 3.0
    2009-09-11 kz CWS-TOOLING: integrate CWS changehc
    2009-08-31 19:38:50 +0200 pl  r275633 : remove dbug printf
    2009-08-31 17:41:50 +0200 pl  r275623 : CWS-TOOLING: rebase CWS changehc to trunk at 275331 (milestone: DEV300:m56)
    2009-07-15 19:45:46 +0200 pl  r274028 : #i35482# use HC flag to decide high contrast mode
    2009-07-15 17:40:52 +0200 pl  r274020 : #i35482# use HC flag to decide high contrast mode
    2009-07-15 17:39:50 +0200 pl  r274019 : #i35482# update autohc correctly in MergeSystemSettings
    2009-07-15 17:38:57 +0200 pl  r274018 : #i35482# update autohc correctly in MergeSystemSettings
    2009-09-11 kz CWS-TOOLING: integrate CWS notes10
    2009-08-24 07:25:57 +0200 mod  r275287 : 2009-07-26 02:38:32 +0200 mod  r274343 : #i#i103645#
    2009-07-26 02:01:53 +0200 mod  r274342 : #i103645#
    2009-07-26 01:52:42 +0200 mod  r274341 : #i103490#
    2009-07-22 08:31:48 +0200 mod  r274215 : #i103373#
    2009-07-15 00:55:11 +0200 mod  r273987 : #i101419#
    2009-07-14 07:07:55 +0200 mod  r273956 : #i101419#
    2009-07-14 07:07:43 +0200 mod  r273955 : #i101419#
    2009-07-14 07:02:10 +0200 mod  r273954 : changes from notes9
    2009-07-14 06:14:25 +0200 mod  r273953 : #i103476#
    2009-09-11 kz CWS-TOOLING: integrate CWS ab70
    2009-09-10 15:12:54 +0200 jsk  r276034 : #i85434# - mandatory automatic update test
    2009-09-10 15:11:06 +0200 jsk  r276033 : #i85434# - mandatory automatic update test
    2009-09-02 09:49:24 +0200 ab  r275698 : #i85434# Dialog Import
    2009-09-11 kz CWS-TOOLING: integrate CWS hb32bugs02
    2009-09-02 Henning Brinkmann #i102420# revert changes
    2009-08-26 Henning Brinkmann merged DEV300_m56
    2009-08-19 Henning Brinkmann merged DEV300_m55
    2009-08-14 Henning Brinkmann merged changes from wntmsci12
    2009-08-12 Henning Brinkmann Implemented NoSpaceEdit constructor and destructor in .cxx to allow compile with debug on wntmsci12.
    2009-08-12 Henning Brinkmann Added some SW_DLLPUBLIC to make compilable on wntmsci12.
    2009-08-11 Henning Brinkmann #i102420# dbg_out: surround output for SwNodes with <nodes-array>.
    2009-08-10 Henning Brinkmann #i102420# rewritten debug output for SwNodes.
    2009-08-07 Henning Brinkmann #i102420# debug _MoveNodes: output the destination, too. Break after two iterations.
    2009-08-07 Henning Brinkmann #i102420# _MoveNodes: Additionally check if destination index is inside source => false
    Check if current range was already handled => loop
    Debug output current range
    2009-08-06 Henning Brinkmann merged DEV300_m54
    2009-08-06 Henning Brinkmann added master fix
    2009-08-06 Henning Brinkmann debug output for SwNodeRange
    2009-08-04 Henning Brinkmann #i102844# robustness: check for NULL pointer to prevent crash
    2009-08-03 Henning Brinkmann #i103475# applied patch and verified
    2009-08-03 Henning Brinkmann Removed code preventing build of sw with DEBUG.
    2009-09-11 convert-repo update tags
    2009-09-10 kz CWS-TOOLING: integrate CWS os2port06dev300
    2009-09-05 22:49:00 +0200 ydario  r275858 : #i99588# applied os2port06 diff to DEV300 tree.
    2009-09-10 kz CWS-TOOLING: integrate CWS mingwport23
    2009-08-29 07:07:53 +0200 tono  r275555 : i#104522: mingw port graphite
    2009-08-29 07:07:26 +0200 tono  r275554 : i#104522: mingw port printf format fix
    2009-09-10 kz CWS-TOOLING: integrate CWS mh232
    2009-08-26 03:52:57 +0200 mh  r275385 : #i102182# FreeBSD patch
    2009-08-26 03:43:20 +0200 mh  r275384 : #i101333# patch for FreeBSD
    2009-08-26 03:11:20 +0200 mh  r275383 : #i39230
    2009-08-26 03:07:51 +0200 mh  r275382 : #i39230# more space for initials field
    2009-08-26 02:41:19 +0200 mh  r275380 : #i39230# use vos::osecurity for reading the user name
    2009-08-18 22:06:00 +0200 mh  r275130 : #i104243#, line ending problem with newer perl
    2009-08-18 21:53:21 +0200 mh  r275129 : #i39230# read initials via getpwnam
    2009-08-18 21:34:05 +0200 mh  r275128 : enable CAIROCANVAS for Linux and Mac, #i88613#
    2009-08-17 18:02:59 +0200 mh  r275067 : #i95498# make compile with gcc3
    2009-09-10 kz CWS-TOOLING: integrate CWS tkr24
    2009-09-07 14:31:06 +0200 is  r275898 : #160081# adding NO_LICENSE_INTO_COPYRIGHT
    2009-09-10 releng #i10000# change KeyMapping to SingletonRef<framework::KeyMapping>
    2009-09-11 convert-repo update tags
    2009-09-10 kz CWS-TOOLING: integrate CWS os2port06dev300
    2009-09-05 22:49:00 +0200 ydario  r275858 : #i99588# applied os2port06 diff to DEV300 tree.
    2009-09-10 kz CWS-TOOLING: integrate CWS mingwport23
    2009-08-29 07:07:53 +0200 tono  r275555 : i#104522: mingw port graphite
    2009-08-29 07:07:26 +0200 tono  r275554 : i#104522: mingw port printf format fix
    2009-09-10 kz CWS-TOOLING: integrate CWS mh232
    2009-08-26 03:52:57 +0200 mh  r275385 : #i102182# FreeBSD patch
    2009-08-26 03:43:20 +0200 mh  r275384 : #i101333# patch for FreeBSD
    2009-08-26 03:11:20 +0200 mh  r275383 : #i39230
    2009-08-26 03:07:51 +0200 mh  r275382 : #i39230# more space for initials field
    2009-08-26 02:41:19 +0200 mh  r275380 : #i39230# use vos::osecurity for reading the user name
    2009-08-18 22:06:00 +0200 mh  r275130 : #i104243#, line ending problem with newer perl
    2009-08-18 21:53:21 +0200 mh  r275129 : #i39230# read initials via getpwnam
    2009-08-18 21:34:05 +0200 mh  r275128 : enable CAIROCANVAS for Linux and Mac, #i88613#
    2009-08-17 18:02:59 +0200 mh  r275067 : #i95498# make compile with gcc3
    2009-09-10 kz CWS-TOOLING: integrate CWS tkr24
    2009-09-07 14:31:06 +0200 is  r275898 : #160081# adding NO_LICENSE_INTO_COPYRIGHT
    2009-09-10 releng #i10000# change KeyMapping to SingletonRef<framework::KeyMapping>

diff --git a/offapi/com/sun/star/text/TextPortion.idl b/offapi/com/sun/star/text/TextPortion.idl
index 18a54c7..d4ab79f 100644
--- a/offapi/com/sun/star/text/TextPortion.idl
+++ b/offapi/com/sun/star/text/TextPortion.idl
@@ -1,7 +1,7 @@
 /*************************************************************************
  *
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
+ *
  * Copyright 2008 by Sun Microsystems, Inc.
  *
  * OpenOffice.org - a multi-platform office productivity suite
@@ -113,6 +113,7 @@ published service TextPortion
         <dt>Ruby</dt><dd>a ruby attribute which is used in Asian text</dd>
         <dt>Frame</dt><dd>a frame</dd>
         <dt>SoftPageBreak</dt><dd>a soft page break</dd>
+        <dt>InContentMetadata</dt><dd>a text range with attached metadata</dd>
     </dl>
     <p>For Reference marks, document index marks, etc., 2 text portions
        will be generated, one for the start position and one for the
@@ -123,42 +124,50 @@ published service TextPortion
     //-------------------------------------------------------------------------
     /** contains the control character of a text portion of type
         ControlCharacter.
+        @deprecated type ControlCharacter no longer implemented
      */
     [readonly, property] short ControlCharacter;
-    
+
     //-------------------------------------------------------------------------
     /** contains the bookmark of a text portion of type Bookmark. */
     [optional, readonly, property]
     ::com::sun::star::text::XTextContent Bookmark;
-    
+
     //-------------------------------------------------------------------------
     /** contains the document index mark of a text portion of type
         DocumentIndexMark. */
     [optional, readonly, property]
     ::com::sun::star::text::XTextContent DocumentIndexMark;
-    
+
     //-------------------------------------------------------------------------
     /** contains the bookmark of a text portion of type ReferenceMark. */
     [optional, readonly, property]
     ::com::sun::star::text::XTextContent ReferenceMark;
-    
+
     //-------------------------------------------------------------------------
     /** contains the footnote of a text portion of type Footnote. */
     [optional, readonly, property]
     ::com::sun::star::text::XFootnote Footnote;
-    
+
     //-------------------------------------------------------------------------
     /** contains the text field of a text portion of type TextField. */
     [optional, readonly, property]
     ::com::sun::star::text::XTextField TextField;
-    
+
+    //-------------------------------------------------------------------------
+    /** contains the text range of a text portion of type InContentMetadata.
+        @since OOo 3.2
+     */
+    [optional, readonly, property]
+    ::com::sun::star::text::XTextContent InContentMetadata;
+
     //-------------------------------------------------------------------------
     /** contains whether the portion is a point only. */
     [optional, readonly, property] boolean IsCollapsed;
-    
+
     //-------------------------------------------------------------------------
     /** contains whether the portion is the start of the portion.
-    
+
         <p>This is used for portions which are represented by
         2 TextPortion objects (e.g., DocmentIndexMark).</p>
      */
diff --git a/offapi/com/sun/star/text/makefile.mk b/offapi/com/sun/star/text/makefile.mk
index 18ad6ab..c018c94 100644
--- a/offapi/com/sun/star/text/makefile.mk
+++ b/offapi/com/sun/star/text/makefile.mk
@@ -107,6 +107,7 @@ IDLFILES=\
      HorizontalAdjust.idl\
      HypertextDocument.idl\
     IllustrationsIndex.idl\
+    InContentMetadata.idl\
      InvalidTextContentException.idl\
         LabelFollow.idl\
      LineNumberingProperties.idl\
diff --git a/offapi/com/sun/star/text/textfield/makefile.mk b/offapi/com/sun/star/text/textfield/makefile.mk
index 46506a4..0defebd 100644
--- a/offapi/com/sun/star/text/textfield/makefile.mk
+++ b/offapi/com/sun/star/text/textfield/makefile.mk
@@ -70,6 +70,7 @@ IDLFILES=\
     InputUser.idl\
     JumpEdit.idl\
     Macro.idl\
+    MetadataField.idl\
     PageCount.idl\
     PageNumber.idl\
     ParagraphCount.idl\
commit a8d70187c2ba1aae25183b189c6d5f3bcbb2fc6e
Author: Kurt Zenker <kz at openoffice.org>
Date:   Fri Sep 11 11:45:29 2009 +0000

    CWS-TOOLING: integrate CWS jl131
    2009-09-02 16:42:40 +0200 jl  r275720 : #i97896#
    2009-08-31 13:01:53 +0200 jl  r275599 : CWS-TOOLING: rebase CWS jl131 to trunk at 275331 (milestone: DEV300:m56)
    2009-07-31 14:35:30 +0200 jl  r274531 : CWS-TOOLING: rebase CWS jl131 to trunk at 274203 (milestone: DEV300:m53)
    2009-07-23 14:20:32 +0200 jl  r274272 : #i79839# better error text when trying to modify shared layer without having write permission, eg. unopkg add --shared, unopkg remove --shared, unopkg reinstall --shared
    2009-07-22 16:38:02 +0200 jl  r274252 : #i97896# localize error message for lock file
    2009-07-22 16:37:22 +0200 jl  r274251 : #i80462# unprecise wording in updatedialog
    2009-07-22 16:36:06 +0200 jl  r274250 : #i97896# localize error message for lock file
    2009-07-22 16:35:20 +0200 jl  r274249 : #i97896# localize error message for lock file
    2009-07-22 15:07:30 +0200 jl  r274242 : #i98873# minimum java version is 1.5 since OOo 3.0

diff --git a/jvmfwk/distributions/OpenOfficeorg/javavendors_freebsd.xml b/jvmfwk/distributions/OpenOfficeorg/javavendors_freebsd.xml
index eec0ac9..c4653b9 100644
--- a/jvmfwk/distributions/OpenOfficeorg/javavendors_freebsd.xml
+++ b/jvmfwk/distributions/OpenOfficeorg/javavendors_freebsd.xml
@@ -7,13 +7,13 @@
  
  <vendorInfos> 
   <vendor name="Sun Microsystems Inc.">
-    <minVersion>1.3.1</minVersion>
+    <minVersion>1.5.0</minVersion>
   </vendor>
   <vendor name="The FreeBSD Foundation">
     <minVersion>1.6.0</minVersion>
   </vendor>
   <vendor name="Free Software Foundation, Inc.">
-    <minVersion>1.4.2</minVersion>
+    <minVersion>1.5.0</minVersion>
   </vendor>
  </vendorInfos>
 
commit fb3a06e782f6fbbcad2a840ba8adf012dd8e2245
Author: Kurt Zenker <kz at openoffice.org>
Date:   Thu Sep 10 22:44:47 2009 +0000

    CWS-TOOLING: integrate CWS os2port06dev300
    2009-09-05 22:49:00 +0200 ydario  r275858 : #i99588# applied os2port06 diff to DEV300 tree.

diff --git a/bridges/source/cpp_uno/gcc3_os2_intel/cpp2uno.cxx b/bridges/source/cpp_uno/gcc3_os2_intel/cpp2uno.cxx
index adfee0a..8fd5941 100644
--- a/bridges/source/cpp_uno/gcc3_os2_intel/cpp2uno.cxx
+++ b/bridges/source/cpp_uno/gcc3_os2_intel/cpp2uno.cxx
@@ -163,7 +163,8 @@ static typelib_TypeClass cpp2uno_call(
     (*pThis->getUnoI()->pDispatcher)(
         pThis->getUnoI(), pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc );
 #if OSL_DEBUG_LEVEL > 1
-    fprintf( stderr, ">cpp2uno_call pUnoExc %x\n", pUnoExc);
+    if (pUnoExc != NULL)
+        fprintf( stderr, ">cpp2uno_call pUnoExc %x\n", pUnoExc);
 #endif
 
     // in case an exception occured...
diff --git a/jvmfwk/distributions/OpenOfficeorg/javavendors_os2.xml b/jvmfwk/distributions/OpenOfficeorg/javavendors_os2.xml
index 0d0ff56..2882c27 100644
--- a/jvmfwk/distributions/OpenOfficeorg/javavendors_os2.xml
+++ b/jvmfwk/distributions/OpenOfficeorg/javavendors_os2.xml
@@ -7,10 +7,10 @@
  
  <vendorInfos> 
   <vendor name="Sun Microsystems Inc.">
-    <minVersion>1.5.0</minVersion>
+    <minVersion>1.4.2</minVersion>
   </vendor>
   <vendor name="IBM Corporation">
-    <minVersion>1.5.0</minVersion>
+    <minVersion>1.4.2</minVersion>
   </vendor>
  </vendorInfos>
 
diff --git a/jvmfwk/plugins/sunmajor/pluginlib/otherjre.cxx b/jvmfwk/plugins/sunmajor/pluginlib/otherjre.cxx
index b0038d9..fe5970d 100644
--- a/jvmfwk/plugins/sunmajor/pluginlib/otherjre.cxx
+++ b/jvmfwk/plugins/sunmajor/pluginlib/otherjre.cxx
@@ -65,11 +65,15 @@ char const* const* OtherInfo::getJavaExePaths(int * size)
 char const* const* OtherInfo::getRuntimePaths(int * size)
 {
     static char const* ar[]= {
-#if defined(WNT) || defined(OS2)
+#if defined(WNT)
         "/bin/client/jvm.dll",
         "/bin/hotspot/jvm.dll",
         "/bin/classic/jvm.dll",
     "/bin/jrockit/jvm.dll"
+#elif defined(OS2)
+        "/bin/classic/jvm.dll",
+        "/bin/client/jvm.dll",
+        "/bin/hotspot/jvm.dll"
 #elif UNX
 #ifdef MACOSX
         "/../../../JavaVM"
diff --git a/jvmfwk/plugins/sunmajor/pluginlib/sunjre.cxx b/jvmfwk/plugins/sunmajor/pluginlib/sunjre.cxx
index 71d47de..cbc04fd 100644
--- a/jvmfwk/plugins/sunmajor/pluginlib/sunjre.cxx
+++ b/jvmfwk/plugins/sunmajor/pluginlib/sunjre.cxx
@@ -74,8 +74,6 @@ char const* const* SunInfo::getRuntimePaths(int * size)
         "/bin/classic/jvm.dll"
 #elif defined(OS2)
         "/bin/classic/jvm.dll",
-        "/bin/client/jvm.dll",
-        "/bin/hotspot/jvm.dll"
 #elif UNX
         "/lib/" JFW_PLUGIN_ARCH "/client/libjvm.so",
         "/lib/" JFW_PLUGIN_ARCH "/server/libjvm.so",
diff --git a/jvmfwk/plugins/sunmajor/pluginlib/util.cxx b/jvmfwk/plugins/sunmajor/pluginlib/util.cxx
index abc283c..1c846a4 100644
--- a/jvmfwk/plugins/sunmajor/pluginlib/util.cxx
+++ b/jvmfwk/plugins/sunmajor/pluginlib/util.cxx
@@ -65,6 +65,7 @@ using namespace rtl;
 using namespace osl;
 using namespace std;
 
+#define CHAR_POINTER(oustr) ::rtl::OUStringToOString(oustr,RTL_TEXTENCODING_UTF8).pData->buffer
 #define OUSTR(x) ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM(x) )
 #ifdef WNT
 #define HKEY_SUN_JRE L"Software\\JavaSoft\\Java Runtime Environment"
@@ -449,7 +450,11 @@ bool getJavaProps(const OUString & exePath,
         rs = stdoutReader.readLine( & aLine);
         if (rs != FileHandleReader::RESULT_OK)
             break;
+        JFW_TRACE2(OString("[Java framework] line:\" ")
+               + aLine + OString(" \".\n"));
         OUString sLine = decodeOutput(aLine);
+        JFW_TRACE2(OString("[Java framework] line:\" ")
+               + OString( CHAR_POINTER(sLine)) + OString(" \".\n"));
         sLine = sLine.trim();
         if (sLine.getLength() == 0)
             continue;
diff --git a/pyuno/prj/d.lst b/pyuno/prj/d.lst
index 16631ad..5fe7400 100644
--- a/pyuno/prj/d.lst
+++ b/pyuno/prj/d.lst
@@ -16,6 +16,7 @@ mkdir: %_DEST%\lib%_EXT%\pyuno
 ..\%__SRC%\bin\uno.py %_DEST%\bin%_EXT%\pyuno\uno.py
 ..\%__SRC%\bin\pyuno_services.rdb %_DEST%\bin%_EXT%\pyuno_services.rdb
 ..\%__SRC%\bin\pyuno.pyd %_DEST%\bin%_EXT%\pyuno.pyd
+..\%__SRC%\bin\pyuno.dll %_DEST%\bin%_EXT%\pyuno.dll
 ..\%__SRC%\bin\pythonl*.dll %_DEST%\bin%_EXT%\pythonl*.dll
 
 ..\%__SRC%\misc\pyunorc %_DEST%\lib%_EXT%\pyunorc
diff --git a/pyuno/source/module/makefile.mk b/pyuno/source/module/makefile.mk
index 94de195..cb1ef41 100644
--- a/pyuno/source/module/makefile.mk
+++ b/pyuno/source/module/makefile.mk
@@ -56,6 +56,9 @@ EXTRA_FRAMEWORK_FLAG=-framework Python
 # pyuno.so even on Mac OS X, because it is a python module
 PYUNO_MODULE=$(DLLDEST)$/pyuno.so
 PYUNORC=pyunorc
+.ELIF "$(GUI)" == "OS2"
+.INCLUDE :  pyversion.mk
+PYUNORC=pyuno.ini
 .ELSE
 .INCLUDE :  pyversion.mk
 PYUNORC=pyuno.ini
diff --git a/sal/osl/os2/debug.c b/sal/osl/os2/debug.c
index 315fed4..53a9d23 100644
--- a/sal/osl/os2/debug.c
+++ b/sal/osl/os2/debug.c
@@ -1,3 +1,33 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ * 
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile:$
+ * $Revision:$
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org.  If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
 /*
  *@@sourcefile debug.c:
  *      this file contains debugging functions for the
@@ -27,20 +57,15 @@
  */
 
 /*
- *      This file Copyright (C) 1992-99 Ulrich M”ller,
+ *      This file Copyright (C) 1992-99 Ulrich M�ller,
  *                                      Kim Rasmussen,
  *                                      Marc Fiammante,
  *                                      John Currier,
  *                                      Anthony Cruise.
  *      This file is part of the "XWorkplace helpers" source package.
- *      This is free software; you can redistribute it and/or modify
- *      it under the terms of the GNU General Public License as published
- *      by the Free Software Foundation, in version 2 as it comes in the
- *      "COPYING" file of the XWorkplace main distribution.
- *      This program is distributed in the hope that it will be useful,
- *      but WITHOUT ANY WARRANTY; without even the implied warranty of
- *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *      GNU General Public License for more details.
+ *
+ *      2009-06-15 published under LGPL3 with Ulrich M�ller permission.
+ *
  */
 
 //#define DEBUG_SYMDUMP // enable to dump sym file to log
@@ -1484,7 +1509,7 @@ void dbgPrintVariables(FILE *LogFile,   // in: text log file to write to
                         (PVOID)stackofs,
                         func_name);
                 fprintf(LogFile, "     Offset Name                 Type                              Value            \n");
-                fprintf(LogFile, "     ÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\n");
+                fprintf(LogFile, "     ������ �������������������� ��������������������������������� �����������������\n");
             }
 
             // If it's one of the simple types
@@ -1880,7 +1905,7 @@ VOID dbgPrintStack(FILE *LogFile,           // in: text log file to write to
     fprintf(LogFile, "\n\nCall stack:\n");
     fprintf(LogFile, "                                        Source    Line      Nearest\n");
     fprintf(LogFile, "   EBP      Address    Module  Obj#      File     Numbr  Public Symbol\n");
-    fprintf(LogFile, " ÄÄÄÄÄÄÄÄ  ÄÄÄÄÄÄÄÄ-  ÄÄÄÄÄÄÄÄ ÄÄÄÄ  ÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄ  ÄÄÄÄÄÄÄÄÄÄÄÄ-\n");
+    fprintf(LogFile, " ��������  ��������-  �������� ����  ������������ �����  ������������-\n");
 
     do
     {
diff --git a/sal/osl/os2/except.c b/sal/osl/os2/except.c
index e1ae9fb..3a34368 100644
--- a/sal/osl/os2/except.c
+++ b/sal/osl/os2/except.c
@@ -1,3 +1,32 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ * 
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile:$
+ * $Revision:$
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org.  If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
 
 /*
  *@@sourcefile except.c:
@@ -178,7 +207,7 @@
  *         exception handling DLL, available at Hobbes).
  *
  *      If not explicitly stated otherwise, the code has been written
- *      by me, Ulrich M”ller.
+ *      by me, Ulrich M�ller.
  *
  *      Note: Version numbering in this file relates to XWorkplace version
  *            numbering.
@@ -187,7 +216,7 @@
  */
 
 /*
- *      This file Copyright (C) 1992-99 Ulrich M”ller,
+ *      This file Copyright (C) 1992-99 Ulrich M�ller,
  *                                      Monte Copeland,
  *                                      Roman Stangl,
  *                                      Kim Rasmussen,
@@ -195,14 +224,9 @@
  *                                      John Currier,
  *                                      Anthony Cruise.
  *      This file is part of the "XWorkplace helpers" source package.
- *      This is free software; you can redistribute it and/or modify
- *      it under the terms of the GNU General Public License as published
- *      by the Free Software Foundation, in version 2 as it comes in the
- *      "COPYING" file of the XWorkplace main distribution.
- *      This program is distributed in the hope that it will be useful,
- *      but WITHOUT ANY WARRANTY; without even the implied warranty of
- *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *      GNU General Public License for more details.
+ *
+ *      2009-06-15 published under LGPL3 with Ulrich M�ller permission.
+ *
  */
 
 #define OS2EMX_PLAIN_CHAR
diff --git a/sal/osl/os2/helpers/debug.h b/sal/osl/os2/helpers/debug.h
index be35be3..a2370c5 100644
--- a/sal/osl/os2/helpers/debug.h
+++ b/sal/osl/os2/helpers/debug.h
@@ -1,3 +1,32 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ * 
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile:$
+ * $Revision:$
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org.  If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
 
 /*
  *@@sourcefile debug.h:
@@ -21,19 +50,14 @@
  *         Anthony Cruise (EXCEPT3.ZIP package for a generic
  *         exception handling DLL, available at Hobbes).
  *
- *      This file Copyright (C) 1992-99 Ulrich M”ller,
+ *      This file Copyright (C) 1992-99 Ulrich M�ller,
  *                                      Kim Rasmussen,
  *                                      Marc Fiammante,
  *                                      John Currier,
  *                                      Anthony Cruise.
- *      This program is free software; you can redistribute it and/or modify
- *      it under the terms of the GNU General Public License as published by
- *      the Free Software Foundation, in version 2 as it comes in the COPYING
- *      file of the XFolder main distribution.
- *      This program is distributed in the hope that it will be useful,
- *      but WITHOUT ANY WARRANTY; without even the implied warranty of
- *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *      GNU General Public License for more details.
+ *
+ *      2009-06-15 published under LGPL3 with Ulrich M�ller permission.
+ *
  */
 
 #ifndef DEBUG_HEADER_INCLUDED
diff --git a/sal/osl/os2/helpers/dosh.h b/sal/osl/os2/helpers/dosh.h
index d2e936a..9c9cd80 100644
--- a/sal/osl/os2/helpers/dosh.h
+++ b/sal/osl/os2/helpers/dosh.h
@@ -1,28 +1,39 @@
-
-/*
- *@@sourcefile dosh.h:
- *      header file for dosh.c. See remarks there.
+/*************************************************************************
  *
- *      Note: Version numbering in this file relates to XWorkplace version
- *            numbering.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ * 
+ * Copyright 2008 by Sun Microsystems, Inc.
  *
- *@@include #define INCL_DOSPROCESS
- *@@include #define INCL_DOSDEVIOCTL    // for doshQueryDiskParams only
- *@@include #include <os2.h>
- *@@include #include "helpers\dosh.h"
- */
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile:$
+ * $Revision:$
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org.  If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
 
-/*      This file Copyright (C) 1997-2001 Ulrich M”ller,
+/*      This file Copyright (C) 1997-2006 Ulrich M�ller,
  *                                        Dmitry A. Steklenev.
  *      This file is part of the "XWorkplace helpers" source package.
- *      This is free software; you can redistribute it and/or modify
- *      it under the terms of the GNU General Public License as published
- *      by the Free Software Foundation, in version 2 as it comes in the
- *      "COPYING" file of the XWorkplace main distribution.
- *      This program is distributed in the hope that it will be useful,
- *      but WITHOUT ANY WARRANTY; without even the implied warranty of
- *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *      GNU General Public License for more details.
+ *
+ *      2009-06-15 published under LGPL3 with Ulrich M�ller permission.
+ *
  */
 
 #if __cplusplus
@@ -32,886 +43,10 @@ extern "C" {
 #ifndef DOSH_HEADER_INCLUDED
     #define DOSH_HEADER_INCLUDED
 
-    /* ******************************************************************
-     *
-     *   Wrappers
-     *
-     ********************************************************************/
-
-    // if DOSH_STANDARDWRAPPERS is #define'd before including dosh.h,
-    // all the following Dos* API calls are redirected to the dosh*
-    // counterparts
-
-    #ifdef DOSH_STANDARDWRAPPERS
-
-        #ifdef INCL_DOSPROCESS
-
-            APIRET XWPENTRY doshSleep(ULONG msec);
-            #define DosSleep(a) doshSleep((a))
-
-        #endif
-
-        #ifdef INCL_DOSSEMAPHORES
-
-            APIRET XWPENTRY doshCreateMutexSem(PSZ pszName,
-                                               PHMTX phmtx,
-                                               ULONG flAttr,
-                                               BOOL32 fState);
-            #define DosCreateMutexSem(a, b, c, d) doshCreateMutexSem((a), (b), (c), (d))
-
-            APIRET XWPENTRY doshRequestMutexSem(HMTX hmtx, ULONG ulTimeout);
-            #define DosRequestMutexSem(h, t) doshRequestMutexSem((h), (t))
-
-            APIRET XWPENTRY doshReleaseMutexSem(HMTX hmtx);
-            #define DosReleaseMutexSem(h) doshReleaseMutexSem((h))
-
-        #endif
-
-        #ifdef INCL_DOSEXCEPTIONS
-
-            APIRET XWPENTRY doshSetExceptionHandler(PEXCEPTIONREGISTRATIONRECORD pERegRec);
-            #define DosSetExceptionHandler(a) doshSetExceptionHandler((a))
-
-            APIRET XWPENTRY doshUnsetExceptionHandler(PEXCEPTIONREGISTRATIONRECORD pERegRec);
-            #define DosUnsetExceptionHandler(a) doshUnsetExceptionHandler((a))
-
-        #endif
-
-    #endif
-
-    /* ******************************************************************
-     *
-     *   Miscellaneous
-     *
-     ********************************************************************/
-
-    CHAR doshGetChar(VOID);
-
-    BOOL doshQueryShiftState(VOID);
-
-    ULONG doshIsWarp4(VOID);
-
-    PSZ doshQuerySysErrorMsg(APIRET arc);
-
-    ULONG doshQuerySysUptime(VOID);
-
-    /* ******************************************************************
-     *
-     *   Memory helpers
-     *
-     ********************************************************************/
-
-    PVOID doshMalloc(ULONG cb,
-                     APIRET *parc);
-
-    APIRET doshAllocArray(ULONG c,
-                          ULONG cbArrayItem,
-                          PBYTE *ppv,
-                          PULONG pcbAllocated);
-
-    PVOID doshAllocSharedMem(ULONG ulSize,
-                             const char* pcszName);
-
-    PVOID doshRequestSharedMem(PCSZ pcszName);
-
-    /* ******************************************************************
-     *
-     *   Drive helpers
-     *
-     ********************************************************************/
-
-    APIRET doshIsFixedDisk(ULONG  ulLogicalDrive,
-                           PBOOL  pfFixed);
-
-    #ifdef INCL_DOSDEVIOCTL
-
-        // #pragma pack(1)
-
-        /*
-         * DRIVEPARAMS:
-         *      structure used for doshQueryDiskParams.
-         * removed this, we can directly use BIOSPARAMETERBLOCK
-         * V0.9.13 (2001-06-14) [umoeller]
-         */
-
-        /* typedef struct _DRIVEPARAMS
-        {
-            BIOSPARAMETERBLOCK bpb;
-                        // BIOS parameter block. This is the first sector
-                        // (at byte 0) in each partition. This is defined
-                        // in the OS2 headers as follows:
-
-                        typedef struct _BIOSPARAMETERBLOCK {
-                    0     USHORT     usBytesPerSector;
-                                        //  Number of bytes per sector.
-                    2     BYTE       bSectorsPerCluster;
-                                        //  Number of sectors per cluster.
-                    3     USHORT     usReservedSectors;
-                                        //  Number of reserved sectors.
-                    5     BYTE       cFATs;
-                                        //  Number of FATs.
-                    6     USHORT     cRootEntries;
-                                        //  Number of root directory entries.
-                    8     USHORT     cSectors;
-                                        //  Number of sectors.
-                    10    BYTE       bMedia;
-                                        //  Media descriptor.
-                    11    USHORT     usSectorsPerFAT;
-                                        //  Number of secctors per FAT.
-                    13    USHORT     usSectorsPerTrack;
-                                        //  Number of sectors per track.
-                    15    USHORT     cHeads;
-                                        //  Number of heads.
-                    17    ULONG      cHiddenSectors;
-                                        //  Number of hidden sectors.
-                    21    ULONG      cLargeSectors;
-                                        //  Number of large sectors.
-                    25    BYTE       abReserved[6];
-                                        //  Reserved.
-                    31    USHORT     cCylinders;
-                                        //  Number of cylinders defined for the physical
-                                        // device.
-                    33    BYTE       bDeviceType;
-                                        //  Physical layout of the specified device.
-                    34    USHORT     fsDeviceAttr;
-                                        //  A bit field that returns flag information
-                                        //  about the specified drive.
-                        } BIOSPARAMETERBLOCK;
-
-            // removed the following fields... these are already
-            // in the extended BPB structure, as defined in the
-            // Toolkit's BIOSPARAMETERBLOCK struct. Checked this,
-            // the definition is the same for the Toolkit 3 and 4.5.
-
-            USHORT  usCylinders;
-                        // no. of cylinders
-            UCHAR   ucDeviceType;
-                        // device type; according to the IBM Control
-                        // Program Reference (see DSK_GETDEVICEPARAMS),
-                        // this value can be:
-                        // --  0:  48 TPI low-density diskette drive
-                        // --  1:  96 TPI high-density diskette drive
-                        // --  2:  3.5-inch 720KB diskette drive
-                        // --  3:  8-Inch single-density diskette drive
-                        // --  4:  8-Inch double-density diskette drive
-                        // --  5:  Fixed disk
-                        // --  6:  Tape drive
-                        // --  7:  Other (includes 1.44MB 3.5-inch diskette drive
-                        //         and CD-ROMs)
-                        // --  8:  R/W optical disk
-                        // --  9:  3.5-inch 4.0MB diskette drive (2.88MB formatted)
-            USHORT  usDeviceAttrs;
-                        // DEVATTR_* flags
-        } DRIVEPARAMS, *PDRIVEPARAMS;
-        #pragma pack() */
-
-        APIRET doshQueryDiskParams(ULONG ulLogicalDrive,
-                                   PBIOSPARAMETERBLOCK pdp);
-
-        BYTE doshQueryDriveType(ULONG ulLogicalDrive,
-                                PBIOSPARAMETERBLOCK pdp,
-                                BOOL fFixed);
-
-        APIRET XWPENTRY doshHasAudioCD(ULONG ulLogicalDrive,
-                                       HFILE hfDrive,
-                                       BOOL fMixedModeCD,
-                                       PBOOL pfAudio);
-
-    #endif
-
-    VOID XWPENTRY doshEnumDrives(PSZ pszBuffer,
-                                 PCSZ pcszFileSystem,
-                                 BOOL fSkipRemoveables);
-    typedef VOID XWPENTRY DOSHENUMDRIVES(PSZ pszBuffer,
-                                         PCSZ pcszFileSystem,
-                                         BOOL fSkipRemoveables);
-    typedef DOSHENUMDRIVES *PDOSHENUMDRIVES;
-
     CHAR doshQueryBootDrive(VOID);
 
-    #define ERROR_AUDIO_CD_ROM          10000
-
-    #define DRVFL_MIXEDMODECD        0x0001
-    #define DRVFL_TOUCHFLOPPIES      0x0002
-    #define DRVFL_CHECKEAS           0x0004
-    #define DRVFL_CHECKLONGNAMES     0x0008
-
-    APIRET doshAssertDrive(ULONG ulLogicalDrive,
-                           ULONG fl);
-
-    #ifdef INCL_DOSDEVIOCTL
-
-        /*
-         *@@ XDISKINFO:
-         *
-         *@@added V0.9.16 (2002-01-13) [umoeller]
-         */
-
-        typedef struct _XDISKINFO
-        {
-            CHAR        cDriveLetter;           // drive letter
-            CHAR        cLogicalDrive;          // logical drive no.
-
-            BOOL        fPresent;               // if FALSE, drive does not exist
-
-            // the following are only valid if fPresent == TRUE
-
-            BIOSPARAMETERBLOCK bpb;
-                            // 0x00 USHORT usBytesPerSector;
-                            // 0x02 BYTE   bSectorsPerCluster;
-                            // 0x03 USHORT usReservedSectors;
-                            // 0x05 BYTE   cFATs;
-                            // 0x06 USHORT cRootEntries;
-                            // 0x08 USHORT cSectors;
-                            // 0x0a BYTE   bMedia;
-                            // 0x0b USHORT usSectorsPerFAT;
-                            // 0x0d USHORT usSectorsPerTrack;
-                            // 0x0f USHORT cHeads;
-                            // 0x11 ULONG  cHiddenSectors;
-                            // 0x15 ULONG  cLargeSectors;
-                            // 0x19 BYTE   abReserved[6];
-                            // 0x1a USHORT cCylinders;
-                            // 0x1c BYTE   bDeviceType;
-                                #ifndef DEVTYPE_48TPI
-                                #define DEVTYPE_48TPI                      0x0000
-                                #define DEVTYPE_96TPI                      0x0001
-                                #define DEVTYPE_35                         0x0002
-                                #define DEVTYPE_8SD                        0x0003
-                                #define DEVTYPE_8DD                        0x0004
-                                #define DEVTYPE_FIXED                      0x0005
-                                #define DEVTYPE_TAPE                       0x0006
-                                #endif
-                                #define DEVTYPE_OTHER                      0x0007
-                                            // includes 1.44 3.5" floppy
-                                #define DEVTYPE_RWOPTICAL                  0x0008
-                                #define DEVTYPE_35_288MB                   0x0009
-                            // 0x1d USHORT fsDeviceAttr;
-                                #define DEVATTR_REMOVEABLE              0x0001
-                                            // drive is removeable
-                                #define DEVATTR_CHANGELINE              0x0002
-                                            // device can determine whether media has
-                                            // been removed since last I/O operation
-                                #define DEVATTR_GREATER16MB             0x0004
-                                            // physical device driver supports physical
-                                            // addresses > 16 MB
-                                #define DEVATTR_PARTITIONALREMOVEABLE   0x0008
-                                            // undocumented flag; set for ZIP drives
-
-            BYTE        bType;
-                // do not change these codes, XWorkplace relies
-                // on them too to parse WPDisk data
-                #define DRVTYPE_HARDDISK                0
-                #define DRVTYPE_FLOPPY                  1
-                #define DRVTYPE_TAPE                    2
-                #define DRVTYPE_VDISK                   3
-                #define DRVTYPE_CDROM                   4
-                #define DRVTYPE_LAN                     5
-                #define DRVTYPE_PARTITIONABLEREMOVEABLE 6
-                #define DRVTYPE_UNKNOWN               255
-
-            ULONG       flDevice;
-                // any combination of the following:
-                #define DFL_REMOTE                      0x0001
-                            // drive is remote (not local)
-                #define DFL_FIXED                       0x0002
-                            // drive is fixed; otherwise it is removeable!
-                            // always set for harddisks and zip drives
-                #define DFL_PARTITIONABLEREMOVEABLE     0x0004
-                            // set for zip drives;
-                            // in that case, DFL_FIXED is set also
-                #define DFL_BOOTDRIVE                   0x0008
-                            // drive was booted from
-
-                // media flags:
-
-                #define DFL_MEDIA_PRESENT               0x1000
-                            // media is present in drive;
-                            // -- always set for harddisks,
-                            //    unless the file system is not
-                            //    understood
-                            // -- always set for remove drives
-                            // -- always set for A: and B:
-                            // -- set for CD-ROMS only if data
-                            //    CD-ROM is inserted
-                #define DFL_AUDIO_CD                    0x2000
-                            // set for CD-ROMs only, if an audio CD
-                            // is currently inserted; in that case,
-                            // DFL_MEDIA_PRESENT is _not_ set
-                #define DFL_SUPPORTS_EAS                0x4000
-                            // drive supports extended attributes
-                            // (assumption based on DosFSCtl,
-                            // might not be correct for remote drives;
-                            // reports correctly for FAT32 though)
-                #define DFL_SUPPORTS_LONGNAMES          0x8000
-                            // drive supports long names; this does not
-                            // necessarily mean that we support all IFS
-                            // characters also
-
-            // the following are only valid if DFL_MEDIA_PRESENT is set;
-            // they are always set for drives A: and B:
-
-            CHAR        szFileSystem[30];
-                            // e.g. "FAT" or "HPFS" or "JFS" or "CDFS"
-
-            LONG        lFileSystem;
-                // do not change these codes, XWorkplace relies
-                // on them too to parse WPDisk data
-                #define FSYS_UNKNOWN         0
-                            // drive not formatted, or unknown file system
-                #define FSYS_FAT             1
-                #define FSYS_HPFS_JFS        2
-                #define FSYS_CDFS            3
-                #define FSYS_CDWFS           6      // not used by WPS!
-                            // added V0.9.19 (2002-04-25) [umoeller]
-                #define FSYS_TVFS            7      // not used by WPS!
-                #define FSYS_FAT32_EXT2      8      // not used by WPS!
-                #define FSYS_RAMFS           9      // not used by WPS!
-                #define FSYS_REMOTE         10
-                // NOTE: if this has a negative value, this is
-                // the APIRET code from DosQueryFSAttach
-
-            // error codes for various operations
-            APIRET  arcIsFixedDisk,
-                    arcQueryDiskParams,
-                    arcQueryMedia,
-                    arcOpenLongnames;
-
-        } XDISKINFO, *PXDISKINFO;
-
-        APIRET doshGetDriveInfo(ULONG ulLogicalDrive,
-                                ULONG fl,
-                                PXDISKINFO pdi);
-
-    #endif
-
-    APIRET doshSetLogicalMap(ULONG ulLogicalDrive);
-
-    APIRET XWPENTRY doshQueryDiskSize(ULONG ulLogicalDrive, double *pdSize);
-    typedef APIRET XWPENTRY DOSHQUERYDISKSIZE(ULONG ulLogicalDrive, double *pdSize);
-    typedef DOSHQUERYDISKSIZE *PDOSHQUERYDISKSIZE;
-
-    APIRET XWPENTRY doshQueryDiskFree(ULONG ulLogicalDrive, double *pdFree);
-    typedef APIRET XWPENTRY DOSHQUERYDISKFREE(ULONG ulLogicalDrive, double *pdFree);
-    typedef DOSHQUERYDISKFREE *PDOSHQUERYDISKFREE;
-
-    APIRET XWPENTRY doshQueryDiskFSType(ULONG ulLogicalDrive, PSZ pszBuf, ULONG cbBuf);
-    typedef APIRET XWPENTRY DOSHQUERYDISKFSTYPE(ULONG ulLogicalDrive, PSZ pszBuf, ULONG cbBuf);
-    typedef DOSHQUERYDISKFSTYPE *PDOSHQUERYDISKFSTYPE;
-
-    APIRET doshQueryDiskLabel(ULONG ulLogicalDrive,
-                              PSZ pszVolumeLabel);
-
-    APIRET doshSetDiskLabel(ULONG ulLogicalDrive,
-                            PSZ pszNewLabel);
-
-    /* ******************************************************************
-     *
-     *   Module handling helpers
-     *
-     ********************************************************************/
-
-    APIRET doshQueryProcAddr(PCSZ pcszModuleName,
-                             ULONG ulOrdinal,
-                             PFN *ppfn);
-
-    /*
-     *@@ RESOLVEFUNCTION:
-     *      one of these structures each define
-     *      a single function import to doshResolveImports.
-     *
-     *@@added V0.9.3 (2000-04-25) [umoeller]
-     */
-
-    typedef struct _RESOLVEFUNCTION
-    {
-        const char  *pcszFunctionName;
-        PFN         *ppFuncAddress;
-    } RESOLVEFUNCTION, *PRESOLVEFUNCTION;
-
-    typedef const struct _RESOLVEFUNCTION *PCRESOLVEFUNCTION;
-
-    APIRET doshResolveImports(PCSZ pcszModuleName,
-                              HMODULE *phmod,
-                              PCRESOLVEFUNCTION paResolves,
-                              ULONG cResolves);
-
-    /* ******************************************************************
-     *
-     *   Performance Counters (CPU Load)
-     *
-     ********************************************************************/
-
-    #define CMD_PERF_INFO           0x41
-    #define CMD_KI_ENABLE           0x60
-    #define CMD_KI_DISABLE          0x61
-    #ifndef CMD_KI_RDCNT
-        #define CMD_KI_RDCNT            0x63
-        typedef APIRET APIENTRY FNDOSPERFSYSCALL(ULONG ulCommand,
-                                                 ULONG ulParm1,
-                                                 ULONG ulParm2,
-                                                 ULONG ulParm3);
-        typedef FNDOSPERFSYSCALL *PFNDOSPERFSYSCALL;
-    #endif
-
-    typedef struct _CPUUTIL
-    {
-        ULONG ulTimeLow;     // low 32 bits of time stamp
-        ULONG ulTimeHigh;    // high 32 bits of time stamp
-        ULONG ulIdleLow;     // low 32 bits of idle time
-        ULONG ulIdleHigh;    // high 32 bits of idle time
-        ULONG ulBusyLow;     // low 32 bits of busy time
-        ULONG ulBusyHigh;    // high 32 bits of busy time
-        ULONG ulIntrLow;     // low 32 bits of interrupt time
-        ULONG ulIntrHigh;    // high 32 bits of interrupt time
-    } CPUUTIL, *PCPUUTIL;
-
-    // macro to convert 8-byte (low, high) time value to double
-    #define LL2F(high, low) (4294967296.0*(high)+(low))
-
-    /*
-     *@@ DOSHPERFSYS:
-     *      structure used with doshPerfOpen.
-     *
-     *@@added V0.9.7 (2000-12-02) [umoeller]
-     *@@changed V0.9.9 (2001-03-14) [umoeller]: added interrupt load
-     */
-
-    typedef struct _DOSHPERFSYS
-    {
-        // output: no. of processors on the system
-        ULONG       cProcessors;
-        // output: one CPU load for each CPU
-        PLONG       palLoads;
-
-        // output: one CPU interrupt load for each CPU
-        PLONG       palIntrs;
-
-        // each of the following ptrs points to an array of cProcessors items
-        PCPUUTIL    paCPUUtils;     // CPUUTIL structures
-        double      *padBusyPrev;   // previous "busy" calculations
-        double      *padTimePrev;   // previous "time" calculations
-        double      *padIntrPrev;   // previous "intr" calculations
-
-        // private stuff
-        HMODULE     hmod;
-        BOOL        fInitialized;
-        PFNDOSPERFSYSCALL pDosPerfSysCall;
-    } DOSHPERFSYS, *PDOSHPERFSYS;
-
-    APIRET doshPerfOpen(PDOSHPERFSYS *ppPerfSys);
-
-    APIRET doshPerfGet(PDOSHPERFSYS pPerfSys);
-
-    APIRET doshPerfClose(PDOSHPERFSYS *ppPerfSys);
-
-    /* ******************************************************************
-     *
-     *   File name parsing
-     *
-     ********************************************************************/
-
-    APIRET doshGetDriveSpec(PCSZ pcszFullFile,
-                            PSZ pszDrive,
-                            PULONG pulDriveLen,
-                            PBOOL pfIsUNC);
-
-    PSZ doshGetExtension(PCSZ pcszFilename);
-
-    /* ******************************************************************
-     *
-     *   File helpers
-     *
-     ********************************************************************/
-
-    BOOL doshIsFileOnFAT(const char* pcszFileName);
-
-    APIRET doshIsValidFileName(const char* pcszFile,
-                               BOOL fFullyQualified);
-
-    BOOL doshMakeRealName(PSZ pszTarget, PSZ pszSource, CHAR cReplace, BOOL fIsFAT);
-
-    APIRET doshQueryFileSize(HFILE hFile,
-                             PULONG pulSize);
-
-    APIRET doshQueryPathSize(PCSZ pcszFile,
-                             PULONG pulSize);
-
-    APIRET doshQueryPathAttr(const char* pcszFile,
-                             PULONG pulAttr);
-
-    APIRET doshSetPathAttr(const char* pcszFile,
-                           ULONG ulAttr);
-
-    /* ******************************************************************
-     *
-     *   XFILEs
-     *
-     ********************************************************************/
-
-    /*
-     *@@ XFILE:
-     *
-     *@@added V0.9.16 (2001-10-19) [umoeller]
-     */
-
-    typedef struct _XFILE
-    {
-        HFILE       hf;
-
-        PSZ         pszFilename;    // as given to doshOpen
-        ULONG       flOpenMode;     // as given to doshOpen
-
-        ULONG       cbInitial,  // intial file size on open (can be 0 if new)
-                    cbCurrent;  // current file size (raised with each write)
-
-        PBYTE       pbCache;    // if != NULL, cached data from doshReadAt
-        ULONG       cbCache,    // size of data in cbCache
-                    ulReadFrom; // file offset where pbCache was read from
-    } XFILE, *PXFILE;
-
-    #define XOPEN_READ_EXISTING           0x0001
-    #define XOPEN_READWRITE_EXISTING      0x0002
-    #define XOPEN_READWRITE_APPEND        0x0003
-    #define XOPEN_READWRITE_NEW           0x0004
-    #define XOPEN_ACCESS_MASK             0xffff
-
-    #define XOPEN_BINARY              0x10000000
-
-    APIRET doshOpen(PCSZ pcszFilename,
-                    ULONG flOpenMode,
-                    PULONG pcbFile,
-                    PXFILE *ppFile);
-
-    #define DRFL_NOCACHE            0x0001
-    #define DRFL_FAILIFLESS         0x0002
-
-    APIRET doshReadAt(PXFILE pFile,
-                      ULONG ulOffset,
-                      PULONG pcb,
-                      PBYTE pbData,
-                      ULONG fl);
-
-    APIRET doshWrite(PXFILE pFile,
-                     ULONG cb,
-                     PCSZ pbData);
-
-    APIRET doshWriteAt(PXFILE pFile,
-                       ULONG ulOffset,
-                       ULONG cb,
-                       PCSZ pbData);
-
-    APIRET doshWriteLogEntry(PXFILE pFile,
-                             const char* pcszFormat,
-                             ...);
-
-    APIRET doshClose(PXFILE *ppFile);
-
-    APIRET doshReadText(PXFILE pFile,
-                        PSZ* ppszContent,
-                        PULONG pcbRead);
-
-    APIRET doshLoadTextFile(PCSZ pcszFile,
-                            PSZ* ppszContent,
-                            PULONG pcbRead);
-
-    PSZ doshCreateBackupFileName(const char* pszExisting);
-
-    APIRET doshCreateTempFileName(PSZ pszTempFileName,
-                                  PCSZ pcszDir,
-                                  PCSZ pcszPrefix,
-                                  PCSZ pcszExt);
-
-    APIRET doshWriteTextFile(const char* pszFile,
-                             const char* pszContent,
-                             PULONG pulWritten,
-                             PSZ pszBackup);
-
-
-    /* ******************************************************************
-     *
-     *   Directory helpers
-     *
-     ********************************************************************/
-
-    BOOL doshQueryDirExist(PCSZ pcszDir);
-
-    APIRET doshCreatePath(PCSZ pcszPath,
-                          BOOL fHidden);
-
-    APIRET doshQueryCurrentDir(PSZ pszBuf);
-
-    APIRET doshSetCurrentDir(PCSZ pcszDir);
-
-    #define DOSHDELDIR_RECURSE      0x0001
-    #define DOSHDELDIR_DELETEFILES  0x0002
-
-    APIRET doshDeleteDir(PCSZ pcszDir,
-                         ULONG flFlags,
-                         PULONG pulDirs,
-                         PULONG pulFiles);
-
-    APIRET doshCanonicalize(PCSZ pcszFileIn,
-                            PSZ pszFileOut,
-                            ULONG cbFileOut);
-
-    /* ******************************************************************
-     *
-     *   Process helpers
-     *
-     ********************************************************************/
-
-    ULONG XWPENTRY doshMyPID(VOID);
-    typedef ULONG XWPENTRY DOSHMYPID(VOID);
-    typedef DOSHMYPID *PDOSHMYPID;
-
-    ULONG XWPENTRY doshMyTID(VOID);
-    typedef ULONG XWPENTRY DOSHMYTID(VOID);
-    typedef DOSHMYTID *PDOSHMYTID;
-
-    APIRET doshExecVIO(PCSZ pcszExecWithArgs,
-                       PLONG plExitCode);
-
-    APIRET doshQuickStartSession(PCSZ pcszPath,
-                                 PCSZ pcszParams,
-                                 BOOL fForeground,
-                                 USHORT usPgmCtl,
-                                 BOOL fWait,
-                                 PULONG pulSID,
-                                 PPID ppid,
-                                 PUSHORT pusReturn);
-
-    APIRET doshSearchPath(PCSZ pcszPath,
-                          PCSZ pcszFile,
-                          PSZ pszExecutable,
-                          ULONG cbExecutable);
-
-    APIRET doshFindExecutable(PCSZ pcszCommand,
-                              PSZ pszExecutable,
-                              ULONG cbExecutable,
-                              PCSZ *papcszExtensions,
-                              ULONG cExtensions);
-
-    /********************************************************************
-     *
-     *   Partition functions
-     *
-     ********************************************************************/
-
-    /*
-     *@@ LVMINFO:
-     *      informational structure created by
-     *      doshQueryLVMInfo.
-     *
-     *@@added V0.9.9 (2001-04-07) [umoeller]
-     */
-
-    typedef struct _LVMINFO
-    {
-        HMODULE hmodLVM;
-
-    } LVMINFO, *PLVMINFO;
-
-    /* #define DOSH_PARTITIONS_LIMIT   10
-
-    #define PAR_UNUSED      0x00    // Unused
-    #define PAR_FAT12SMALL  0x01    // DOS FAT 12-bit < 10 Mb
-    #define PAR_XENIXROOT   0x02    // XENIX root
-    #define PAR_XENIXUSER   0x03    // XENIX user
-    #define PAR_FAT16SMALL  0x04    // DOS FAT 16-bit < 32 Mb
-    #define PAR_EXTENDED    0x05    // Extended partition
-    #define PAR_FAT16BIG    0x06    // DOS FAT 16-bit > 32 Mb
-    #define PAR_HPFS        0x07    // OS/2 HPFS
-    #define PAR_AIXBOOT     0x08    // AIX bootable partition
-    #define PAR_AIXDATA     0x09    // AIX bootable partition
-    #define PAR_BOOTMANAGER 0x0A    // OS/2 Boot Manager
-    #define PAR_WINDOWS95   0x0B    // Windows 95 32-bit FAT
-    #define PAR_WINDOWS95LB 0x0C    // Windows 95 32-bit FAT with LBA
-    #define PAR_VFAT16BIG   0x0E    // LBA VFAT (same as 06h but using LBA-mode)
-    #define PAR_VFAT16EXT   0x0F    // LBA VFAT (same as 05h but using LBA-mode)
-    #define PAR_OPUS        0x10    // OPUS
-    #define PAR_HID12SMALL  0x11    // OS/2 hidden DOS FAT 12-bit
-    #define PAR_COMPAQDIAG  0x12    // Compaq diagnostic
-    #define PAR_HID16SMALL  0x14    // OS/2 hidden DOS FAT 16-bit
-    #define PAR_HID16BIG    0x16    // OS/2 hidden DOS FAT 16-bit
-    #define PAR_HIDHPFS     0x17    // OS/2 hidden HPFS
-    #define PAR_WINDOWSSWP  0x18    // AST Windows Swap File
-    #define PAR_NECDOS      0x24    // NEC MS-DOS 3.x
-    #define PAR_THEOS       0x38    // THEOS
-    #define PAR_VENIX       0x40    // VENIX
-    #define PAR_RISCBOOT    0x41    // Personal RISC boot
-    #define PAR_SFS         0x42    // SFS
-    #define PAR_ONTRACK     0x50    // Ontrack
-    #define PAR_ONTRACKEXT  0x51    // Ontrack extended partition
-    #define PAR_CPM         0x52    // CP/M
-    #define PAR_UNIXSYSV    0x63    // UNIX SysV/386
-    #define PAR_NOVELL_64   0x64    // Novell
-    #define PAR_NOVELL_65   0x65    // Novell
-    #define PAR_NOVELL_67   0x67    // Novell
-    #define PAR_NOVELL_68   0x68    // Novell
-    #define PAR_NOVELL_69   0x69    // Novell
-    #define PAR_PCIX        0x75    // PCIX
-    #define PAR_MINIX       0x80    // MINIX
-    #define PAR_LINUX       0x81    // Linux
-    #define PAR_LINUXSWAP   0x82    // Linux Swap Partition
-    #define PAR_LINUXFILE   0x83    // Linux File System
-    #define PAR_FREEBSD     0xA5    // FreeBSD
-    #define PAR_BBT         0xFF    // BBT
-    */
-
-    // one-byte alignment
-    #pragma pack(1)
-
-    /*
-     *@@ PAR_INFO:
-     *      partition table
-     */
-
-    typedef struct _PAR_INFO
-    {
-        BYTE      bBootFlag;          // 0=not active, 80H = active (boot this partition
-        BYTE      bBeginHead;         // partition begins at this head...
-        USHORT    rBeginSecCyl;       //  ...and this sector and cylinder (see below)
-        BYTE      bFileSysCode;       // file system type
-        BYTE      bEndHead;           // partition ends at this head...
-        USHORT    bEndSecCyl;         // ...and this sector and cylinder (see below)
-        ULONG     lBeginAbsSec;       // partition begins at this absolute sector #
-        ULONG     lTotalSects;        // total sectors in this partition
-    } PAR_INFO, *PPAR_INFO;
-
-    /*
-     *@@ MBR_INFO:
-     *      master boot record table.
-     *      This has the four primary partitions.
-     */
-
-    typedef struct _MBR_INFO          // MBR
-    {
-        BYTE      aBootCode[0x1BE];   // abBootCode master boot executable code
-        PAR_INFO  sPrtnInfo[4];       // primary partition entries
-        USHORT    wPrtnTblSig;        // partition table signature (aa55H)
-    } MBR_INFO, *PMBR_INFO;
-
-    /*
-     *@@ SYS_INFO:
-     *
-     */
-
-    typedef struct _SYS_INFO
-    {
-        BYTE      startable;
-        BYTE      unknown[3];
-        BYTE      bootable;
-        BYTE      name[8];
-        BYTE      reservd[3];
-    } SYS_INFO, *PSYS_INFO;
-
-    /*
-     *@@ SYE_INFO:
-     *
-     */
-
-    typedef struct _SYE_INFO
-    {
-        BYTE      bootable;
-        BYTE      name[8];
-    } SYE_INFO, *PSYE_INFO;
-
-    /*
-     *@@ EXT_INFO:
-     *
-     */
-
-    typedef struct _EXT_INFO
-    {
-        BYTE      aBootCode[0x18A];   // abBootCode master boot executable code
-        SYE_INFO  sBmNames[4];        // System Names
-        BYTE      bReserved[16];      // reserved
-        PAR_INFO  sPrtnInfo[4];       // partitioms entrys
-        USHORT    wPrtnTblSig;        // partition table signature (aa55H)
-    } EXT_INFO, *PEXT_INFO;
-
-    typedef struct _PARTITIONINFO *PPARTITIONINFO;
-
-    /*
-     *@@ PARTITIONINFO:
-     *      informational structure returned
-     *      by doshGetPartitionsList. One of
-     *      these items is created for each
-     *      bootable partition.
-     */
-
-    typedef struct _PARTITIONINFO
-    {
-        BYTE    bDisk;                  // drive number
-        CHAR    cLetter;                // probable drive letter or ' ' if none
-        BYTE    bFSType;                // file system type
-        PCSZ    pcszFSType;             // file system name (as returned by
-                                        // doshType2FSName, can be NULL!)
-        BOOL    fPrimary;               // primary partition?
-        BOOL    fBootable;              // bootable by Boot Manager?
-        CHAR    szBootName[21];         // Boot Manager name, if (fBootable)
-                                        // extended for LVM names V0.9.20 (2002-08-10) [umoeller]
-        ULONG   ulSize;                 // size MBytes
-        PPARTITIONINFO pNext;           // next info or NULL if last
-    } PARTITIONINFO;
-
-    UINT doshQueryDiskCount(VOID);
-
-    APIRET doshReadSector(USHORT disk,
-                          void *buff,
-                          USHORT head,
-                          USHORT cylinder,
-                          USHORT sector);
-
-    // restore original alignment
-    #pragma pack()
-
-    const char* doshType2FSName(unsigned char bFSType);
-
-    APIRET doshGetBootManager(USHORT   *pusDisk,
-                              USHORT   *pusPart,
-                              PAR_INFO *BmInfo);
-
-    typedef struct _PARTITIONSLIST
-    {
-        PLVMINFO        pLVMInfo;           // != NULL if LVM is installed
-
-        // partitions array
-        PPARTITIONINFO  pPartitionInfo;
-        USHORT          cPartitions;
-    } PARTITIONSLIST, *PPARTITIONSLIST;
-
-    APIRET doshGetPartitionsList(PPARTITIONSLIST *ppList,
-                                 PUSHORT pusContext);
-
-    APIRET doshFreePartitionsList(PPARTITIONSLIST ppList);
-
-    APIRET doshQueryLVMInfo(PLVMINFO *ppLVMInfo);
-
-    APIRET doshReadLVMPartitions(PLVMINFO pInfo,
-                                 PPARTITIONINFO *ppPartitionInfo,
-                                 PUSHORT pcPartitions);
-
-    VOID doshFreeLVMInfo(PLVMINFO pInfo);
-
-    /* ******************************************************************
-     *
-     *   Wildcard matching
-     *
-     ********************************************************************/
-
-    BOOL doshMatchCase(PCSZ pcszMask,
-                       PCSZ pcszName);
-
-    BOOL doshMatchCaseNoPath(const char *pcszMask,
-                             const char *pcszName);
-
-    BOOL doshMatch(PCSZ pcszMask,
-                   PCSZ pcszName);
-
 #endif
 
 #if __cplusplus
 }
 #endif
-
diff --git a/sal/osl/os2/helpers/except.h b/sal/osl/os2/helpers/except.h
index 6a898ba..959975b 100644
--- a/sal/osl/os2/helpers/except.h
+++ b/sal/osl/os2/helpers/except.h
@@ -1,3 +1,32 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ * 
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile:$
+ * $Revision:$
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org.  If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
 
 /*
  *@@sourcefile except.h:
@@ -15,15 +44,10 @@
  */
 
 /*
- *      Copyright (C) 1999-2000 Ulrich M”ller.
- *      This program is free software; you can redistribute it and/or modify
- *      it under the terms of the GNU General Public License as published by
- *      the Free Software Foundation, in version 2 as it comes in the COPYING
- *      file of the XFolder main distribution.
- *      This program is distributed in the hope that it will be useful,
- *      but WITHOUT ANY WARRANTY; without even the implied warranty of
- *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *      GNU General Public License for more details.
+ *      Copyright (C) 1999-2000 Ulrich M�ller.
+ *
+ *      2009-06-15 published under LGPL3 with Ulrich M�ller permission.
+ *
  */
 
 #if __cplusplus
diff --git a/sal/osl/os2/helpers/setup.h b/sal/osl/os2/helpers/setup.h
index 015d930..bcf3154 100644
--- a/sal/osl/os2/helpers/setup.h
+++ b/sal/osl/os2/helpers/setup.h
@@ -1,3 +1,35 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ * 
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile:$
+ * $Revision:$
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org.  If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ *      2009-06-15 published under LGPL3 with Ulrich M�ller permission.
+ *
+ *
+ ************************************************************************/
 
 /*
  *  setup.h:
diff --git a/sal/osl/os2/module.c b/sal/osl/os2/module.c
index dfc1887..f6aabbf 100644
--- a/sal/osl/os2/module.c
+++ b/sal/osl/os2/module.c
@@ -109,7 +109,7 @@ oslModule SAL_CALL osl_loadModule(rtl_uString *ustrModuleName, sal_Int32 nRtldMo
                     pModule = (oslModule)hModule;
                 else
                 {
-                    sal_Char szError[ 120 ];
+                    sal_Char szError[ PATH_MAX*2 ];
                     sprintf( szError, "Module: %s; rc: %d;\nReason: %s;\n"
                             "Please contact technical support and report above informations.\n\n", 
                             buffer, rc, szErrorMessage );
diff --git a/sal/osl/os2/process.c b/sal/osl/os2/process.c
index d903edb..ee0e76c 100644
--- a/sal/osl/os2/process.c
+++ b/sal/osl/os2/process.c
@@ -551,7 +551,8 @@ oslProcessError SAL_CALL osl_psz_executeProcess(sal_Char *pszImageName,
         {
             for (i = first; pszArguments[i] != NULL; i++)
                 n += strlen(pszArguments[i]) + 1;
-            args = (sal_Char*)malloc(n);
+            // YD DosStartSession requires low-mem buffers!
+            args = (sal_Char*)_tmalloc(n);
             *args = '\0';
             for (i = first; pszArguments[i] != NULL; i++)
             {
@@ -567,7 +568,8 @@ oslProcessError SAL_CALL osl_psz_executeProcess(sal_Char *pszImageName,
         {
             for (i = 0; pszEnvironments[i] != NULL; i++)
                 n += strlen(pszEnvironments[i]) + 1;
-            envs = (sal_Char*)malloc(n + 1);
+            // YD DosStartSession requires low-mem buffers!
+            envs = (sal_Char*)_tmalloc(n + 1);
             pStr = (sal_Char*)envs;
             for (i = 0; pszEnvironments[i] != NULL; i++)
             {
@@ -660,9 +662,9 @@ oslProcessError SAL_CALL osl_psz_executeProcess(sal_Char *pszImageName,
 
     
         if(envs)
-            free(envs);
+            _tfree(envs);
         if(args)
-            free(args);
+            _tfree(args);
 
         if( rc != NO_ERROR )
             return osl_Process_E_Unknown;
diff --git a/ure/source/makefile.mk b/ure/source/makefile.mk
index 17dbdb3..9736ca5 100644
--- a/ure/source/makefile.mk
+++ b/ure/source/makefile.mk
@@ -35,7 +35,7 @@ TARGET := $(PRJNAME)
 
 .INCLUDE: settings.mk
 
-.IF "$(OS)" == "WNT"
+.IF "$(OS)" == "WNT" || "$(OS)" == "OS2"
 MY_RC = .ini
 .ELSE
 MY_RC = rc
diff --git a/xml2cmp/source/xcd/filebuff.cxx b/xml2cmp/source/xcd/filebuff.cxx
index 9767a84..35ced8f 100644
--- a/xml2cmp/source/xcd/filebuff.cxx
+++ b/xml2cmp/source/xcd/filebuff.cxx
@@ -59,11 +59,7 @@ LoadXmlFile( Buffer & 			o_rBuffer,
 
     // Read file:
     aXmlFile.read(o_rBuffer.Data(), (int) nBufferSize);
-#ifdef OS2 // YD eof&fail are set, so check for fail&bad
-    bool ret = aXmlFile.fail() != 0;
-#else
     bool ret = aXmlFile.good() != 0;
-#endif
     aXmlFile.close();
     return ret;
 }
commit fd41a34aef5811de737f55f72ab477d83cd6f7be
Author: Kurt Zenker <kz at openoffice.org>
Date:   Thu Sep 10 22:38:33 2009 +0000

    CWS-TOOLING: integrate CWS mingwport23
    2009-08-29 07:07:53 +0200 tono  r275555 : i#104522: mingw port graphite
    2009-08-29 07:07:26 +0200 tono  r275554 : i#104522: mingw port printf format fix

diff --git a/sal/inc/sal/types.h b/sal/inc/sal/types.h
index 89a0794..db53e7e 100644
--- a/sal/inc/sal/types.h
+++ b/sal/inc/sal/types.h
@@ -124,10 +124,17 @@ typedef unsigned char       sal_uInt8;
         #define SAL_CONST_INT64(x)       x##ll
         #define SAL_CONST_UINT64(x)      x##ull
 
+    #ifdef __MINGW32__
+    #define SAL_PRIdINT64 "I64d"
+    #define SAL_PRIuUINT64 "I64u"
+    #define SAL_PRIxUINT64 "I64x"
+    #define SAL_PRIXUINT64 "I64X"
+    #else
         #define SAL_PRIdINT64 "lld"
         #define SAL_PRIuUINT64 "llu"
         #define SAL_PRIxUINT64 "llx"
         #define SAL_PRIXUINT64 "llX"
+    #endif
     #else
         #error "Could not find 64-bit type, add support for your architecture"
     #endif
@@ -170,7 +177,7 @@ typedef void *                   sal_Handle;
 
 /* printf-style conversion specification length modifiers for size_t and
    ptrdiff_t (most platforms support C99, MSC has its own extension) */
-#if defined _MSC_VER
+#if defined(_MSC_VER) || defined(__MINGW32__)
     #define SAL_PRI_SIZET "I"
     #define SAL_PRI_PTRDIFFT "I"
 #else


More information about the ooo-build-commit mailing list