From 8e75c86a0cdcb7026d22732aaa840e7ee8144edb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A9=20van=20Geldorp?= Date: Sat, 8 Oct 2005 17:10:59 +0000 Subject: [PATCH] =?UTF-8?q?Sync=20to=20Wine-20050930:=20Francois=20Gouget?= =?UTF-8?q?=20=20-=20Fix=20.spec=20declarations=20for=20f?= =?UTF-8?q?unctinos=20with=2064bit=20arguments=20(reported=20by=20=20=20wi?= =?UTF-8?q?napi=5Fcheck).=20Robert=20Shearman=20=20-?= =?UTF-8?q?=20Add=20VT=5FUNKNOWN=20support=20for=20VARIANT=20marshaling=20?= =?UTF-8?q?by=20generalising=20the=20=20=20existing=20VT=5FDISPATCH=20code?= =?UTF-8?q?.=20-=20Fix=20ref-counting=20rules=20to=20match=20native=20DCOM?= =?UTF-8?q?=20Dlls.=20Alex=20Villac=C3=ADs=20Lasso=20=20-=20Modify=20VarDiv()=20and=20VarSub()=20to=20use=20t?= =?UTF-8?q?he=20existing=20VarDecSub()=20and=20=20=20VarDecDiv()=20for=20D?= =?UTF-8?q?ECIMAL.=20-=20Fix=20a=20scaling=20error=20in=20VarR4FromDec()?= =?UTF-8?q?=20and=20VarR8FromDec()=20that=20=20=20incorrectly=20multiplies?= =?UTF-8?q?=20the=20high=2032=20bits=20of=20the=20DECIMAL=20by=201e64=20in?= =?UTF-8?q?stead=20=20=20of=20the=20correct=202^64.=20-=20Make=20Single|Do?= =?UTF-8?q?uble->BSTR=20conversion=20use=20the=20specified=20locale=20for?= =?UTF-8?q?=20the=20=20=20decimal=20point=20even=20without=20the=20LOCALE?= =?UTF-8?q?=5FUSE=5FNLS=20flag.=20Test=20supplied.=20Alexandre=20Julliard?= =?UTF-8?q?=20=20-=20We=20are=20no=20longer=20generat?= =?UTF-8?q?ing=20.spec.c=20files.=20-=20Removed=20unused=20debug=20channel?= =?UTF-8?q?s.=20-=20Specify=2064-bit=20integers=20as=20double=20instead=20?= =?UTF-8?q?of=20long=20long=20in=20spec=20files=20=20=20so=20that=20we=20g?= =?UTF-8?q?et=20the=20correct=20number=20of=20arguments.=20-=20Use=20a=20m?= =?UTF-8?q?ore=20portable=20scheme=20for=20storing=20the=20name=20of=20a?= =?UTF-8?q?=20critical=20=20=20section.=20-=20Use=20MAKEINTRESOURCE=20inst?= =?UTF-8?q?ead=20of=20casts=20where=20appropriate.=20-=20We=20are=20no=20l?= =?UTF-8?q?onger=20generating=20.dbg.c=20files.=20Milko=20Krachounov=20=20-=20Bulgarian=20resources=20for=20mpr,=20msi,?= =?UTF-8?q?=20user,=20commdlg,=20oleaut32,=20shdocvw,=20=20=20shell32,=20c?= =?UTF-8?q?omctl32,=20msrle32,=20mshtml,=20winspool,=20wineps,=20serialui,?= =?UTF-8?q?=20=20=20setupapi,=20wininet,=20regedit,=20uninstaller,=20notep?= =?UTF-8?q?ad,=20winecfg=20and=20=20=20winhelp.=20Mike=20McCormack=20=20-=20Fix=20"empty=20body=20in=20an=20if/else?= =?UTF-8?q?-statement"=20warnings.=20Walt=20Ogburn=20=20-=20Get=20IFontDisp=20type=20information=20from=20stdole?= =?UTF-8?q?2.tlb,=20instead=20of=20IDispatch=20=20=20information=20from=20?= =?UTF-8?q?stdole32.tlb.=20Marcus=20Meissner=20=20-?= =?UTF-8?q?=20Support=20more=20arguments=20in=20=5Finvoke().=20Marcus=20Me?= =?UTF-8?q?issner=20=20-=20VT=5FPTR->VT=5FUSERDEFINED=20?= =?UTF-8?q?chains=20depend=20on=20the=20TKIND=20of=20the=20userdefined=20?= =?UTF-8?q?=20=20type=20due=20to=20our=20handling=20of=20COM=20interfaces?= =?UTF-8?q?=20in=20there.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit svn path=/trunk/; revision=18342 --- reactos/lib/oleaut32/dispatch.c | 1 - reactos/lib/oleaut32/oleaut32.rc | 97 ++++++++++++------------- reactos/lib/oleaut32/oleaut32.spec | 108 ++++++++++++++-------------- reactos/lib/oleaut32/oleaut32_Bg.rc | 31 ++++++++ reactos/lib/oleaut32/oleaut32_Cz.rc | 62 ++++++++-------- reactos/lib/oleaut32/oleaut32_De.rc | 62 ++++++++-------- reactos/lib/oleaut32/oleaut32_Dk.rc | 62 ++++++++-------- reactos/lib/oleaut32/oleaut32_En.rc | 62 ++++++++-------- reactos/lib/oleaut32/oleaut32_Es.rc | 62 ++++++++-------- reactos/lib/oleaut32/oleaut32_Fr.rc | 62 ++++++++-------- reactos/lib/oleaut32/oleaut32_Hu.rc | 62 ++++++++-------- reactos/lib/oleaut32/oleaut32_It.rc | 62 ++++++++-------- reactos/lib/oleaut32/oleaut32_Nl.rc | 62 ++++++++-------- reactos/lib/oleaut32/oleaut32_No.rc | 62 ++++++++-------- reactos/lib/oleaut32/oleaut32_Pl.rc | 64 ++++++++--------- reactos/lib/oleaut32/oleaut32_Pt.rc | 62 ++++++++-------- reactos/lib/oleaut32/oleaut32_Ru.rc | 62 ++++++++-------- reactos/lib/oleaut32/oleaut32_Sv.rc | 62 ++++++++-------- reactos/lib/oleaut32/oleaut32_Th.rc | 62 ++++++++-------- reactos/lib/oleaut32/olefont.c | 8 +-- reactos/lib/oleaut32/tmarshal.c | 65 +++++++++++++++-- reactos/lib/oleaut32/typelib.c | 31 ++++++-- reactos/lib/oleaut32/usrmarshal.c | 58 +++++++++------ reactos/lib/oleaut32/variant.c | 16 +++++ reactos/lib/oleaut32/vartype.c | 57 +++++++++++++-- reactos/lib/oleaut32/version.rc | 46 ++++++------ 26 files changed, 819 insertions(+), 631 deletions(-) create mode 100644 reactos/lib/oleaut32/oleaut32_Bg.rc diff --git a/reactos/lib/oleaut32/dispatch.c b/reactos/lib/oleaut32/dispatch.c index fbee4d8f09b..73179e5b7bc 100644 --- a/reactos/lib/oleaut32/dispatch.c +++ b/reactos/lib/oleaut32/dispatch.c @@ -40,7 +40,6 @@ #include "wine/debug.h" WINE_DEFAULT_DEBUG_CHANNEL(ole); -WINE_DECLARE_DEBUG_CHANNEL(typelib); static IDispatch * WINAPI StdDispatch_Construct(IUnknown * punkOuter, void * pvThis, ITypeInfo * pTypeInfo); diff --git a/reactos/lib/oleaut32/oleaut32.rc b/reactos/lib/oleaut32/oleaut32.rc index d1ebc0ee38d..7fd23fdef21 100644 --- a/reactos/lib/oleaut32/oleaut32.rc +++ b/reactos/lib/oleaut32/oleaut32.rc @@ -1,48 +1,49 @@ -/* - * Top level resource file for oleaut32 - * - * Copyright 2003 Jon Griffiths - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library 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 for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#include "windef.h" -#include "winbase.h" -#include "resource.h" - -#include "version.rc" - -#include "oleaut32_De.rc" -#include "oleaut32_Dk.rc" -#include "oleaut32_En.rc" -#include "oleaut32_Es.rc" -#include "oleaut32_Cz.rc" -#include "oleaut32_Fr.rc" -#include "oleaut32_Hu.rc" -#include "oleaut32_It.rc" -#include "oleaut32_Nl.rc" -#include "oleaut32_No.rc" -#include "oleaut32_Pl.rc" -#include "oleaut32_Pt.rc" -#include "oleaut32_Ru.rc" -#include "oleaut32_Sv.rc" -#include "oleaut32_Th.rc" - -/* - * FIXME: - * Finnish, Greek, Hebrew, Japanese, Korean, - * Turkish, Slovenian (at least) are localised in XP Home. - * I expect Chinese etc are localised in Asian Editions also. - */ +/* + * Top level resource file for oleaut32 + * + * Copyright 2003 Jon Griffiths + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#include "windef.h" +#include "winbase.h" +#include "resource.h" + +#include "version.rc" + +#include "oleaut32_Bg.rc" +#include "oleaut32_De.rc" +#include "oleaut32_Dk.rc" +#include "oleaut32_En.rc" +#include "oleaut32_Es.rc" +#include "oleaut32_Cz.rc" +#include "oleaut32_Fr.rc" +#include "oleaut32_Hu.rc" +#include "oleaut32_It.rc" +#include "oleaut32_Nl.rc" +#include "oleaut32_No.rc" +#include "oleaut32_Pl.rc" +#include "oleaut32_Pt.rc" +#include "oleaut32_Ru.rc" +#include "oleaut32_Sv.rc" +#include "oleaut32_Th.rc" + +/* + * FIXME: + * Finnish, Greek, Hebrew, Japanese, Korean, + * Turkish, Slovenian (at least) are localised in XP Home. + * I expect Chinese etc are localised in Asian Editions also. + */ diff --git a/reactos/lib/oleaut32/oleaut32.spec b/reactos/lib/oleaut32/oleaut32.spec index cac6ae44b00..2d4c3f65ba6 100644 --- a/reactos/lib/oleaut32/oleaut32.spec +++ b/reactos/lib/oleaut32/oleaut32.spec @@ -48,7 +48,7 @@ 49 stdcall VarI2FromI4(long ptr) 50 stdcall VarI2FromR4(long ptr) 51 stdcall VarI2FromR8(double ptr) -52 stdcall VarI2FromCy(long long ptr) +52 stdcall VarI2FromCy(double ptr) 53 stdcall VarI2FromDate(double ptr) 54 stdcall VarI2FromStr(wstr long long ptr) 55 stdcall VarI2FromDisp(ptr long ptr) @@ -58,7 +58,7 @@ 59 stdcall VarI4FromI2(long ptr) 60 stdcall VarI4FromR4(long ptr) 61 stdcall VarI4FromR8(double ptr) -62 stdcall VarI4FromCy(long long ptr) +62 stdcall VarI4FromCy(double ptr) 63 stdcall VarI4FromDate(double ptr) 64 stdcall VarI4FromStr(wstr long long ptr) 65 stdcall VarI4FromDisp(ptr long ptr) @@ -68,7 +68,7 @@ 69 stdcall VarR4FromI2(long ptr) 70 stdcall VarR4FromI4(long ptr) 71 stdcall VarR4FromR8(double ptr) -72 stdcall VarR4FromCy(long long ptr) +72 stdcall VarR4FromCy(double ptr) 73 stdcall VarR4FromDate(double ptr) 74 stdcall VarR4FromStr(wstr long long ptr) 75 stdcall VarR4FromDisp(ptr long ptr) @@ -78,7 +78,7 @@ 79 stdcall VarR8FromI2(long ptr) 80 stdcall VarR8FromI4(long ptr) 81 stdcall VarR8FromR4(long ptr) -82 stdcall VarR8FromCy(long long ptr) +82 stdcall VarR8FromCy(double ptr) 83 stdcall VarR8FromDate(double ptr) 84 stdcall VarR8FromStr(wstr long long ptr) 85 stdcall VarR8FromDisp(ptr long ptr) @@ -89,7 +89,7 @@ 90 stdcall VarDateFromI4(long ptr) 91 stdcall VarDateFromR4(long ptr) 92 stdcall VarDateFromR8(double ptr) -93 stdcall VarDateFromCy(long long ptr) +93 stdcall VarDateFromCy(double ptr) 94 stdcall VarDateFromStr(wstr long long ptr) 95 stdcall VarDateFromDisp(ptr long ptr) 96 stdcall VarDateFromBool(long ptr) @@ -109,7 +109,7 @@ 110 stdcall VarBstrFromI4(long long long ptr) 111 stdcall VarBstrFromR4(long long long ptr) 112 stdcall VarBstrFromR8(double long long ptr) -113 stdcall VarBstrFromCy(long long long long ptr) +113 stdcall VarBstrFromCy(double long long ptr) 114 stdcall VarBstrFromDate(double long long ptr) 115 stub VarBstrFromDisp 116 stdcall VarBstrFromBool(long long long ptr) @@ -120,7 +120,7 @@ 121 stdcall VarBoolFromR4(long ptr) 122 stdcall VarBoolFromR8(double ptr) 123 stdcall VarBoolFromDate(double ptr) -124 stdcall VarBoolFromCy(long long ptr) +124 stdcall VarBoolFromCy(double ptr) 125 stdcall VarBoolFromStr(wstr long long ptr) 126 stdcall VarBoolFromDisp(ptr long ptr) 127 stdcall VarFormatCurrency(ptr long long long long long ptr) @@ -130,7 +130,7 @@ 131 stdcall VarUI1FromI4(long ptr) 132 stdcall VarUI1FromR4(long ptr) 133 stdcall VarUI1FromR8(double ptr) -134 stdcall VarUI1FromCy(long long ptr) +134 stdcall VarUI1FromCy(double ptr) 135 stdcall VarUI1FromDate(double ptr) 136 stdcall VarUI1FromStr(wstr long long ptr) 137 stdcall VarUI1FromDisp(ptr long ptr) @@ -190,7 +190,7 @@ 193 stdcall VarDecFromR4(long ptr) 194 stdcall VarDecFromR8(double ptr) 195 stdcall VarDecFromDate(double ptr) -196 stdcall VarDecFromCy(long long ptr) +196 stdcall VarDecFromCy(double ptr) 197 stdcall VarDecFromStr(wstr long long ptr) 198 stdcall VarDecFromDisp(ptr long ptr) 199 stdcall VarDecFromBool(long ptr) @@ -244,7 +244,7 @@ 247 stdcall VarI1FromR4(long ptr) 248 stdcall VarI1FromR8(double ptr) 249 stdcall VarI1FromDate(double ptr) -250 stdcall VarI1FromCy(long long ptr) +250 stdcall VarI1FromCy(double ptr) 251 stdcall VarI1FromStr(wstr long long ptr) 252 stdcall VarI1FromDisp(ptr long ptr) 253 stdcall VarI1FromBool(long ptr) @@ -257,7 +257,7 @@ 260 stdcall VarUI2FromR4(long ptr) 261 stdcall VarUI2FromR8(double ptr) 262 stdcall VarUI2FromDate(double ptr) -263 stdcall VarUI2FromCy(long long ptr) +263 stdcall VarUI2FromCy(double ptr) 264 stdcall VarUI2FromStr(wstr long long ptr) 265 stdcall VarUI2FromDisp(ptr long ptr) 266 stdcall VarUI2FromBool(long ptr) @@ -270,7 +270,7 @@ 273 stdcall VarUI4FromR4(long ptr) 274 stdcall VarUI4FromR8(double ptr) 275 stdcall VarUI4FromDate(double ptr) -276 stdcall VarUI4FromCy(long long ptr) +276 stdcall VarUI4FromCy(double ptr) 277 stdcall VarUI4FromStr(wstr long long ptr) 278 stdcall VarUI4FromDisp(ptr long ptr) 279 stdcall VarUI4FromBool(long ptr) @@ -293,17 +293,17 @@ 296 stub LPSAFEARRAY_Marshal 297 stub LPSAFEARRAY_Unmarshal 298 stdcall VarDecCmpR8(ptr double) -299 stdcall VarCyAdd(long long long long ptr) -303 stdcall VarCyMul(long long long long ptr) -304 stdcall VarCyMulI4(long long long ptr) -305 stdcall VarCySub(long long long long ptr) -306 stdcall VarCyAbs(long long ptr) -307 stdcall VarCyFix(long long ptr) -308 stdcall VarCyInt(long long ptr) -309 stdcall VarCyNeg(long long ptr) -310 stdcall VarCyRound(long long long ptr) -311 stdcall VarCyCmp(long long long long) -312 stdcall VarCyCmpR8(long long double) +299 stdcall VarCyAdd(double double ptr) +303 stdcall VarCyMul(double double ptr) +304 stdcall VarCyMulI4(double long ptr) +305 stdcall VarCySub(double double ptr) +306 stdcall VarCyAbs(double ptr) +307 stdcall VarCyFix(double ptr) +308 stdcall VarCyInt(double ptr) +309 stdcall VarCyNeg(double ptr) +310 stdcall VarCyRound(double long ptr) +311 stdcall VarCyCmp(double double) +312 stdcall VarCyCmpR8(double double) 313 stdcall VarBstrCat(wstr wstr ptr) 314 stdcall VarBstrCmp(wstr wstr long long) 315 stdcall VarR8Pow(double double ptr) @@ -316,7 +316,7 @@ 325 stub SetVarConversionLocaleSetting 326 stub GetVarConversionLocaleSetting 327 stdcall SetOaNoCache() -329 stdcall VarCyMulI8(long long long long ptr) +329 stdcall VarCyMulI8(double double ptr) 330 stdcall VarDateFromUdate(ptr long ptr) 331 stdcall VarUdateFromDate(double long ptr) 332 stub GetAltMonthNames @@ -324,7 +324,7 @@ 334 stdcall VarI8FromI2(long long) 335 stdcall VarI8FromR4(long long) 336 stdcall VarI8FromR8(double long) -337 stdcall VarI8FromCy(long long ptr) +337 stdcall VarI8FromCy(double ptr) 338 stdcall VarI8FromDate(double long) 339 stdcall VarI8FromStr(wstr long long ptr) 340 stdcall VarI8FromDisp(ptr long ptr) @@ -333,30 +333,30 @@ 343 stdcall VarI8FromUI2(long long) 344 stdcall VarI8FromUI4(long long) 345 stdcall VarI8FromDec(ptr ptr) -346 stdcall VarI2FromI8(long long ptr) -347 stdcall VarI2FromUI8(long long ptr) -348 stdcall VarI4FromI8(long long ptr) -349 stdcall VarI4FromUI8(long long ptr) -360 stdcall VarR4FromI8(long long ptr) -361 stdcall VarR4FromUI8(long long ptr) -362 stdcall VarR8FromI8(long long ptr) -363 stdcall VarR8FromUI8(long long ptr) -364 stdcall VarDateFromI8(long long ptr) -365 stdcall VarDateFromUI8(long long ptr) -366 stdcall VarCyFromI8(long long ptr) -367 stdcall VarCyFromUI8(long long ptr) -368 stdcall VarBstrFromI8(long long long long ptr) -369 stdcall VarBstrFromUI8(long long long long ptr) -370 stdcall VarBoolFromI8(long long ptr) -371 stdcall VarBoolFromUI8(long long ptr) -372 stdcall VarUI1FromI8(long long ptr) -373 stdcall VarUI1FromUI8(long long ptr) -374 stdcall VarDecFromI8(long long ptr) -375 stdcall VarDecFromUI8(long long ptr) -376 stdcall VarI1FromI8(long long ptr) -377 stdcall VarI1FromUI8(long long ptr) -378 stdcall VarUI2FromI8(long long ptr) -379 stdcall VarUI2FromUI8(long long ptr) +346 stdcall VarI2FromI8(double ptr) +347 stdcall VarI2FromUI8(double ptr) +348 stdcall VarI4FromI8(double ptr) +349 stdcall VarI4FromUI8(double ptr) +360 stdcall VarR4FromI8(double ptr) +361 stdcall VarR4FromUI8(double ptr) +362 stdcall VarR8FromI8(double ptr) +363 stdcall VarR8FromUI8(double ptr) +364 stdcall VarDateFromI8(double ptr) +365 stdcall VarDateFromUI8(double ptr) +366 stdcall VarCyFromI8(double ptr) +367 stdcall VarCyFromUI8(double ptr) +368 stdcall VarBstrFromI8(double long long ptr) +369 stdcall VarBstrFromUI8(double long long ptr) +370 stdcall VarBoolFromI8(double ptr) +371 stdcall VarBoolFromUI8(double ptr) +372 stdcall VarUI1FromI8(double ptr) +373 stdcall VarUI1FromUI8(double ptr) +374 stdcall VarDecFromI8(double ptr) +375 stdcall VarDecFromUI8(double ptr) +376 stdcall VarI1FromI8(double ptr) +377 stdcall VarI1FromUI8(double ptr) +378 stdcall VarUI2FromI8(double ptr) +379 stdcall VarUI2FromUI8(double ptr) 380 stub UserHWND_from_local 381 stub UserHWND_to_local 382 stub UserHWND_free_inst @@ -393,15 +393,15 @@ 422 stub OleLoadPictureFile 423 stub OleSavePictureFile 424 stdcall OleLoadPicturePath(wstr ptr long long ptr ptr) -425 stdcall VarUI4FromI8(long long ptr) -426 stdcall VarUI4FromUI8(long long ptr) -427 stdcall VarI8FromUI8(long long ptr) -428 stdcall VarUI8FromI8(long long ptr) +425 stdcall VarUI4FromI8(double ptr) +426 stdcall VarUI4FromUI8(double ptr) +427 stdcall VarI8FromUI8(double ptr) +428 stdcall VarUI8FromI8(double ptr) 429 stdcall VarUI8FromUI1(long ptr) 430 stdcall VarUI8FromI2(long ptr) 431 stdcall VarUI8FromR4(long ptr) 432 stdcall VarUI8FromR8(double ptr) -433 stdcall VarUI8FromCy(long long ptr) +433 stdcall VarUI8FromCy(double ptr) 434 stdcall VarUI8FromDate(double ptr) 435 stdcall VarUI8FromStr(wstr long long ptr) 436 stdcall VarUI8FromDisp(ptr long ptr) diff --git a/reactos/lib/oleaut32/oleaut32_Bg.rc b/reactos/lib/oleaut32/oleaut32_Bg.rc new file mode 100644 index 00000000000..eca2633d6be --- /dev/null +++ b/reactos/lib/oleaut32/oleaut32_Bg.rc @@ -0,0 +1,31 @@ +/* + * Bulgarian resources for oleaut32 + * + * Copyright 2005 Milko Krachounov + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT + +STRINGTABLE DISCARDABLE +{ + IDS_TRUE "Èñòèíà" + IDS_FALSE "Ëúæà" + IDS_YES "Äà" + IDS_NO "Íå" + IDS_ON "Âêëþ÷åíî" + IDS_OFF "Èçêëþ÷åíî" +} diff --git a/reactos/lib/oleaut32/oleaut32_Cz.rc b/reactos/lib/oleaut32/oleaut32_Cz.rc index ec871271469..771aff80f31 100644 --- a/reactos/lib/oleaut32/oleaut32_Cz.rc +++ b/reactos/lib/oleaut32/oleaut32_Cz.rc @@ -1,31 +1,31 @@ -/* - * Czech resources for oleaut32 - * - * Copyright 2003 Jon Griffiths - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library 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 for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -LANGUAGE LANG_CZECH, SUBLANG_DEFAULT - -STRINGTABLE DISCARDABLE -{ - IDS_TRUE "Pravda" - IDS_FALSE "Nepravda" - IDS_YES "Ano" - IDS_NO "Ne" - IDS_ON "Zapnuto" - IDS_OFF "Vypnuto" -} +/* + * Czech resources for oleaut32 + * + * Copyright 2003 Jon Griffiths + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +LANGUAGE LANG_CZECH, SUBLANG_DEFAULT + +STRINGTABLE DISCARDABLE +{ + IDS_TRUE "Pravda" + IDS_FALSE "Nepravda" + IDS_YES "Ano" + IDS_NO "Ne" + IDS_ON "Zapnuto" + IDS_OFF "Vypnuto" +} diff --git a/reactos/lib/oleaut32/oleaut32_De.rc b/reactos/lib/oleaut32/oleaut32_De.rc index 06cd7008da6..711a310213d 100644 --- a/reactos/lib/oleaut32/oleaut32_De.rc +++ b/reactos/lib/oleaut32/oleaut32_De.rc @@ -1,31 +1,31 @@ -/* - * German resources for oleaut32 - * - * Copyright 2003 Jon Griffiths - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library 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 for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -LANGUAGE LANG_GERMAN, SUBLANG_DEFAULT - -STRINGTABLE DISCARDABLE -{ - IDS_TRUE "Wahr" - IDS_FALSE "Falsch" - IDS_YES "Ja" - IDS_NO "Nein" - IDS_ON "Ein" - IDS_OFF "Aus" -} +/* + * German resources for oleaut32 + * + * Copyright 2003 Jon Griffiths + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +LANGUAGE LANG_GERMAN, SUBLANG_DEFAULT + +STRINGTABLE DISCARDABLE +{ + IDS_TRUE "Wahr" + IDS_FALSE "Falsch" + IDS_YES "Ja" + IDS_NO "Nein" + IDS_ON "Ein" + IDS_OFF "Aus" +} diff --git a/reactos/lib/oleaut32/oleaut32_Dk.rc b/reactos/lib/oleaut32/oleaut32_Dk.rc index 84666797ba4..e250339bb4c 100644 --- a/reactos/lib/oleaut32/oleaut32_Dk.rc +++ b/reactos/lib/oleaut32/oleaut32_Dk.rc @@ -1,31 +1,31 @@ -/* - * Danish resources for oleaut32 - * - * Copyright 2003 Jon Griffiths - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library 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 for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -LANGUAGE LANG_DANISH, SUBLANG_DEFAULT - -STRINGTABLE DISCARDABLE -{ - IDS_TRUE "Sand" - IDS_FALSE "Falsk" - IDS_YES "Ja" - IDS_NO "Nej" - IDS_ON "Til" - IDS_OFF "Fra" -} +/* + * Danish resources for oleaut32 + * + * Copyright 2003 Jon Griffiths + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +LANGUAGE LANG_DANISH, SUBLANG_DEFAULT + +STRINGTABLE DISCARDABLE +{ + IDS_TRUE "Sand" + IDS_FALSE "Falsk" + IDS_YES "Ja" + IDS_NO "Nej" + IDS_ON "Til" + IDS_OFF "Fra" +} diff --git a/reactos/lib/oleaut32/oleaut32_En.rc b/reactos/lib/oleaut32/oleaut32_En.rc index ccd00867e50..7be7b0cf49a 100644 --- a/reactos/lib/oleaut32/oleaut32_En.rc +++ b/reactos/lib/oleaut32/oleaut32_En.rc @@ -1,31 +1,31 @@ -/* - * English resources for oleaut32 - * - * Copyright 2003 Jon Griffiths - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library 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 for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT - -STRINGTABLE DISCARDABLE -{ - IDS_TRUE "True" - IDS_FALSE "False" - IDS_YES "Yes" - IDS_NO "No" - IDS_ON "On" - IDS_OFF "Off" -} +/* + * English resources for oleaut32 + * + * Copyright 2003 Jon Griffiths + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT + +STRINGTABLE DISCARDABLE +{ + IDS_TRUE "True" + IDS_FALSE "False" + IDS_YES "Yes" + IDS_NO "No" + IDS_ON "On" + IDS_OFF "Off" +} diff --git a/reactos/lib/oleaut32/oleaut32_Es.rc b/reactos/lib/oleaut32/oleaut32_Es.rc index 5d1b9c92cde..19ed1a3d740 100644 --- a/reactos/lib/oleaut32/oleaut32_Es.rc +++ b/reactos/lib/oleaut32/oleaut32_Es.rc @@ -1,31 +1,31 @@ -/* - * Spanish resources for oleaut32 - * - * Copyright 2003 Jon Griffiths - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library 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 for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL - -STRINGTABLE DISCARDABLE -{ - IDS_TRUE "Verdadero" - IDS_FALSE "Falso" - IDS_YES "Sí" - IDS_NO "No" - IDS_ON "Activado" - IDS_OFF "Desactivado" -} +/* + * Spanish resources for oleaut32 + * + * Copyright 2003 Jon Griffiths + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL + +STRINGTABLE DISCARDABLE +{ + IDS_TRUE "Verdadero" + IDS_FALSE "Falso" + IDS_YES "Sí" + IDS_NO "No" + IDS_ON "Activado" + IDS_OFF "Desactivado" +} diff --git a/reactos/lib/oleaut32/oleaut32_Fr.rc b/reactos/lib/oleaut32/oleaut32_Fr.rc index 553ab804488..44310bc130c 100644 --- a/reactos/lib/oleaut32/oleaut32_Fr.rc +++ b/reactos/lib/oleaut32/oleaut32_Fr.rc @@ -1,31 +1,31 @@ -/* - * French resources for oleaut32 - * - * Copyright 2003 Jon Griffiths - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library 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 for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL - -STRINGTABLE DISCARDABLE -{ - IDS_TRUE "Vrai" - IDS_FALSE "Faux" - IDS_YES "Oui" - IDS_NO "Non" - IDS_ON "Actif" - IDS_OFF "Inactif" -} +/* + * French resources for oleaut32 + * + * Copyright 2003 Jon Griffiths + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL + +STRINGTABLE DISCARDABLE +{ + IDS_TRUE "Vrai" + IDS_FALSE "Faux" + IDS_YES "Oui" + IDS_NO "Non" + IDS_ON "Actif" + IDS_OFF "Inactif" +} diff --git a/reactos/lib/oleaut32/oleaut32_Hu.rc b/reactos/lib/oleaut32/oleaut32_Hu.rc index bfdf7e4e34c..58d6d59846f 100644 --- a/reactos/lib/oleaut32/oleaut32_Hu.rc +++ b/reactos/lib/oleaut32/oleaut32_Hu.rc @@ -1,31 +1,31 @@ -/* - * Hungarian resources for oleaut32 - * - * Copyright 2003 Jon Griffiths - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library 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 for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -LANGUAGE LANG_HUNGARIAN, SUBLANG_DEFAULT - -STRINGTABLE DISCARDABLE -{ - IDS_TRUE "Igaz" - IDS_FALSE "Hamis" - IDS_YES "Igen" - IDS_NO "Nem" - IDS_ON "Be" - IDS_OFF "Ki" -} +/* + * Hungarian resources for oleaut32 + * + * Copyright 2003 Jon Griffiths + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +LANGUAGE LANG_HUNGARIAN, SUBLANG_DEFAULT + +STRINGTABLE DISCARDABLE +{ + IDS_TRUE "Igaz" + IDS_FALSE "Hamis" + IDS_YES "Igen" + IDS_NO "Nem" + IDS_ON "Be" + IDS_OFF "Ki" +} diff --git a/reactos/lib/oleaut32/oleaut32_It.rc b/reactos/lib/oleaut32/oleaut32_It.rc index c482c86bc99..a6dc0315a6c 100644 --- a/reactos/lib/oleaut32/oleaut32_It.rc +++ b/reactos/lib/oleaut32/oleaut32_It.rc @@ -1,31 +1,31 @@ -/* - * Italian resources for oleaut32 - * - * Copyright 2003 Jon Griffiths - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library 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 for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -LANGUAGE LANG_ITALIAN, SUBLANG_DEFAULT - -STRINGTABLE DISCARDABLE -{ - IDS_TRUE "Vero" - IDS_FALSE "Falso" - IDS_YES "Si" - IDS_NO "No" - IDS_ON "On" - IDS_OFF "Off" -} +/* + * Italian resources for oleaut32 + * + * Copyright 2003 Jon Griffiths + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +LANGUAGE LANG_ITALIAN, SUBLANG_DEFAULT + +STRINGTABLE DISCARDABLE +{ + IDS_TRUE "Vero" + IDS_FALSE "Falso" + IDS_YES "Si" + IDS_NO "No" + IDS_ON "On" + IDS_OFF "Off" +} diff --git a/reactos/lib/oleaut32/oleaut32_Nl.rc b/reactos/lib/oleaut32/oleaut32_Nl.rc index 21b84fd39e1..8c27a3134c3 100644 --- a/reactos/lib/oleaut32/oleaut32_Nl.rc +++ b/reactos/lib/oleaut32/oleaut32_Nl.rc @@ -1,31 +1,31 @@ -/* - * Dutch resources for oleaut32 - * - * Copyright 2003 Jon Griffiths - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library 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 for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -LANGUAGE LANG_DUTCH, SUBLANG_DEFAULT - -STRINGTABLE DISCARDABLE -{ - IDS_TRUE "Waar" - IDS_FALSE "Onwaar" - IDS_YES "Ja" - IDS_NO "Nee" - IDS_ON "Aan" - IDS_OFF "Uit" -} +/* + * Dutch resources for oleaut32 + * + * Copyright 2003 Jon Griffiths + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +LANGUAGE LANG_DUTCH, SUBLANG_DEFAULT + +STRINGTABLE DISCARDABLE +{ + IDS_TRUE "Waar" + IDS_FALSE "Onwaar" + IDS_YES "Ja" + IDS_NO "Nee" + IDS_ON "Aan" + IDS_OFF "Uit" +} diff --git a/reactos/lib/oleaut32/oleaut32_No.rc b/reactos/lib/oleaut32/oleaut32_No.rc index b07dbcd368a..b617230baba 100644 --- a/reactos/lib/oleaut32/oleaut32_No.rc +++ b/reactos/lib/oleaut32/oleaut32_No.rc @@ -1,31 +1,31 @@ -/* - * Norwegian resources for oleaut32 - * - * Copyright 2003 Jon Griffiths - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library 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 for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -LANGUAGE LANG_NORWEGIAN, SUBLANG_DEFAULT - -STRINGTABLE DISCARDABLE -{ - IDS_TRUE "Sann" - IDS_FALSE "Usann" - IDS_YES "Ja" - IDS_NO "Nei" - IDS_ON "PÕ" - IDS_OFF "Av" -} +/* + * Norwegian resources for oleaut32 + * + * Copyright 2003 Jon Griffiths + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +LANGUAGE LANG_NORWEGIAN, SUBLANG_DEFAULT + +STRINGTABLE DISCARDABLE +{ + IDS_TRUE "Sann" + IDS_FALSE "Usann" + IDS_YES "Ja" + IDS_NO "Nei" + IDS_ON "PÕ" + IDS_OFF "Av" +} diff --git a/reactos/lib/oleaut32/oleaut32_Pl.rc b/reactos/lib/oleaut32/oleaut32_Pl.rc index 7f9421901b9..92b453c5b14 100644 --- a/reactos/lib/oleaut32/oleaut32_Pl.rc +++ b/reactos/lib/oleaut32/oleaut32_Pl.rc @@ -1,32 +1,32 @@ -/* - * Polish resources for oleaut32 - * - * Copyright 2003 Jon Griffiths - * Copyright 2004 Jacek Caban - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library 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 for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -LANGUAGE LANG_POLISH, SUBLANG_DEFAULT - -STRINGTABLE DISCARDABLE -{ - IDS_TRUE "Prawda" - IDS_FALSE "Fa³sz" - IDS_YES "Tak" - IDS_NO "Nie" - IDS_ON "W³¹czone" - IDS_OFF "Wy³¹czone" -} +/* + * Polish resources for oleaut32 + * + * Copyright 2003 Jon Griffiths + * Copyright 2004 Jacek Caban + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +LANGUAGE LANG_POLISH, SUBLANG_DEFAULT + +STRINGTABLE DISCARDABLE +{ + IDS_TRUE "Prawda" + IDS_FALSE "Fa³sz" + IDS_YES "Tak" + IDS_NO "Nie" + IDS_ON "W³¹czone" + IDS_OFF "Wy³¹czone" +} diff --git a/reactos/lib/oleaut32/oleaut32_Pt.rc b/reactos/lib/oleaut32/oleaut32_Pt.rc index d4ce6030d95..4fcfeffab76 100644 --- a/reactos/lib/oleaut32/oleaut32_Pt.rc +++ b/reactos/lib/oleaut32/oleaut32_Pt.rc @@ -1,31 +1,31 @@ -/* - * Portuguese resources for oleaut32 - * - * Copyright 2003 Marcelo Duarte - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library 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 for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -LANGUAGE LANG_PORTUGUESE, SUBLANG_DEFAULT - -STRINGTABLE DISCARDABLE -{ - IDS_TRUE "Verdadeiro" - IDS_FALSE "Falso" - IDS_YES "Sim" - IDS_NO "Não" - IDS_ON "Ligado" - IDS_OFF "Desligado" -} +/* + * Portuguese resources for oleaut32 + * + * Copyright 2003 Marcelo Duarte + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +LANGUAGE LANG_PORTUGUESE, SUBLANG_DEFAULT + +STRINGTABLE DISCARDABLE +{ + IDS_TRUE "Verdadeiro" + IDS_FALSE "Falso" + IDS_YES "Sim" + IDS_NO "Não" + IDS_ON "Ligado" + IDS_OFF "Desligado" +} diff --git a/reactos/lib/oleaut32/oleaut32_Ru.rc b/reactos/lib/oleaut32/oleaut32_Ru.rc index 08edd96459d..473c84b26cd 100644 --- a/reactos/lib/oleaut32/oleaut32_Ru.rc +++ b/reactos/lib/oleaut32/oleaut32_Ru.rc @@ -1,31 +1,31 @@ -/* - * Russian resources for oleaut32 - * - * Copyright 2004 Dmitry Timoshkov - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library 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 for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT - -STRINGTABLE DISCARDABLE -{ - IDS_TRUE "Ïðàâäà" - IDS_FALSE "Ëîæü" - IDS_YES "Äà" - IDS_NO "Íåò" - IDS_ON "Âêëþ÷åíî" - IDS_OFF "Âûêëþ÷åíî" -} +/* + * Russian resources for oleaut32 + * + * Copyright 2004 Dmitry Timoshkov + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT + +STRINGTABLE DISCARDABLE +{ + IDS_TRUE "Ïðàâäà" + IDS_FALSE "Ëîæü" + IDS_YES "Äà" + IDS_NO "Íåò" + IDS_ON "Âêëþ÷åíî" + IDS_OFF "Âûêëþ÷åíî" +} diff --git a/reactos/lib/oleaut32/oleaut32_Sv.rc b/reactos/lib/oleaut32/oleaut32_Sv.rc index 4be688258f2..14fa7f49710 100644 --- a/reactos/lib/oleaut32/oleaut32_Sv.rc +++ b/reactos/lib/oleaut32/oleaut32_Sv.rc @@ -1,31 +1,31 @@ -/* - * Swedish resources for oleaut32 - * - * Copyright 2003 Jon Griffiths - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library 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 for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -LANGUAGE LANG_SWEDISH, SUBLANG_DEFAULT - -STRINGTABLE DISCARDABLE -{ - IDS_TRUE "Sant" - IDS_FALSE "Falskt" - IDS_YES "Ja" - IDS_NO "Nej" - IDS_ON "På" - IDS_OFF "Av" -} +/* + * Swedish resources for oleaut32 + * + * Copyright 2003 Jon Griffiths + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +LANGUAGE LANG_SWEDISH, SUBLANG_DEFAULT + +STRINGTABLE DISCARDABLE +{ + IDS_TRUE "Sant" + IDS_FALSE "Falskt" + IDS_YES "Ja" + IDS_NO "Nej" + IDS_ON "På" + IDS_OFF "Av" +} diff --git a/reactos/lib/oleaut32/oleaut32_Th.rc b/reactos/lib/oleaut32/oleaut32_Th.rc index 1160a764712..53315ff0842 100644 --- a/reactos/lib/oleaut32/oleaut32_Th.rc +++ b/reactos/lib/oleaut32/oleaut32_Th.rc @@ -1,31 +1,31 @@ -/* - * Thai resources for oleaut32 - * - * Copyright 2003 Jon Griffiths - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library 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 for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -LANGUAGE LANG_THAI, SUBLANG_DEFAULT - -STRINGTABLE DISCARDABLE -{ - IDS_TRUE "¨ÃÔ§" - IDS_FALSE "äÁè¨ÃÔ§" - IDS_YES "ãªè" - IDS_NO "äÁèãªè" - IDS_ON "à»Ô´" - IDS_OFF "»Ô´" -} +/* + * Thai resources for oleaut32 + * + * Copyright 2003 Jon Griffiths + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +LANGUAGE LANG_THAI, SUBLANG_DEFAULT + +STRINGTABLE DISCARDABLE +{ + IDS_TRUE "¨ÃÔ§" + IDS_FALSE "äÁè¨ÃÔ§" + IDS_YES "ãªè" + IDS_NO "äÁèãªè" + IDS_ON "à»Ô´" + IDS_OFF "»Ô´" +} diff --git a/reactos/lib/oleaut32/olefont.c b/reactos/lib/oleaut32/olefont.c index ca4fd1c55f4..d2154d42471 100644 --- a/reactos/lib/oleaut32/olefont.c +++ b/reactos/lib/oleaut32/olefont.c @@ -1235,7 +1235,7 @@ static HRESULT WINAPI OLEFontImpl_GetTypeInfo( LCID lcid, ITypeInfo** ppTInfo) { - static const WCHAR stdole32tlb[] = {'s','t','d','o','l','e','3','2','.','t','l','b',0}; + static const WCHAR stdole2tlb[] = {'s','t','d','o','l','e','2','.','t','l','b',0}; ITypeLib *tl; HRESULT hres; @@ -1243,12 +1243,12 @@ static HRESULT WINAPI OLEFontImpl_GetTypeInfo( TRACE("(%p, iTInfo=%d, lcid=%04x, %p)\n", this, iTInfo, (int)lcid, ppTInfo); if (iTInfo != 0) return E_FAIL; - hres = LoadTypeLib(stdole32tlb, &tl); + hres = LoadTypeLib(stdole2tlb, &tl); if (FAILED(hres)) { - ERR("Could not load the stdole32.tlb?\n"); + ERR("Could not load the stdole2.tlb?\n"); return hres; } - hres = ITypeLib_GetTypeInfoOfGuid(tl, &IID_IDispatch, ppTInfo); + hres = ITypeLib_GetTypeInfoOfGuid(tl, &IID_IFontDisp, ppTInfo); if (FAILED(hres)) { FIXME("Did not IDispatch typeinfo from typelib, hres %lx\n",hres); } diff --git a/reactos/lib/oleaut32/tmarshal.c b/reactos/lib/oleaut32/tmarshal.c index cf82a31ea6c..d615156520e 100644 --- a/reactos/lib/oleaut32/tmarshal.c +++ b/reactos/lib/oleaut32/tmarshal.c @@ -608,9 +608,35 @@ serialize_param( } case VT_PTR: { DWORD cookie; - BOOL derefhere; + BOOL derefhere = TRUE; - derefhere = (tdesc->u.lptdesc->vt != VT_USERDEFINED); + if (tdesc->u.lptdesc->vt == VT_USERDEFINED) { + ITypeInfo *tinfo2; + TYPEATTR *tattr; + + hres = ITypeInfo_GetRefTypeInfo(tinfo,tdesc->u.lptdesc->u.hreftype,&tinfo2); + if (hres) { + ERR("Could not get typeinfo of hreftype %lx for VT_USERDEFINED.\n",tdesc->u.lptdesc->u.hreftype); + return hres; + } + ITypeInfo_GetTypeAttr(tinfo2,&tattr); + switch (tattr->typekind) { + case TKIND_ENUM: /* confirmed */ + case TKIND_RECORD: /* FIXME: mostly untested */ + derefhere=TRUE; + break; + case TKIND_ALIAS: /* FIXME: untested */ + case TKIND_DISPATCH: /* will be done in VT_USERDEFINED case */ + case TKIND_INTERFACE: /* will be done in VT_USERDEFINED case */ + derefhere=FALSE; + break; + default: + FIXME("unhandled switch cases tattr->typekind %d\n", tattr->typekind); + derefhere=FALSE; + break; + } + ITypeInfo_Release(tinfo2); + } if (debugout) TRACE_(olerelay)("*"); /* Write always, so the other side knows when it gets a NULL pointer. @@ -1184,9 +1210,35 @@ deserialize_param( } case VT_PTR: { DWORD cookie; - BOOL derefhere = 0; + BOOL derefhere = TRUE; - derefhere = (tdesc->u.lptdesc->vt != VT_USERDEFINED); + if (tdesc->u.lptdesc->vt == VT_USERDEFINED) { + ITypeInfo *tinfo2; + TYPEATTR *tattr; + + hres = ITypeInfo_GetRefTypeInfo(tinfo,tdesc->u.lptdesc->u.hreftype,&tinfo2); + if (hres) { + ERR("Could not get typeinfo of hreftype %lx for VT_USERDEFINED.\n",tdesc->u.lptdesc->u.hreftype); + return hres; + } + ITypeInfo_GetTypeAttr(tinfo2,&tattr); + switch (tattr->typekind) { + case TKIND_ENUM: /* confirmed */ + case TKIND_RECORD: /* FIXME: mostly untested */ + derefhere=TRUE; + break; + case TKIND_ALIAS: /* FIXME: untested */ + case TKIND_DISPATCH: /* will be done in VT_USERDEFINED case */ + case TKIND_INTERFACE: /* will be done in VT_USERDEFINED case */ + derefhere=FALSE; + break; + default: + FIXME("unhandled switch cases tattr->typekind %d\n", tattr->typekind); + derefhere=FALSE; + break; + } + ITypeInfo_Release(tinfo2); + } /* read it in all cases, we need to know if we have * NULL pointer or not. */ @@ -1915,13 +1967,14 @@ PSFacBuf_CreateProxy( } } proxy->lpvtbl2 = &tmproxyvtable; - /* 1 reference for the proxy and 1 for the object */ - proxy->ref = 2; + /* one reference for the proxy */ + proxy->ref = 1; proxy->tinfo = tinfo; memcpy(&proxy->iid,riid,sizeof(*riid)); proxy->chanbuf = 0; *ppv = (LPVOID)proxy; *ppProxy = (IRpcProxyBuffer *)&(proxy->lpvtbl2); + IUnknown_AddRef((IUnknown *)*ppv); return S_OK; } diff --git a/reactos/lib/oleaut32/typelib.c b/reactos/lib/oleaut32/typelib.c index f60b013ab45..d470de735fd 100644 --- a/reactos/lib/oleaut32/typelib.c +++ b/reactos/lib/oleaut32/typelib.c @@ -2155,7 +2155,7 @@ static CRITICAL_SECTION_DEBUG cache_section_debug = { 0, 0, &cache_section, { &cache_section_debug.ProcessLocksList, &cache_section_debug.ProcessLocksList }, - 0, 0, { 0, (DWORD)(__FILE__ ": typelib loader cache") } + 0, 0, { (DWORD_PTR)(__FILE__ ": typelib loader cache") } }; static CRITICAL_SECTION cache_section = { &cache_section_debug, -1, 0, 0, 0, 0 }; @@ -3687,16 +3687,25 @@ static HRESULT WINAPI ITypeLib2_fnGetDocumentation( if(pBstrName) { if (This->Name) - if(!(*pBstrName = SysAllocString(This->Name))) goto memerr1;else; + { + if(!(*pBstrName = SysAllocString(This->Name))) + goto memerr1; + } else *pBstrName = NULL; } if(pBstrDocString) { if (This->DocString) - if(!(*pBstrDocString = SysAllocString(This->DocString))) goto memerr2;else; + { + if(!(*pBstrDocString = SysAllocString(This->DocString))) + goto memerr2; + } else if (This->Name) - if(!(*pBstrDocString = SysAllocString(This->Name))) goto memerr2;else; + { + if(!(*pBstrDocString = SysAllocString(This->Name))) + goto memerr2; + } else *pBstrDocString = NULL; } @@ -3707,7 +3716,10 @@ static HRESULT WINAPI ITypeLib2_fnGetDocumentation( if(pBstrHelpFile) { if (This->HelpFile) - if(!(*pBstrHelpFile = SysAllocString(This->HelpFile))) goto memerr3;else; + { + if(!(*pBstrHelpFile = SysAllocString(This->HelpFile))) + goto memerr3; + } else *pBstrHelpFile = NULL; } @@ -4503,6 +4515,15 @@ _invoke(FARPROC func,CALLCONV callconv, int nrargs, DWORD *args) { case 11: res = func(args[0],args[1],args[2],args[3],args[4],args[5],args[6],args[7],args[8],args[9],args[10]); break; + case 12: + res = func(args[0],args[1],args[2],args[3],args[4],args[5],args[6],args[7],args[8],args[9],args[10],args[11]); + break; + case 13: + res = func(args[0],args[1],args[2],args[3],args[4],args[5],args[6],args[7],args[8],args[9],args[10],args[11],args[12]); + break; + case 14: + res = func(args[0],args[1],args[2],args[3],args[4],args[5],args[6],args[7],args[8],args[9],args[10],args[11],args[12],args[13]); + break; default: FIXME("unsupported number of arguments %d in stdcall\n",nrargs); res = -1; diff --git a/reactos/lib/oleaut32/usrmarshal.c b/reactos/lib/oleaut32/usrmarshal.c index 8c5f1a889f8..0fe25d44782 100644 --- a/reactos/lib/oleaut32/usrmarshal.c +++ b/reactos/lib/oleaut32/usrmarshal.c @@ -185,11 +185,26 @@ static unsigned wire_size(VARTYPE vt) } } -static unsigned wire_extra(unsigned long *pFlags, VARIANT *pvar) +static unsigned interface_variant_size(unsigned long *pFlags, REFIID riid, VARIANT *pvar) { ULONG size; HRESULT hr; + /* find the buffer size of the marshalled dispatch interface */ + hr = CoGetMarshalSizeMax(&size, riid, V_UNKNOWN(pvar), LOWORD(*pFlags), NULL, MSHLFLAGS_NORMAL); + if (FAILED(hr)) { + if (!V_DISPATCH(pvar)) + WARN("NULL dispatch pointer\n"); + else + ERR("Dispatch variant buffer size calculation failed, HRESULT=0x%lx\n", hr); + return 0; + } + size += sizeof(ULONG); /* we have to store the buffersize in the stream */ + TRACE("wire-size extra of dispatch variant is %ld\n", size); + return size; +} +static unsigned wire_extra(unsigned long *pFlags, VARIANT *pvar) +{ if (V_ISARRAY(pvar)) { FIXME("wire-size safearray\n"); return 0; @@ -206,19 +221,9 @@ static unsigned wire_extra(unsigned long *pFlags, VARIANT *pvar) case VT_VARIANT | VT_BYREF: return VARIANT_UserSize(pFlags, 0, V_VARIANTREF(pvar)); case VT_UNKNOWN: + return interface_variant_size(pFlags, &IID_IUnknown, pvar); case VT_DISPATCH: - /* find the buffer size of the marshalled dispatch interface */ - hr = CoGetMarshalSizeMax(&size, &IID_IDispatch, (IUnknown*)V_DISPATCH(pvar), LOWORD(*pFlags), NULL, MSHLFLAGS_NORMAL); - if (FAILED(hr)) { - if (!V_DISPATCH(pvar)) - WARN("NULL dispatch pointer\n"); - else - ERR("Dispatch variant buffer size calculation failed, HRESULT=0x%lx\n", hr); - return 0; - } - size += sizeof(ULONG); /* we have to store the buffersize in the stream */ - TRACE("wire-size extra of dispatch variant is %ld\n", size); - return size; + return interface_variant_size(pFlags, &IID_IDispatch, pvar); case VT_RECORD: FIXME("wire-size record\n"); return 0; @@ -228,7 +233,8 @@ static unsigned wire_extra(unsigned long *pFlags, VARIANT *pvar) } /* helper: called for VT_DISPATCH variants to marshal the IDispatch* into the buffer. returns Buffer on failure, new position otherwise */ -static unsigned char* dispatch_variant_marshal(unsigned long *pFlags, unsigned char *Buffer, VARIANT *pvar) { +static unsigned char* interface_variant_marshal(unsigned long *pFlags, unsigned char *Buffer, REFIID riid, VARIANT *pvar) +{ IStream *working; HGLOBAL working_mem; void *working_memlocked; @@ -257,7 +263,7 @@ static unsigned char* dispatch_variant_marshal(unsigned long *pFlags, unsigned c return oldpos; } - hr = CoMarshalInterface(working, &IID_IDispatch, (IUnknown*)V_DISPATCH(pvar), LOWORD(*pFlags), NULL, MSHLFLAGS_NORMAL); + hr = CoMarshalInterface(working, riid, V_UNKNOWN(pvar), LOWORD(*pFlags), NULL, MSHLFLAGS_NORMAL); if (hr != S_OK) { IStream_Release(working); /* this also releases the hglobal */ return oldpos; @@ -275,8 +281,9 @@ static unsigned char* dispatch_variant_marshal(unsigned long *pFlags, unsigned c return Buffer + sizeof(ULONG) + size; } -/* helper: called for VT_DISPATCH variants to unmarshal the buffer back into a dispatch variant. returns Buffer on failure, new position otherwise */ -static unsigned char *dispatch_variant_unmarshal(unsigned long *pFlags, unsigned char *Buffer, VARIANT *pvar) { +/* helper: called for VT_DISPATCH / VT_UNKNOWN variants to unmarshal the buffer. returns Buffer on failure, new position otherwise */ +static unsigned char *interface_variant_unmarshal(unsigned long *pFlags, unsigned char *Buffer, REFIID riid, VARIANT *pvar) +{ IStream *working; HGLOBAL working_mem; void *working_memlocked; @@ -308,7 +315,7 @@ static unsigned char *dispatch_variant_unmarshal(unsigned long *pFlags, unsigned memcpy(working_memlocked, Buffer, size); GlobalUnlock(working_mem); - hr = CoUnmarshalInterface(working, &IID_IDispatch, (void**)&V_DISPATCH(pvar)); + hr = CoUnmarshalInterface(working, riid, (void**)&V_UNKNOWN(pvar)); if (hr != S_OK) { IStream_Release(working); return oldpos; @@ -380,9 +387,13 @@ unsigned char * WINAPI VARIANT_UserMarshal(unsigned long *pFlags, unsigned char case VT_DISPATCH | VT_BYREF: FIXME("handle DISPATCH by ref\n"); break; + case VT_UNKNOWN: + /* this should probably call WdtpInterfacePointer_UserMarshal in ole32.dll */ + Pos = interface_variant_marshal(pFlags, Pos, &IID_IUnknown, pvar); + break; case VT_DISPATCH: /* this should probably call WdtpInterfacePointer_UserMarshal in ole32.dll */ - Pos = dispatch_variant_marshal(pFlags, Pos, pvar); + Pos = interface_variant_marshal(pFlags, Pos, &IID_IDispatch, pvar); break; case VT_RECORD: FIXME("handle BRECORD by val\n"); @@ -452,8 +463,11 @@ unsigned char * WINAPI VARIANT_UserUnmarshal(unsigned long *pFlags, unsigned cha case VT_RECORD | VT_BYREF: FIXME("handle BRECORD by ref\n"); break; + case VT_UNKNOWN: + Pos = interface_variant_unmarshal(pFlags, Pos, &IID_IUnknown, pvar); + break; case VT_DISPATCH: - Pos = dispatch_variant_unmarshal(pFlags, Pos, pvar); + Pos = interface_variant_unmarshal(pFlags, Pos, &IID_IDispatch, pvar); break; case VT_DISPATCH | VT_BYREF: FIXME("handle DISPATCH by ref\n"); @@ -490,6 +504,10 @@ void WINAPI VARIANT_UserFree(unsigned long *pFlags, VARIANT *pvar) case VT_RECORD | VT_BYREF: FIXME("handle BRECORD by ref\n"); break; + case VT_UNKNOWN: + case VT_DISPATCH: + IUnknown_Release(V_UNKNOWN(pvar)); + break; default: FIXME("handle unknown complex type\n"); break; diff --git a/reactos/lib/oleaut32/variant.c b/reactos/lib/oleaut32/variant.c index 775ad7b674e..9305d3f98e8 100644 --- a/reactos/lib/oleaut32/variant.c +++ b/reactos/lib/oleaut32/variant.c @@ -3124,6 +3124,10 @@ HRESULT WINAPI VarDiv(LPVARIANT left, LPVARIANT right, LPVARIANT result) found = TRUE; resvt = VT_R8; } + if (!found && (((1<> 4) + 1), langId ); + MAKEINTRESOURCEW((dwId >> 4) + 1), langId ); if (hrsrc) { HGLOBAL hmem = LoadResource( OLEAUT32_hModule, hrsrc ); @@ -5442,7 +5444,54 @@ static HRESULT VARIANT_BstrFromReal(DOUBLE dblIn, LCID lcid, ULONG dwFlags, *pbstrOut = SysAllocString(numbuff); } else - *pbstrOut = SysAllocString(buff); + { + WCHAR lpDecimalSep[16]; + + /* Native oleaut32 uses the locale-specific decimal separator even in the + absence of the LOCALE_USE_NLS flag. For example, the Spanish/Latin + American locales will see "one thousand and one tenth" as "1000,1" + instead of "1000.1" (notice the comma). The following code checks for + the need to replace the decimal separator, and if so, will prepare an + appropriate NUMBERFMTW structure to do the job via GetNumberFormatW(). + */ + GetLocaleInfoW(lcid, LOCALE_SDECIMAL, lpDecimalSep, sizeof(lpDecimalSep) / sizeof(WCHAR)); + if (lpDecimalSep[0] == '.' && lpDecimalSep[1] == '\0') + { + /* locale is compatible with English - return original string */ + *pbstrOut = SysAllocString(buff); + } + else + { + WCHAR *p; + WCHAR numbuff[256]; + WCHAR empty[1] = {'\0'}; + NUMBERFMTW minFormat; + + minFormat.NumDigits = 0; + minFormat.LeadingZero = 0; + minFormat.Grouping = 0; + minFormat.lpDecimalSep = lpDecimalSep; + minFormat.lpThousandSep = empty; + minFormat.NegativeOrder = 1; /* NLS_NEG_LEFT */ + + /* count number of decimal digits in string */ + p = strchrW( buff, '.' ); + if (p) minFormat.NumDigits = strlenW(p + 1); + + numbuff[0] = '\0'; + if (!GetNumberFormatW(lcid, dwFlags & LOCALE_NOUSEROVERRIDE, + buff, &minFormat, numbuff, sizeof(numbuff) / sizeof(WCHAR))) + { + WARN("GetNumberFormatW() failed, returning raw number string instead\n"); + *pbstrOut = SysAllocString(buff); + } + else + { + TRACE("created minimal NLS string %s\n", debugstr_w(numbuff)); + *pbstrOut = SysAllocString(numbuff); + } + } + } return *pbstrOut ? S_OK : E_OUTOFMEMORY; } diff --git a/reactos/lib/oleaut32/version.rc b/reactos/lib/oleaut32/version.rc index 7b26ef7a6f4..fd4f0238deb 100644 --- a/reactos/lib/oleaut32/version.rc +++ b/reactos/lib/oleaut32/version.rc @@ -1,23 +1,23 @@ -/* - * Copyright 2001 Dmitry Timoshkov - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library 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 for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#define WINE_OLESELFREGISTER -#define WINE_FILEDESCRIPTION_STR "Wine OLE dll" -#define WINE_FILENAME_STR "oleaut32.dll" - -#include "wine/wine_common_ver.rc" +/* + * Copyright 2001 Dmitry Timoshkov + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#define WINE_OLESELFREGISTER +#define WINE_FILEDESCRIPTION_STR "Wine OLE dll" +#define WINE_FILENAME_STR "oleaut32.dll" + +#include "wine/wine_common_ver.rc"