Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
e8dbd66c
Commit
e8dbd66c
authored
Apr 10, 2008
by
Austin English
Committed by
Alexandre Julliard
Apr 14, 2008
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
oleaut32: Spelling fixes.
parent
16e8633e
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
24 additions
and
24 deletions
+24
-24
dispatch.c
dlls/oleaut32/dispatch.c
+1
-1
olepicture.c
dlls/oleaut32/olepicture.c
+1
-1
recinfo.c
dlls/oleaut32/recinfo.c
+1
-1
safearray.c
dlls/oleaut32/safearray.c
+1
-1
vartest.c
dlls/oleaut32/tests/vartest.c
+3
-3
vartype.c
dlls/oleaut32/tests/vartype.c
+2
-2
typelib.c
dlls/oleaut32/typelib.c
+3
-3
ungif.c
dlls/oleaut32/ungif.c
+2
-2
ungif.h
dlls/oleaut32/ungif.h
+1
-1
varformat.c
dlls/oleaut32/varformat.c
+1
-1
variant.c
dlls/oleaut32/variant.c
+6
-6
vartype.c
dlls/oleaut32/vartype.c
+2
-2
No files found.
dlls/oleaut32/dispatch.c
View file @
e8dbd66c
...
@@ -192,7 +192,7 @@ HRESULT WINAPI CreateStdDispatch(
...
@@ -192,7 +192,7 @@ HRESULT WINAPI CreateStdDispatch(
* Method, property and parameter names can be localised. The details required to
* Method, property and parameter names can be localised. The details required to
* map names to methods and parameters are collected in a type library, usually
* map names to methods and parameters are collected in a type library, usually
* output by an IDL compiler using the objects IDL description. This information is
* output by an IDL compiler using the objects IDL description. This information is
* accessible programatically through the ITypeLib interface (for a type library),
* accessible program
m
atically through the ITypeLib interface (for a type library),
* and the ITypeInfo interface (for an object within the type library). Type information
* and the ITypeInfo interface (for an object within the type library). Type information
* can also be created at run-time using CreateDispTypeInfo().
* can also be created at run-time using CreateDispTypeInfo().
*
*
...
...
dlls/oleaut32/olepicture.c
View file @
e8dbd66c
...
@@ -22,7 +22,7 @@
...
@@ -22,7 +22,7 @@
*
*
* BUGS
* BUGS
*
*
* Support PICTYPE_BITMAP and PICTYPE_ICON, altough only bitmaps very well..
* Support PICTYPE_BITMAP and PICTYPE_ICON, alt
h
ough only bitmaps very well..
* Lots of methods are just stubs.
* Lots of methods are just stubs.
*
*
*
*
...
...
dlls/oleaut32/recinfo.c
View file @
e8dbd66c
...
@@ -211,7 +211,7 @@ static HRESULT WINAPI IRecordInfoImpl_RecordClear(IRecordInfo *iface, PVOID pvEx
...
@@ -211,7 +211,7 @@ static HRESULT WINAPI IRecordInfoImpl_RecordClear(IRecordInfo *iface, PVOID pvEx
var
=
((
PBYTE
)
pvExisting
)
+
This
->
fields
[
i
].
offset
;
var
=
((
PBYTE
)
pvExisting
)
+
This
->
fields
[
i
].
offset
;
switch
(
This
->
fields
[
i
].
vt
)
{
switch
(
This
->
fields
[
i
].
vt
)
{
case
VT_BSTR
:
case
VT_BSTR
:
/* NOTE: Windows implementati
no
reads DWORD (len) before string,
/* NOTE: Windows implementati
on
reads DWORD (len) before string,
* but it seems to do nothing with this */
* but it seems to do nothing with this */
*
(
BSTR
*
)
var
=
NULL
;
*
(
BSTR
*
)
var
=
NULL
;
break
;
break
;
...
...
dlls/oleaut32/safearray.c
View file @
e8dbd66c
...
@@ -483,7 +483,7 @@ HRESULT WINAPI SafeArrayAllocDescriptor(UINT cDims, SAFEARRAY **ppsaOut)
...
@@ -483,7 +483,7 @@ HRESULT WINAPI SafeArrayAllocDescriptor(UINT cDims, SAFEARRAY **ppsaOut)
* Failure: An HRESULT error code indicating the error.
* Failure: An HRESULT error code indicating the error.
*
*
* NOTES
* NOTES
* - This function does not ch
a
ck that vt is an allowed VARTYPE.
* - This function does not ch
e
ck that vt is an allowed VARTYPE.
* - Unlike SafeArrayAllocDescriptor(), vt is associated with the array.
* - Unlike SafeArrayAllocDescriptor(), vt is associated with the array.
* See SafeArray.
* See SafeArray.
*/
*/
...
...
dlls/oleaut32/tests/vartest.c
View file @
e8dbd66c
...
@@ -1050,7 +1050,7 @@ static void test_VarParseNumFromStr(void)
...
@@ -1050,7 +1050,7 @@ static void test_VarParseNumFromStr(void)
EXPECT
(
1
,
NUMPRS_HEX_OCT
,
0
,
1
,
0
,
0
);
EXPECT
(
1
,
NUMPRS_HEX_OCT
,
0
,
1
,
0
,
0
);
EXPECT2
(
0
,
FAILDIG
);
EXPECT2
(
0
,
FAILDIG
);
/* Doesn't recognise hex in .asm sytax */
/* Doesn't recognise hex in .asm sy
n
tax */
CONVERT
(
"0h"
,
NUMPRS_HEX_OCT
);
CONVERT
(
"0h"
,
NUMPRS_HEX_OCT
);
EXPECT
(
1
,
NUMPRS_HEX_OCT
,
0
,
1
,
0
,
0
);
EXPECT
(
1
,
NUMPRS_HEX_OCT
,
0
,
1
,
0
,
0
);
EXPECT2
(
0
,
FAILDIG
);
EXPECT2
(
0
,
FAILDIG
);
...
@@ -5261,7 +5261,7 @@ static void test_VarCat(void)
...
@@ -5261,7 +5261,7 @@ static void test_VarCat(void)
}
}
}
}
/* Runn
n
ing single comparison tests to compare outputs */
/* Running single comparison tests to compare outputs */
/* Test concat strings */
/* Test concat strings */
V_VT
(
&
left
)
=
VT_BSTR
;
V_VT
(
&
left
)
=
VT_BSTR
;
...
@@ -6273,7 +6273,7 @@ static void test_VarCmp(void)
...
@@ -6273,7 +6273,7 @@ static void test_VarCmp(void)
}
}
}
}
/* VARCMP{,EX} run each 4 tests with a permutation of all posible
/* VARCMP{,EX} run each 4 tests with a permutation of all pos
s
ible
input variants with (1) and without (0) VT_RESERVED set. The order
input variants with (1) and without (0) VT_RESERVED set. The order
of the permutations is (0,0); (1,0); (0,1); (1,1) */
of the permutations is (0,0); (1,0); (0,1); (1,1) */
VARCMP
(
INT
,
4711
,
I2
,
4711
,
VARCMP_EQ
);
VARCMP
(
INT
,
4711
,
I2
,
4711
,
VARCMP_EQ
);
...
...
dlls/oleaut32/tests/vartype.c
View file @
e8dbd66c
...
@@ -3322,7 +3322,7 @@ static void test_VarDateFromStr(void)
...
@@ -3322,7 +3322,7 @@ static void test_VarDateFromStr(void)
CHECKPTR
(
VarDateFromStr
);
CHECKPTR
(
VarDateFromStr
);
CHECKPTR
(
SystemTimeToVariantTime
);
CHECKPTR
(
SystemTimeToVariantTime
);
/* Some date formats are relative, so we need to find the cu
u
rent year */
/* Some date formats are relative, so we need to find the cu
r
rent year */
GetSystemTime
(
&
st
);
GetSystemTime
(
&
st
);
st
.
wHour
=
st
.
wMinute
=
st
.
wSecond
=
st
.
wMilliseconds
=
0
;
st
.
wHour
=
st
.
wMinute
=
st
.
wSecond
=
st
.
wMilliseconds
=
0
;
DFS
(
NULL
);
EXPECT_MISMATCH
;
DFS
(
NULL
);
EXPECT_MISMATCH
;
...
@@ -4928,7 +4928,7 @@ static void test_VarBstrCmp(void)
...
@@ -4928,7 +4928,7 @@ static void test_VarBstrCmp(void)
bstr
=
SysAllocString
(
sz
);
bstr
=
SysAllocString
(
sz
);
bstrempty
=
SysAllocString
(
szempty
);
bstrempty
=
SysAllocString
(
szempty
);
/* NULL handling. Yepp, MSDN is totaly wrong here */
/* NULL handling. Yepp, MSDN is total
l
y wrong here */
VARBSTRCMP
(
NULL
,
NULL
,
0
,
VARCMP_EQ
);
VARBSTRCMP
(
NULL
,
NULL
,
0
,
VARCMP_EQ
);
VARBSTRCMP
(
bstr
,
NULL
,
0
,
VARCMP_GT
);
VARBSTRCMP
(
bstr
,
NULL
,
0
,
VARCMP_GT
);
VARBSTRCMP
(
NULL
,
bstr
,
0
,
VARCMP_LT
);
VARBSTRCMP
(
NULL
,
bstr
,
0
,
VARCMP_LT
);
...
...
dlls/oleaut32/typelib.c
View file @
e8dbd66c
...
@@ -998,7 +998,7 @@ typedef struct tagITypeInfoImpl
...
@@ -998,7 +998,7 @@ typedef struct tagITypeInfoImpl
const
ITypeInfo2Vtbl
*
lpVtbl
;
const
ITypeInfo2Vtbl
*
lpVtbl
;
const
ITypeCompVtbl
*
lpVtblTypeComp
;
const
ITypeCompVtbl
*
lpVtblTypeComp
;
LONG
ref
;
LONG
ref
;
BOOL
no_free_data
;
/* don't free data structure
e
s */
BOOL
no_free_data
;
/* don't free data structures */
TYPEATTR
TypeAttr
;
/* _lots_ of type information. */
TYPEATTR
TypeAttr
;
/* _lots_ of type information. */
ITypeLibImpl
*
pTypeLib
;
/* back pointer to typelib */
ITypeLibImpl
*
pTypeLib
;
/* back pointer to typelib */
int
index
;
/* index in this typelib; */
int
index
;
/* index in this typelib; */
...
@@ -2624,7 +2624,7 @@ static ITypeLib2* ITypeLib2_Constructor_MSFT(LPVOID pLib, DWORD dwTLBLength)
...
@@ -2624,7 +2624,7 @@ static ITypeLib2* ITypeLib2_Constructor_MSFT(LPVOID pLib, DWORD dwTLBLength)
pTypeLibImpl
->
ctCustData
=
MSFT_CustData
(
&
cx
,
tlbHeader
.
CustomDataOffset
,
&
pTypeLibImpl
->
pCustData
);
pTypeLibImpl
->
ctCustData
=
MSFT_CustData
(
&
cx
,
tlbHeader
.
CustomDataOffset
,
&
pTypeLibImpl
->
pCustData
);
}
}
/* fill in typedescriptions */
/* fill in type
descriptions */
if
(
tlbSegDir
.
pTypdescTab
.
length
>
0
)
if
(
tlbSegDir
.
pTypdescTab
.
length
>
0
)
{
{
int
i
,
j
,
cTD
=
tlbSegDir
.
pTypdescTab
.
length
/
(
2
*
sizeof
(
INT
));
int
i
,
j
,
cTD
=
tlbSegDir
.
pTypdescTab
.
length
/
(
2
*
sizeof
(
INT
));
...
@@ -3377,7 +3377,7 @@ static void SLTG_ProcessDispatch(char *pBlk, ITypeInfoImpl *pTI,
...
@@ -3377,7 +3377,7 @@ static void SLTG_ProcessDispatch(char *pBlk, ITypeInfoImpl *pTI,
SLTG_DoFuncs
(
pBlk
,
pBlk
+
pTITail
->
funcs_off
,
pTI
,
pTITail
->
cFuncs
,
pNameTable
,
ref_lookup
);
SLTG_DoFuncs
(
pBlk
,
pBlk
+
pTITail
->
funcs_off
,
pTI
,
pTITail
->
cFuncs
,
pNameTable
,
ref_lookup
);
/* this is necessary to cope with MSFT typelibs that set cFuncs to the number
/* this is necessary to cope with MSFT typelibs that set cFuncs to the number
* of dispinterface functons including the IDispatch ones, so
* of dispinterface funct
i
ons including the IDispatch ones, so
* ITypeInfo::GetFuncDesc takes the real value for cFuncs from cbSizeVft */
* ITypeInfo::GetFuncDesc takes the real value for cFuncs from cbSizeVft */
pTI
->
TypeAttr
.
cbSizeVft
=
pTI
->
TypeAttr
.
cFuncs
*
sizeof
(
void
*
);
pTI
->
TypeAttr
.
cbSizeVft
=
pTI
->
TypeAttr
.
cFuncs
*
sizeof
(
void
*
);
...
...
dlls/oleaut32/ungif.c
View file @
e8dbd66c
...
@@ -616,7 +616,7 @@ DGifDecompressLine(GifFileType * GifFile,
...
@@ -616,7 +616,7 @@ DGifDecompressLine(GifFileType * GifFile,
LastCode
=
Private
->
LastCode
;
LastCode
=
Private
->
LastCode
;
if
(
StackPtr
!=
0
)
{
if
(
StackPtr
!=
0
)
{
/* Let pop the stack off before continu
e
ing to read the gif file: */
/* Let pop the stack off before continuing to read the gif file: */
while
(
StackPtr
!=
0
&&
i
<
LineLen
)
while
(
StackPtr
!=
0
&&
i
<
LineLen
)
Line
[
i
++
]
=
Stack
[
--
StackPtr
];
Line
[
i
++
]
=
Stack
[
--
StackPtr
];
}
}
...
@@ -626,7 +626,7 @@ DGifDecompressLine(GifFileType * GifFile,
...
@@ -626,7 +626,7 @@ DGifDecompressLine(GifFileType * GifFile,
return
GIF_ERROR
;
return
GIF_ERROR
;
if
(
CrntCode
==
EOFCode
)
{
if
(
CrntCode
==
EOFCode
)
{
/* Note
however
that usually we will not be here as we will stop
/* Note
, however,
that usually we will not be here as we will stop
* decoding as soon as we got all the pixel, or EOF code will
* decoding as soon as we got all the pixel, or EOF code will
* not be read at all, and DGifGetLine/Pixel clean everything. */
* not be read at all, and DGifGetLine/Pixel clean everything. */
if
(
i
!=
LineLen
-
1
||
Private
->
PixelCount
!=
0
)
{
if
(
i
!=
LineLen
-
1
||
Private
->
PixelCount
!=
0
)
{
...
...
dlls/oleaut32/ungif.h
View file @
e8dbd66c
...
@@ -44,7 +44,7 @@
...
@@ -44,7 +44,7 @@
* History:
* History:
* 14 Jun 89 - Version 1.0 by Gershon Elber.
* 14 Jun 89 - Version 1.0 by Gershon Elber.
* 3 Sep 90 - Version 1.1 by Gershon Elber (Support for Gif89, Unique names)
* 3 Sep 90 - Version 1.1 by Gershon Elber (Support for Gif89, Unique names)
* 15 Sep 90 - Version 2.0 by Eric S. Raymond (Changes to su
o
port GIF slurp)
* 15 Sep 90 - Version 2.0 by Eric S. Raymond (Changes to su
p
port GIF slurp)
* 26 Jun 96 - Version 3.0 by Eric S. Raymond (Full GIF89 support)
* 26 Jun 96 - Version 3.0 by Eric S. Raymond (Full GIF89 support)
* 17 Dec 98 - Version 4.0 by Toshio Kuratomi (Fix extension writing code)
* 17 Dec 98 - Version 4.0 by Toshio Kuratomi (Fix extension writing code)
*****************************************************************************/
*****************************************************************************/
...
...
dlls/oleaut32/varformat.c
View file @
e8dbd66c
...
@@ -151,7 +151,7 @@ static const WCHAR szPercentZeroStar_d[] = { '%','0','*','d','\0' };
...
@@ -151,7 +151,7 @@ static const WCHAR szPercentZeroStar_d[] = { '%','0','*','d','\0' };
* Common format definitions
* Common format definitions
*/
*/
/* Fomat types */
/* Fo
r
mat types */
#define FMT_TYPE_UNKNOWN 0x0
#define FMT_TYPE_UNKNOWN 0x0
#define FMT_TYPE_GENERAL 0x1
#define FMT_TYPE_GENERAL 0x1
#define FMT_TYPE_NUMBER 0x2
#define FMT_TYPE_NUMBER 0x2
...
...
dlls/oleaut32/variant.c
View file @
e8dbd66c
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
* Copyright 2005 Daniel Remenak
* Copyright 2005 Daniel Remenak
* Copyright 2006 Google (Benjamin Arai)
* Copyright 2006 Google (Benjamin Arai)
*
*
* The alorithm for conversion from Julian days to day/month/year is based on
* The al
g
orithm for conversion from Julian days to day/month/year is based on
* that devised by Henry Fliegel, as implemented in PostgreSQL, which is
* that devised by Henry Fliegel, as implemented in PostgreSQL, which is
* Copyright 1994-7 Regents of the University of California
* Copyright 1994-7 Regents of the University of California
*
*
...
@@ -1108,7 +1108,7 @@ static HRESULT VARIANT_RollUdate(UDATE *lpUd)
...
@@ -1108,7 +1108,7 @@ static HRESULT VARIANT_RollUdate(UDATE *lpUd)
{
{
lpUd
->
st
.
wMonth
--
;
/* Previous month */
lpUd
->
st
.
wMonth
--
;
/* Previous month */
if
(
lpUd
->
st
.
wMonth
==
2
&&
IsLeapYear
(
lpUd
->
st
.
wYear
))
if
(
lpUd
->
st
.
wMonth
==
2
&&
IsLeapYear
(
lpUd
->
st
.
wYear
))
lpUd
->
st
.
wDay
=
29
;
/* Februa
u
ry has 29 days on leap years */
lpUd
->
st
.
wDay
=
29
;
/* February has 29 days on leap years */
else
else
lpUd
->
st
.
wDay
=
days
[
lpUd
->
st
.
wMonth
];
/* Last day of the month */
lpUd
->
st
.
wDay
=
days
[
lpUd
->
st
.
wMonth
];
/* Last day of the month */
}
}
...
@@ -1119,7 +1119,7 @@ static HRESULT VARIANT_RollUdate(UDATE *lpUd)
...
@@ -1119,7 +1119,7 @@ static HRESULT VARIANT_RollUdate(UDATE *lpUd)
/* Possibly need to roll the date forward */
/* Possibly need to roll the date forward */
if
(
lpUd
->
st
.
wMonth
==
2
&&
IsLeapYear
(
lpUd
->
st
.
wYear
))
if
(
lpUd
->
st
.
wMonth
==
2
&&
IsLeapYear
(
lpUd
->
st
.
wYear
))
rollForward
=
lpUd
->
st
.
wDay
-
29
;
/* Februa
u
ry has 29 days on leap years */
rollForward
=
lpUd
->
st
.
wDay
-
29
;
/* February has 29 days on leap years */
else
else
rollForward
=
lpUd
->
st
.
wDay
-
days
[
lpUd
->
st
.
wMonth
];
rollForward
=
lpUd
->
st
.
wDay
-
days
[
lpUd
->
st
.
wMonth
];
...
@@ -1915,7 +1915,7 @@ HRESULT WINAPI VarParseNumFromStr(OLECHAR *lpszStr, LCID lcid, ULONG dwFlags,
...
@@ -1915,7 +1915,7 @@ HRESULT WINAPI VarParseNumFromStr(OLECHAR *lpszStr, LCID lcid, ULONG dwFlags,
* NOTES
* NOTES
* - The smallest favoured type present in dwVtBits that can represent the
* - The smallest favoured type present in dwVtBits that can represent the
* number in pNumprs without losing precision is used.
* number in pNumprs without losing precision is used.
* - Signed types are preferr
r
ed over unsigned types of the same size.
* - Signed types are preferred over unsigned types of the same size.
* - Preferred types in order are: integer, float, double, currency then decimal.
* - Preferred types in order are: integer, float, double, currency then decimal.
* - Rounding (dropping of decimal points) occurs without error. See VarI8FromR8()
* - Rounding (dropping of decimal points) occurs without error. See VarI8FromR8()
* for details of the rounding method.
* for details of the rounding method.
...
@@ -1924,7 +1924,7 @@ HRESULT WINAPI VarParseNumFromStr(OLECHAR *lpszStr, LCID lcid, ULONG dwFlags,
...
@@ -1924,7 +1924,7 @@ HRESULT WINAPI VarParseNumFromStr(OLECHAR *lpszStr, LCID lcid, ULONG dwFlags,
* design?): If some other VTBIT's for integers are specified together
* design?): If some other VTBIT's for integers are specified together
* with VTBIT_I8 and the number will fit only in a VT_I8 Windows will "cast"
* with VTBIT_I8 and the number will fit only in a VT_I8 Windows will "cast"
* the number to the smallest requested integer truncating this way the
* the number to the smallest requested integer truncating this way the
* number. Wine dosn't implement this "feature" (yet?).
* number. Wine do
e
sn't implement this "feature" (yet?).
*/
*/
HRESULT
WINAPI
VarNumFromParseNum
(
NUMPARSE
*
pNumprs
,
BYTE
*
rgbDig
,
HRESULT
WINAPI
VarNumFromParseNum
(
NUMPARSE
*
pNumprs
,
BYTE
*
rgbDig
,
ULONG
dwVtBits
,
VARIANT
*
pVarDst
)
ULONG
dwVtBits
,
VARIANT
*
pVarDst
)
...
@@ -2517,7 +2517,7 @@ HRESULT WINAPI VarCat(LPVARIANT left, LPVARIANT right, LPVARIANT out)
...
@@ -2517,7 +2517,7 @@ HRESULT WINAPI VarCat(LPVARIANT left, LPVARIANT right, LPVARIANT out)
else
else
hres
=
DISP_E_BADVARTYPE
;
hres
=
DISP_E_BADVARTYPE
;
/* if resu
tl
type is not S_OK, then no need to go further */
/* if resu
lt
type is not S_OK, then no need to go further */
if
(
hres
!=
S_OK
)
if
(
hres
!=
S_OK
)
{
{
V_VT
(
out
)
=
resultvt
;
V_VT
(
out
)
=
resultvt
;
...
...
dlls/oleaut32/vartype.c
View file @
e8dbd66c
...
@@ -5311,7 +5311,7 @@ static HRESULT VARIANT_DI_normalize(VARIANT_DI * val, int exponent2, int isDoubl
...
@@ -5311,7 +5311,7 @@ static HRESULT VARIANT_DI_normalize(VARIANT_DI * val, int exponent2, int isDoubl
VARIANT_int_add
(
val
->
bitsnum
,
3
,
&
x
,
1
);
VARIANT_int_add
(
val
->
bitsnum
,
3
,
&
x
,
1
);
}
}
}
}
/* This step is requierd in order to remove excess bits of precision from the
/* This step is requier
e
d in order to remove excess bits of precision from the
end of the bit representation, down to the precision guaranteed by the
end of the bit representation, down to the precision guaranteed by the
floating point number. */
floating point number. */
if
(
isDouble
)
{
if
(
isDouble
)
{
...
@@ -7348,7 +7348,7 @@ VARIANT_MakeDate_OK:
...
@@ -7348,7 +7348,7 @@ VARIANT_MakeDate_OK:
*
*
* RETURNS
* RETURNS
* Success: S_OK. pdateOut contains the converted value.
* Success: S_OK. pdateOut contains the converted value.
* FAILURE: An HRESULT error code indicating the prolem.
* FAILURE: An HRESULT error code indicating the pro
b
lem.
*
*
* NOTES
* NOTES
* Any date format that can be created using the date formats from lcid
* Any date format that can be created using the date formats from lcid
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment