Wine-devel
Threads by month
- ----- 2026 -----
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2003 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2002 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2001 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
April 2019
- 82 participants
- 743 discussions
23 Apr '19
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair(a)hotmail.com>
---
dlls/winex11.drv/wintab.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/dlls/winex11.drv/wintab.c b/dlls/winex11.drv/wintab.c
index 486c356..fe3d4a8 100644
--- a/dlls/winex11.drv/wintab.c
+++ b/dlls/winex11.drv/wintab.c
@@ -717,6 +717,11 @@ BOOL CDECL X11DRV_LoadTabletInfo(HWND hwnddefault)
gSysDevice.ORIENTATION[1].axUnits = TU_CIRCLE;
gSysDevice.ORIENTATION[1].axResolution
= CASTFIX32(3600);
+ gSysDevice.ORIENTATION[2].axMin = 0;
+ gSysDevice.ORIENTATION[2].axMax = 3600;
+ gSysDevice.ORIENTATION[2].axUnits = TU_CIRCLE;
+ gSysDevice.ORIENTATION[2].axResolution
+ = CASTFIX32(3600);
Axis++;
}
}
--
1.9.1
1
0
[PATCH 2/2] devenum: iterate over all avicap devices instead of giving up at the first failure
by Damjan Jovanovic 23 Apr '19
by Damjan Jovanovic 23 Apr '19
23 Apr '19
Some /dev/video* device nodes aren't capture devices, so
capGetDriverDescriptionW() will fail for them, but there
could still be valid ones later on. Iterate over all 10
instead of giving up at the first failure.
Signed-off-by: Damjan Jovanovic <damjan.jov(a)gmail.com>
---
dlls/devenum/createdevenum.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
1
0
[PATCH 1/2] avicap32: verify v4l devices can capture before returning them
by Damjan Jovanovic 23 Apr '19
by Damjan Jovanovic 23 Apr '19
23 Apr '19
/dev/video* device nodes aren't all capture devices, and returning
those that aren't results in devenum reporting them to
applications, which will later fail when opening them with
IMoniker::BindToObject().
avicap32 already tries to call VIDIOC_QUERYCAP to check whether
it's dealing with a v4l device, but it does not check a successful
result any further. Get it to verify the device supports the
V4L2_CAP_VIDEO_CAPTURE flag, like we do in qcap/v4l.c.
Signed-off-by: Damjan Jovanovic <damjan.jov(a)gmail.com>
---
dlls/avicap32/avicap32_main.c | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
1
0
[PATCH 1/3] kernel/nls: add LOCALE_SMONTHDAY to all supported languages
by Vijay Kiran Kamuju 23 Apr '19
by Vijay Kiran Kamuju 23 Apr '19
23 Apr '19
From: Vijay Kiran Kamuju <infyquest(a)gmail.com>
Signed-off-by: Vijay Kiran Kamuju <infyquest(a)gmail.com>
---
dlls/kernel32/nls/afk.nls | 1 +
dlls/kernel32/nls/ara.nls | 1 +
dlls/kernel32/nls/arb.nls | 1 +
dlls/kernel32/nls/are.nls | 1 +
dlls/kernel32/nls/arg.nls | 1 +
dlls/kernel32/nls/arh.nls | 1 +
dlls/kernel32/nls/ari.nls | 1 +
dlls/kernel32/nls/arj.nls | 1 +
dlls/kernel32/nls/ark.nls | 1 +
dlls/kernel32/nls/arl.nls | 1 +
dlls/kernel32/nls/arm.nls | 1 +
dlls/kernel32/nls/aro.nls | 1 +
dlls/kernel32/nls/arq.nls | 1 +
dlls/kernel32/nls/ars.nls | 1 +
dlls/kernel32/nls/art.nls | 1 +
dlls/kernel32/nls/aru.nls | 1 +
dlls/kernel32/nls/ary.nls | 1 +
dlls/kernel32/nls/aze.nls | 1 +
dlls/kernel32/nls/azl.nls | 1 +
dlls/kernel32/nls/bel.nls | 1 +
dlls/kernel32/nls/ben.nls | 1 +
dlls/kernel32/nls/bgr.nls | 1 +
dlls/kernel32/nls/brf.nls | 1 +
dlls/kernel32/nls/cat.nls | 1 +
dlls/kernel32/nls/chs.nls | 1 +
dlls/kernel32/nls/cht.nls | 1 +
dlls/kernel32/nls/cor.nls | 1 +
dlls/kernel32/nls/csy.nls | 1 +
dlls/kernel32/nls/cym.nls | 1 +
dlls/kernel32/nls/dan.nls | 1 +
dlls/kernel32/nls/dea.nls | 1 +
dlls/kernel32/nls/dec.nls | 1 +
dlls/kernel32/nls/del.nls | 1 +
dlls/kernel32/nls/des.nls | 1 +
dlls/kernel32/nls/deu.nls | 1 +
dlls/kernel32/nls/div.nls | 1 +
dlls/kernel32/nls/ell.nls | 1 +
dlls/kernel32/nls/ena.nls | 1 +
dlls/kernel32/nls/enb.nls | 1 +
dlls/kernel32/nls/enc.nls | 1 +
dlls/kernel32/nls/eng.nls | 1 +
dlls/kernel32/nls/eni.nls | 1 +
dlls/kernel32/nls/enj.nls | 1 +
dlls/kernel32/nls/enl.nls | 1 +
dlls/kernel32/nls/enp.nls | 1 +
dlls/kernel32/nls/ens.nls | 1 +
dlls/kernel32/nls/ent.nls | 1 +
dlls/kernel32/nls/enu.nls | 1 +
dlls/kernel32/nls/enw.nls | 1 +
dlls/kernel32/nls/enz.nls | 1 +
dlls/kernel32/nls/eox.nls | 1 +
dlls/kernel32/nls/esa.nls | 1 +
dlls/kernel32/nls/esb.nls | 1 +
dlls/kernel32/nls/esc.nls | 1 +
dlls/kernel32/nls/esd.nls | 1 +
dlls/kernel32/nls/ese.nls | 1 +
dlls/kernel32/nls/esf.nls | 1 +
dlls/kernel32/nls/esg.nls | 1 +
dlls/kernel32/nls/esh.nls | 1 +
dlls/kernel32/nls/esi.nls | 1 +
dlls/kernel32/nls/esl.nls | 1 +
dlls/kernel32/nls/esm.nls | 1 +
dlls/kernel32/nls/esn.nls | 1 +
dlls/kernel32/nls/eso.nls | 1 +
dlls/kernel32/nls/esp.nls | 1 +
dlls/kernel32/nls/esr.nls | 1 +
dlls/kernel32/nls/ess.nls | 1 +
dlls/kernel32/nls/esu.nls | 1 +
dlls/kernel32/nls/esv.nls | 1 +
dlls/kernel32/nls/esy.nls | 1 +
dlls/kernel32/nls/esz.nls | 1 +
dlls/kernel32/nls/eti.nls | 1 +
dlls/kernel32/nls/euq.nls | 1 +
dlls/kernel32/nls/far.nls | 1 +
dlls/kernel32/nls/fin.nls | 1 +
dlls/kernel32/nls/fos.nls | 1 +
dlls/kernel32/nls/fra.nls | 1 +
dlls/kernel32/nls/frb.nls | 1 +
dlls/kernel32/nls/frc.nls | 1 +
dlls/kernel32/nls/frl.nls | 1 +
dlls/kernel32/nls/frm.nls | 1 +
dlls/kernel32/nls/frs.nls | 1 +
dlls/kernel32/nls/gae.nls | 1 +
dlls/kernel32/nls/gdh.nls | 1 +
dlls/kernel32/nls/gdv.nls | 2 +-
dlls/kernel32/nls/glc.nls | 1 +
dlls/kernel32/nls/guj.nls | 1 +
dlls/kernel32/nls/heb.nls | 1 +
dlls/kernel32/nls/hin.nls | 1 +
dlls/kernel32/nls/hrv.nls | 1 +
dlls/kernel32/nls/hun.nls | 1 +
dlls/kernel32/nls/hye.nls | 1 +
dlls/kernel32/nls/ind.nls | 1 +
dlls/kernel32/nls/isl.nls | 1 +
dlls/kernel32/nls/ita.nls | 1 +
dlls/kernel32/nls/its.nls | 1 +
dlls/kernel32/nls/ivl.nls | 1 +
dlls/kernel32/nls/jpn.nls | 1 +
dlls/kernel32/nls/kan.nls | 1 +
dlls/kernel32/nls/kat.nls | 1 +
dlls/kernel32/nls/kkz.nls | 1 +
dlls/kernel32/nls/knk.nls | 1 +
dlls/kernel32/nls/kor.nls | 1 +
dlls/kernel32/nls/kyr.nls | 1 +
dlls/kernel32/nls/lth.nls | 1 +
dlls/kernel32/nls/lvi.nls | 1 +
dlls/kernel32/nls/mar.nls | 1 +
dlls/kernel32/nls/mki.nls | 1 +
dlls/kernel32/nls/mon.nls | 1 +
dlls/kernel32/nls/msb.nls | 1 +
dlls/kernel32/nls/msl.nls | 1 +
dlls/kernel32/nls/nep.nls | 1 +
dlls/kernel32/nls/nlb.nls | 1 +
dlls/kernel32/nls/nld.nls | 1 +
dlls/kernel32/nls/nls.nls | 1 +
dlls/kernel32/nls/non.nls | 1 +
dlls/kernel32/nls/nor.nls | 1 +
dlls/kernel32/nls/pan.nls | 1 +
dlls/kernel32/nls/plk.nls | 1 +
dlls/kernel32/nls/ptb.nls | 1 +
dlls/kernel32/nls/ptg.nls | 1 +
dlls/kernel32/nls/rmc.nls | 1 +
dlls/kernel32/nls/rom.nls | 1 +
dlls/kernel32/nls/rus.nls | 1 +
dlls/kernel32/nls/san.nls | 1 +
dlls/kernel32/nls/sin.nls | 1 +
dlls/kernel32/nls/sky.nls | 1 +
dlls/kernel32/nls/slv.nls | 1 +
dlls/kernel32/nls/sqi.nls | 1 +
dlls/kernel32/nls/srb.nls | 1 +
dlls/kernel32/nls/srl.nls | 1 +
dlls/kernel32/nls/sve.nls | 1 +
dlls/kernel32/nls/svf.nls | 1 +
dlls/kernel32/nls/swk.nls | 1 +
dlls/kernel32/nls/syr.nls | 1 +
dlls/kernel32/nls/tam.nls | 1 +
dlls/kernel32/nls/tel.nls | 1 +
dlls/kernel32/nls/tha.nls | 1 +
dlls/kernel32/nls/trk.nls | 1 +
dlls/kernel32/nls/ttt.nls | 1 +
dlls/kernel32/nls/ukr.nls | 1 +
dlls/kernel32/nls/urd.nls | 1 +
dlls/kernel32/nls/uzb.nls | 1 +
dlls/kernel32/nls/uzl.nls | 1 +
dlls/kernel32/nls/vit.nls | 1 +
dlls/kernel32/nls/wal.nls | 1 +
dlls/kernel32/nls/zhh.nls | 1 +
dlls/kernel32/nls/zhi.nls | 1 +
dlls/kernel32/nls/zhm.nls | 1 +
149 files changed, 149 insertions(+), 1 deletion(-)
diff --git a/dlls/kernel32/nls/afk.nls b/dlls/kernel32/nls/afk.nls
index 350b3c31fdc..6225c47107e 100644
--- a/dlls/kernel32/nls/afk.nls
+++ b/dlls/kernel32/nls/afk.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_AFRIKAANS, SUBLANG_DEFAULT
LOCALE_SLONGDATE "dd MMMM yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "Januarie"
LOCALE_SMONTHNAME2 "Februarie"
LOCALE_SMONTHNAME3 "Maart"
diff --git a/dlls/kernel32/nls/ara.nls b/dlls/kernel32/nls/ara.nls
index a7a3937156f..c3eb6f9a108 100644
--- a/dlls/kernel32/nls/ara.nls
+++ b/dlls/kernel32/nls/ara.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_ARABIC, SUBLANG_ARABIC_SAUDI_ARABIA
LOCALE_SLONGDATE "dd MMMM, yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "يناير"
LOCALE_SMONTHNAME2 "فبراير"
LOCALE_SMONTHNAME3 "مارس"
diff --git a/dlls/kernel32/nls/arb.nls b/dlls/kernel32/nls/arb.nls
index 8bc2ba1f33d..dd3c328277d 100644
--- a/dlls/kernel32/nls/arb.nls
+++ b/dlls/kernel32/nls/arb.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_ARABIC, SUBLANG_ARABIC_LEBANON
LOCALE_SLONGDATE "dd MMMM, yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "كانون الثاني"
LOCALE_SMONTHNAME2 "شباط"
LOCALE_SMONTHNAME3 "آذار"
diff --git a/dlls/kernel32/nls/are.nls b/dlls/kernel32/nls/are.nls
index 6b94dd68a0e..4f39b76191a 100644
--- a/dlls/kernel32/nls/are.nls
+++ b/dlls/kernel32/nls/are.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_ARABIC, SUBLANG_ARABIC_EGYPT
LOCALE_SLONGDATE "dd MMMM, yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "يناير"
LOCALE_SMONTHNAME2 "فبراير"
LOCALE_SMONTHNAME3 "مارس"
diff --git a/dlls/kernel32/nls/arg.nls b/dlls/kernel32/nls/arg.nls
index 38ea3631a84..096945efd12 100644
--- a/dlls/kernel32/nls/arg.nls
+++ b/dlls/kernel32/nls/arg.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_ARABIC, SUBLANG_ARABIC_ALGERIA
LOCALE_SLONGDATE "dd MMMM, yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "جانفييه"
LOCALE_SMONTHNAME2 "فيفرييه"
LOCALE_SMONTHNAME3 "مارس"
diff --git a/dlls/kernel32/nls/arh.nls b/dlls/kernel32/nls/arh.nls
index c945fceac00..ad33914fa33 100644
--- a/dlls/kernel32/nls/arh.nls
+++ b/dlls/kernel32/nls/arh.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_ARABIC, SUBLANG_ARABIC_BAHRAIN
LOCALE_SLONGDATE "dd MMMM, yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "يناير"
LOCALE_SMONTHNAME2 "فبراير"
LOCALE_SMONTHNAME3 "مارس"
diff --git a/dlls/kernel32/nls/ari.nls b/dlls/kernel32/nls/ari.nls
index e827848bc9c..d405c1b90b9 100644
--- a/dlls/kernel32/nls/ari.nls
+++ b/dlls/kernel32/nls/ari.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_ARABIC, SUBLANG_ARABIC_IRAQ
LOCALE_SLONGDATE "dd MMMM, yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "كانون الثاني"
LOCALE_SMONTHNAME2 "شباط"
LOCALE_SMONTHNAME3 "آذار"
diff --git a/dlls/kernel32/nls/arj.nls b/dlls/kernel32/nls/arj.nls
index 58759376354..e24a636b156 100644
--- a/dlls/kernel32/nls/arj.nls
+++ b/dlls/kernel32/nls/arj.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_ARABIC, SUBLANG_ARABIC_JORDAN
LOCALE_SLONGDATE "dd MMMM, yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "كانون الثاني"
LOCALE_SMONTHNAME2 "شباط"
LOCALE_SMONTHNAME3 "آذار"
diff --git a/dlls/kernel32/nls/ark.nls b/dlls/kernel32/nls/ark.nls
index f9a64487a0d..7fbb44d9265 100644
--- a/dlls/kernel32/nls/ark.nls
+++ b/dlls/kernel32/nls/ark.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_ARABIC, SUBLANG_ARABIC_KUWAIT
LOCALE_SLONGDATE "dd MMMM, yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "يناير"
LOCALE_SMONTHNAME2 "فبراير"
LOCALE_SMONTHNAME3 "مارس"
diff --git a/dlls/kernel32/nls/arl.nls b/dlls/kernel32/nls/arl.nls
index 540b39e076d..bfd98e61390 100644
--- a/dlls/kernel32/nls/arl.nls
+++ b/dlls/kernel32/nls/arl.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_ARABIC, SUBLANG_ARABIC_LIBYA
LOCALE_SLONGDATE "dd MMMM, yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "يناير"
LOCALE_SMONTHNAME2 "فبراير"
LOCALE_SMONTHNAME3 "مارس"
diff --git a/dlls/kernel32/nls/arm.nls b/dlls/kernel32/nls/arm.nls
index 416e9cb3db6..01782330fe9 100644
--- a/dlls/kernel32/nls/arm.nls
+++ b/dlls/kernel32/nls/arm.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_ARABIC, SUBLANG_ARABIC_MOROCCO
LOCALE_SLONGDATE "dd MMMM, yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "جانفييه"
LOCALE_SMONTHNAME2 "فيفرييه"
LOCALE_SMONTHNAME3 "مارس"
diff --git a/dlls/kernel32/nls/aro.nls b/dlls/kernel32/nls/aro.nls
index faaf5a38372..0a17050796a 100644
--- a/dlls/kernel32/nls/aro.nls
+++ b/dlls/kernel32/nls/aro.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_ARABIC, SUBLANG_ARABIC_OMAN
LOCALE_SLONGDATE "dd MMMM, yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "يناير"
LOCALE_SMONTHNAME2 "فبراير"
LOCALE_SMONTHNAME3 "مارس"
diff --git a/dlls/kernel32/nls/arq.nls b/dlls/kernel32/nls/arq.nls
index 4c983af2206..d27b91a191b 100644
--- a/dlls/kernel32/nls/arq.nls
+++ b/dlls/kernel32/nls/arq.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_ARABIC, SUBLANG_ARABIC_QATAR
LOCALE_SLONGDATE "dd MMMM, yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "يناير"
LOCALE_SMONTHNAME2 "فبراير"
LOCALE_SMONTHNAME3 "مارس"
diff --git a/dlls/kernel32/nls/ars.nls b/dlls/kernel32/nls/ars.nls
index 9e731826d33..37553db7fdc 100644
--- a/dlls/kernel32/nls/ars.nls
+++ b/dlls/kernel32/nls/ars.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_ARABIC, SUBLANG_ARABIC_SYRIA
LOCALE_SLONGDATE "dd MMMM, yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "كانون الثاني"
LOCALE_SMONTHNAME2 "شباط"
LOCALE_SMONTHNAME3 "آذار"
diff --git a/dlls/kernel32/nls/art.nls b/dlls/kernel32/nls/art.nls
index a647bbdc94b..5abe9e9c812 100644
--- a/dlls/kernel32/nls/art.nls
+++ b/dlls/kernel32/nls/art.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_ARABIC, SUBLANG_ARABIC_TUNISIA
LOCALE_SLONGDATE "dd MMMM, yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "جانفي"
LOCALE_SMONTHNAME2 "فيفري"
LOCALE_SMONTHNAME3 "مارس"
diff --git a/dlls/kernel32/nls/aru.nls b/dlls/kernel32/nls/aru.nls
index 64d4b71f0b8..8b3b68883b5 100644
--- a/dlls/kernel32/nls/aru.nls
+++ b/dlls/kernel32/nls/aru.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_ARABIC, SUBLANG_ARABIC_UAE
LOCALE_SLONGDATE "dd MMMM, yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "يناير"
LOCALE_SMONTHNAME2 "فبراير"
LOCALE_SMONTHNAME3 "مارس"
diff --git a/dlls/kernel32/nls/ary.nls b/dlls/kernel32/nls/ary.nls
index ed7549eeb8f..34a3234b263 100644
--- a/dlls/kernel32/nls/ary.nls
+++ b/dlls/kernel32/nls/ary.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_ARABIC, SUBLANG_ARABIC_YEMEN
LOCALE_SLONGDATE "dd MMMM, yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "يناير"
LOCALE_SMONTHNAME2 "فبراير"
LOCALE_SMONTHNAME3 "مارس"
diff --git a/dlls/kernel32/nls/aze.nls b/dlls/kernel32/nls/aze.nls
index bc2db0d0c75..d2a3c15b3df 100644
--- a/dlls/kernel32/nls/aze.nls
+++ b/dlls/kernel32/nls/aze.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_AZERI, SUBLANG_AZERI_CYRILLIC
LOCALE_SLONGDATE "d MMMM yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "d MMMM"
LOCALE_SMONTHNAME1 "Јанвар"
LOCALE_SMONTHNAME2 "Феврал"
LOCALE_SMONTHNAME3 "Март"
diff --git a/dlls/kernel32/nls/azl.nls b/dlls/kernel32/nls/azl.nls
index 6c5233a2385..b14672c9990 100644
--- a/dlls/kernel32/nls/azl.nls
+++ b/dlls/kernel32/nls/azl.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_AZERI, SUBLANG_AZERI_LATIN
LOCALE_SLONGDATE "d MMMM yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "d MMMM"
LOCALE_SMONTHNAME1 "Yanvar"
LOCALE_SMONTHNAME2 "Fevral"
LOCALE_SMONTHNAME3 "Mart"
diff --git a/dlls/kernel32/nls/bel.nls b/dlls/kernel32/nls/bel.nls
index 3d046ba729c..d98514c1726 100644
--- a/dlls/kernel32/nls/bel.nls
+++ b/dlls/kernel32/nls/bel.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_BELARUSIAN, SUBLANG_DEFAULT
LOCALE_SLONGDATE "d MMMM yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;3"
+ LOCALE_SMONTHDAY "d MMMM"
LOCALE_SMONTHNAME1 "Студзень\0студзеня"
LOCALE_SMONTHNAME2 "Люты\0лютага"
LOCALE_SMONTHNAME3 "Сакавік\0сакавіка"
diff --git a/dlls/kernel32/nls/ben.nls b/dlls/kernel32/nls/ben.nls
index d848937c2fd..c87a122eed8 100644
--- a/dlls/kernel32/nls/ben.nls
+++ b/dlls/kernel32/nls/ben.nls
@@ -103,6 +103,7 @@ STRINGTABLE LANGUAGE LANG_BANGLA, SUBLANG_BANGLA_INDIA
LOCALE_SLONGDATE "dd MMMM yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;2;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "জানুয়ারী"
LOCALE_SMONTHNAME2 "ফেব্রুয়ারী"
LOCALE_SMONTHNAME3 "মার্চ"
diff --git a/dlls/kernel32/nls/bgr.nls b/dlls/kernel32/nls/bgr.nls
index 7c8732886f2..1e096a188fd 100644
--- a/dlls/kernel32/nls/bgr.nls
+++ b/dlls/kernel32/nls/bgr.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT
LOCALE_SLONGDATE "dd MMMM yyyy 'г.'"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "Януари"
LOCALE_SMONTHNAME2 "Февруари"
LOCALE_SMONTHNAME3 "Март"
diff --git a/dlls/kernel32/nls/brf.nls b/dlls/kernel32/nls/brf.nls
index 1e19c504041..1b80651f96b 100644
--- a/dlls/kernel32/nls/brf.nls
+++ b/dlls/kernel32/nls/brf.nls
@@ -110,6 +110,7 @@ STRINGTABLE LANGUAGE LANG_BRETON, SUBLANG_DEFAULT
LOCALE_SLONGDATE "dddd d MMMM yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "d MMMM"
LOCALE_SMONTHNAME1 "Genver"
LOCALE_SMONTHNAME2 "C'hwevrer"
LOCALE_SMONTHNAME3 "Meurzh"
diff --git a/dlls/kernel32/nls/cat.nls b/dlls/kernel32/nls/cat.nls
index c2b386f9b1d..e8192b49c94 100644
--- a/dlls/kernel32/nls/cat.nls
+++ b/dlls/kernel32/nls/cat.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_CATALAN, SUBLANG_DEFAULT
LOCALE_SLONGDATE "dddd, d' / 'MMMM' / 'yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "gener"
LOCALE_SMONTHNAME2 "febrer"
LOCALE_SMONTHNAME3 "març"
diff --git a/dlls/kernel32/nls/chs.nls b/dlls/kernel32/nls/chs.nls
index 6dc66a3aa37..187700d8489 100644
--- a/dlls/kernel32/nls/chs.nls
+++ b/dlls/kernel32/nls/chs.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
LOCALE_SLONGDATE "yyyy'年'M'月'd'日'"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "M'月'd'日'"
LOCALE_SMONTHNAME1 "一月"
LOCALE_SMONTHNAME2 "二月"
LOCALE_SMONTHNAME3 "三月"
diff --git a/dlls/kernel32/nls/cht.nls b/dlls/kernel32/nls/cht.nls
index c08b807a9da..f10fc637d42 100644
--- a/dlls/kernel32/nls/cht.nls
+++ b/dlls/kernel32/nls/cht.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
LOCALE_SLONGDATE "yyyy'年'M'月'd'日'"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "M'月'd'日'"
LOCALE_SMONTHNAME1 "一月"
LOCALE_SMONTHNAME2 "二月"
LOCALE_SMONTHNAME3 "三月"
diff --git a/dlls/kernel32/nls/cor.nls b/dlls/kernel32/nls/cor.nls
index ab6cbde28bf..bb8ed9087c8 100644
--- a/dlls/kernel32/nls/cor.nls
+++ b/dlls/kernel32/nls/cor.nls
@@ -110,6 +110,7 @@ STRINGTABLE LANGUAGE LANG_CORNISH, SUBLANG_DEFAULT
LOCALE_SLONGDATE "dd MMMM yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "MMMM dd"
LOCALE_SMONTHNAME1 "Mys Genver"
LOCALE_SMONTHNAME2 "Mys Whevrel"
LOCALE_SMONTHNAME3 "Mys Merth"
diff --git a/dlls/kernel32/nls/csy.nls b/dlls/kernel32/nls/csy.nls
index 7d7aa0e94f3..982fe068e11 100644
--- a/dlls/kernel32/nls/csy.nls
+++ b/dlls/kernel32/nls/csy.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
LOCALE_SLONGDATE "d. MMMM yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "leden\0ledna"
LOCALE_SMONTHNAME2 "únor\0února"
LOCALE_SMONTHNAME3 "březen\0března"
diff --git a/dlls/kernel32/nls/cym.nls b/dlls/kernel32/nls/cym.nls
index f609eb35f01..a1eb319a29b 100644
--- a/dlls/kernel32/nls/cym.nls
+++ b/dlls/kernel32/nls/cym.nls
@@ -110,6 +110,7 @@ STRINGTABLE LANGUAGE LANG_WELSH, SUBLANG_DEFAULT
LOCALE_SLONGDATE "dd MMMM yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "Ionawr"
LOCALE_SMONTHNAME2 "Chwefror"
LOCALE_SMONTHNAME3 "Mawrth"
diff --git a/dlls/kernel32/nls/dan.nls b/dlls/kernel32/nls/dan.nls
index ecd516e686e..db2799bfa53 100644
--- a/dlls/kernel32/nls/dan.nls
+++ b/dlls/kernel32/nls/dan.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_DANISH, SUBLANG_DEFAULT
LOCALE_SLONGDATE "d. MMMM yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "d. MMMM"
LOCALE_SMONTHNAME1 "januar"
LOCALE_SMONTHNAME2 "februar"
LOCALE_SMONTHNAME3 "marts"
diff --git a/dlls/kernel32/nls/dea.nls b/dlls/kernel32/nls/dea.nls
index 7b5147045f7..b35cac95d13 100644
--- a/dlls/kernel32/nls/dea.nls
+++ b/dlls/kernel32/nls/dea.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_GERMAN, SUBLANG_GERMAN_AUSTRIAN
LOCALE_SLONGDATE "dddd, dd. MMMM yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "Jänner"
LOCALE_SMONTHNAME2 "Februar"
LOCALE_SMONTHNAME3 "März"
diff --git a/dlls/kernel32/nls/dec.nls b/dlls/kernel32/nls/dec.nls
index 0a7a80c7ebf..0668d7924cb 100644
--- a/dlls/kernel32/nls/dec.nls
+++ b/dlls/kernel32/nls/dec.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_GERMAN, SUBLANG_GERMAN_LIECHTENSTEIN
LOCALE_SLONGDATE "dddd, d. MMMM yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "Januar"
LOCALE_SMONTHNAME2 "Februar"
LOCALE_SMONTHNAME3 "März"
diff --git a/dlls/kernel32/nls/del.nls b/dlls/kernel32/nls/del.nls
index a57f71604ee..349320d6bfa 100644
--- a/dlls/kernel32/nls/del.nls
+++ b/dlls/kernel32/nls/del.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_GERMAN, SUBLANG_GERMAN_LUXEMBOURG
LOCALE_SLONGDATE "dddd, d. MMMM yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "Januar"
LOCALE_SMONTHNAME2 "Februar"
LOCALE_SMONTHNAME3 "März"
diff --git a/dlls/kernel32/nls/des.nls b/dlls/kernel32/nls/des.nls
index 26b12878f74..48f463d57dd 100644
--- a/dlls/kernel32/nls/des.nls
+++ b/dlls/kernel32/nls/des.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_GERMAN, SUBLANG_GERMAN_SWISS
LOCALE_SLONGDATE "dddd, d. MMMM yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "Januar"
LOCALE_SMONTHNAME2 "Februar"
LOCALE_SMONTHNAME3 "März"
diff --git a/dlls/kernel32/nls/deu.nls b/dlls/kernel32/nls/deu.nls
index 83d88eb7461..9742fabe5eb 100644
--- a/dlls/kernel32/nls/deu.nls
+++ b/dlls/kernel32/nls/deu.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_GERMAN, SUBLANG_GERMAN
LOCALE_SLONGDATE "dddd, d. MMMM yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "Januar"
LOCALE_SMONTHNAME2 "Februar"
LOCALE_SMONTHNAME3 "März"
diff --git a/dlls/kernel32/nls/div.nls b/dlls/kernel32/nls/div.nls
index 9fa2fd0e7ee..8169aa3c4e0 100644
--- a/dlls/kernel32/nls/div.nls
+++ b/dlls/kernel32/nls/div.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_DIVEHI, SUBLANG_DEFAULT
LOCALE_SLONGDATE "dd MMMM yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "MMMM dd"
LOCALE_SMONTHNAME1 "ޖެނުއަރީ"
LOCALE_SMONTHNAME2 "ފެބުރުއަރީ"
LOCALE_SMONTHNAME3 "މާޗް"
diff --git a/dlls/kernel32/nls/ell.nls b/dlls/kernel32/nls/ell.nls
index 63e8a2d1572..f2f1a05d371 100644
--- a/dlls/kernel32/nls/ell.nls
+++ b/dlls/kernel32/nls/ell.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_GREEK, SUBLANG_DEFAULT
LOCALE_SLONGDATE "dddd, d MMMM yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "Ιανουάριος"
LOCALE_SMONTHNAME2 "Φεβρουάριος"
LOCALE_SMONTHNAME3 "Μάρτιος"
diff --git a/dlls/kernel32/nls/ena.nls b/dlls/kernel32/nls/ena.nls
index 26d51dae34b..54f9e0361e7 100644
--- a/dlls/kernel32/nls/ena.nls
+++ b/dlls/kernel32/nls/ena.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_AUS
LOCALE_SLONGDATE "dddd, d MMMM yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "January"
LOCALE_SMONTHNAME2 "February"
LOCALE_SMONTHNAME3 "March"
diff --git a/dlls/kernel32/nls/enb.nls b/dlls/kernel32/nls/enb.nls
index 7aa6facc699..c6526005a9e 100644
--- a/dlls/kernel32/nls/enb.nls
+++ b/dlls/kernel32/nls/enb.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_CARIBBEAN
LOCALE_SLONGDATE "dddd, MMMM dd, yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "MMMM dd"
LOCALE_SMONTHNAME1 "January"
LOCALE_SMONTHNAME2 "February"
LOCALE_SMONTHNAME3 "March"
diff --git a/dlls/kernel32/nls/enc.nls b/dlls/kernel32/nls/enc.nls
index 42cbe9e0c62..c71fd4afc96 100644
--- a/dlls/kernel32/nls/enc.nls
+++ b/dlls/kernel32/nls/enc.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_CAN
LOCALE_SLONGDATE "MMMM d, yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "MMMM dd"
LOCALE_SMONTHNAME1 "January"
LOCALE_SMONTHNAME2 "February"
LOCALE_SMONTHNAME3 "March"
diff --git a/dlls/kernel32/nls/eng.nls b/dlls/kernel32/nls/eng.nls
index 5f66fe42620..bbf76560ca9 100644
--- a/dlls/kernel32/nls/eng.nls
+++ b/dlls/kernel32/nls/eng.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_UK
LOCALE_SLONGDATE "dd MMMM yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "January"
LOCALE_SMONTHNAME2 "February"
LOCALE_SMONTHNAME3 "March"
diff --git a/dlls/kernel32/nls/eni.nls b/dlls/kernel32/nls/eni.nls
index 298a97d761d..2316a3ed4b2 100644
--- a/dlls/kernel32/nls/eni.nls
+++ b/dlls/kernel32/nls/eni.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_EIRE
LOCALE_SLONGDATE "dd MMMM yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "January"
LOCALE_SMONTHNAME2 "February"
LOCALE_SMONTHNAME3 "March"
diff --git a/dlls/kernel32/nls/enj.nls b/dlls/kernel32/nls/enj.nls
index cf575e54ab5..bab9960108c 100644
--- a/dlls/kernel32/nls/enj.nls
+++ b/dlls/kernel32/nls/enj.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_JAMAICA
LOCALE_SLONGDATE "dddd, MMMM dd, yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "MMMM dd"
LOCALE_SMONTHNAME1 "January"
LOCALE_SMONTHNAME2 "February"
LOCALE_SMONTHNAME3 "March"
diff --git a/dlls/kernel32/nls/enl.nls b/dlls/kernel32/nls/enl.nls
index fd7b2bcd9ec..2c9e794d891 100644
--- a/dlls/kernel32/nls/enl.nls
+++ b/dlls/kernel32/nls/enl.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_BELIZE
LOCALE_SLONGDATE "dddd, dd MMMM yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "January"
LOCALE_SMONTHNAME2 "February"
LOCALE_SMONTHNAME3 "March"
diff --git a/dlls/kernel32/nls/enp.nls b/dlls/kernel32/nls/enp.nls
index 4c37be19fd6..ab76dd706d1 100644
--- a/dlls/kernel32/nls/enp.nls
+++ b/dlls/kernel32/nls/enp.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_PHILIPPINES
LOCALE_SLONGDATE "dddd, MMMM dd, yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "MMMM dd"
LOCALE_SMONTHNAME1 "January"
LOCALE_SMONTHNAME2 "February"
LOCALE_SMONTHNAME3 "March"
diff --git a/dlls/kernel32/nls/ens.nls b/dlls/kernel32/nls/ens.nls
index 6c8aa16f867..3d2033e5f90 100644
--- a/dlls/kernel32/nls/ens.nls
+++ b/dlls/kernel32/nls/ens.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_SOUTH_AFRICA
LOCALE_SLONGDATE "dd MMMM yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "January"
LOCALE_SMONTHNAME2 "February"
LOCALE_SMONTHNAME3 "March"
diff --git a/dlls/kernel32/nls/ent.nls b/dlls/kernel32/nls/ent.nls
index 4285577596d..79153c6dc4b 100644
--- a/dlls/kernel32/nls/ent.nls
+++ b/dlls/kernel32/nls/ent.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_TRINIDAD
LOCALE_SLONGDATE "dddd, dd MMMM yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "January"
LOCALE_SMONTHNAME2 "February"
LOCALE_SMONTHNAME3 "March"
diff --git a/dlls/kernel32/nls/enu.nls b/dlls/kernel32/nls/enu.nls
index 119b9cc18c5..0eea48723e6 100644
--- a/dlls/kernel32/nls/enu.nls
+++ b/dlls/kernel32/nls/enu.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
LOCALE_SLONGDATE "dddd, MMMM dd, yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "MMMM dd"
LOCALE_SMONTHNAME1 "January"
LOCALE_SMONTHNAME2 "February"
LOCALE_SMONTHNAME3 "March"
diff --git a/dlls/kernel32/nls/enw.nls b/dlls/kernel32/nls/enw.nls
index 26d04cb6140..0e2e0bffb0c 100644
--- a/dlls/kernel32/nls/enw.nls
+++ b/dlls/kernel32/nls/enw.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_ZIMBABWE
LOCALE_SLONGDATE "dddd, MMMM dd, yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "MMMM dd"
LOCALE_SMONTHNAME1 "January"
LOCALE_SMONTHNAME2 "February"
LOCALE_SMONTHNAME3 "March"
diff --git a/dlls/kernel32/nls/enz.nls b/dlls/kernel32/nls/enz.nls
index 66baca17834..06295d5d499 100644
--- a/dlls/kernel32/nls/enz.nls
+++ b/dlls/kernel32/nls/enz.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_NZ
LOCALE_SLONGDATE "dddd, d MMMM yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "January"
LOCALE_SMONTHNAME2 "February"
LOCALE_SMONTHNAME3 "March"
diff --git a/dlls/kernel32/nls/eox.nls b/dlls/kernel32/nls/eox.nls
index 0dc82fe3a77..5a4bc2370ef 100644
--- a/dlls/kernel32/nls/eox.nls
+++ b/dlls/kernel32/nls/eox.nls
@@ -125,6 +125,7 @@ STRINGTABLE LANGUAGE LANG_ESPERANTO, SUBLANG_DEFAULT
LOCALE_SLONGDATE "ddd, d. MMMM yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "MMMM dd"
LOCALE_SMONTHNAME1 "januaro"
LOCALE_SMONTHNAME2 "februaro"
LOCALE_SMONTHNAME3 "marto"
diff --git a/dlls/kernel32/nls/esa.nls b/dlls/kernel32/nls/esa.nls
index 3b850095c36..0b03d3939ea 100644
--- a/dlls/kernel32/nls/esa.nls
+++ b/dlls/kernel32/nls/esa.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_SPANISH, SUBLANG_SPANISH_PANAMA
LOCALE_SLONGDATE "dddd, dd' de 'MMMM' de 'yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "Enero"
LOCALE_SMONTHNAME2 "Febrero"
LOCALE_SMONTHNAME3 "Marzo"
diff --git a/dlls/kernel32/nls/esb.nls b/dlls/kernel32/nls/esb.nls
index ade33beec12..b6669b862c0 100644
--- a/dlls/kernel32/nls/esb.nls
+++ b/dlls/kernel32/nls/esb.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_SPANISH, SUBLANG_SPANISH_BOLIVIA
LOCALE_SLONGDATE "dddd, dd' de 'MMMM' de 'yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "Enero"
LOCALE_SMONTHNAME2 "Febrero"
LOCALE_SMONTHNAME3 "Marzo"
diff --git a/dlls/kernel32/nls/esc.nls b/dlls/kernel32/nls/esc.nls
index d34eb31a0c7..f4171baa1c0 100644
--- a/dlls/kernel32/nls/esc.nls
+++ b/dlls/kernel32/nls/esc.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_SPANISH, SUBLANG_SPANISH_COSTA_RICA
LOCALE_SLONGDATE "dddd, dd' de 'MMMM' de 'yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "Enero"
LOCALE_SMONTHNAME2 "Febrero"
LOCALE_SMONTHNAME3 "Marzo"
diff --git a/dlls/kernel32/nls/esd.nls b/dlls/kernel32/nls/esd.nls
index cd549adf4e6..988f26ad402 100644
--- a/dlls/kernel32/nls/esd.nls
+++ b/dlls/kernel32/nls/esd.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_SPANISH, SUBLANG_SPANISH_DOMINICAN_REPUBLIC
LOCALE_SLONGDATE "dddd, dd' de 'MMMM' de 'yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "Enero"
LOCALE_SMONTHNAME2 "Febrero"
LOCALE_SMONTHNAME3 "Marzo"
diff --git a/dlls/kernel32/nls/ese.nls b/dlls/kernel32/nls/ese.nls
index b39fde0f5bd..e1fe67a8c70 100644
--- a/dlls/kernel32/nls/ese.nls
+++ b/dlls/kernel32/nls/ese.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_SPANISH, SUBLANG_SPANISH_EL_SALVADOR
LOCALE_SLONGDATE "dddd, dd' de 'MMMM' de 'yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "Enero"
LOCALE_SMONTHNAME2 "Febrero"
LOCALE_SMONTHNAME3 "Marzo"
diff --git a/dlls/kernel32/nls/esf.nls b/dlls/kernel32/nls/esf.nls
index d3a5a7129d4..2e87edfcdda 100644
--- a/dlls/kernel32/nls/esf.nls
+++ b/dlls/kernel32/nls/esf.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_SPANISH, SUBLANG_SPANISH_ECUADOR
LOCALE_SLONGDATE "dddd, dd' de 'MMMM' de 'yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "Enero"
LOCALE_SMONTHNAME2 "Febrero"
LOCALE_SMONTHNAME3 "Marzo"
diff --git a/dlls/kernel32/nls/esg.nls b/dlls/kernel32/nls/esg.nls
index ed6fa4b0a7e..1519a12ce30 100644
--- a/dlls/kernel32/nls/esg.nls
+++ b/dlls/kernel32/nls/esg.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_SPANISH, SUBLANG_SPANISH_GUATEMALA
LOCALE_SLONGDATE "dddd, dd' de 'MMMM' de 'yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "Enero"
LOCALE_SMONTHNAME2 "Febrero"
LOCALE_SMONTHNAME3 "Marzo"
diff --git a/dlls/kernel32/nls/esh.nls b/dlls/kernel32/nls/esh.nls
index 701f55a1c01..c8342a40b7b 100644
--- a/dlls/kernel32/nls/esh.nls
+++ b/dlls/kernel32/nls/esh.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_SPANISH, SUBLANG_SPANISH_HONDURAS
LOCALE_SLONGDATE "dddd, dd' de 'MMMM' de 'yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "Enero"
LOCALE_SMONTHNAME2 "Febrero"
LOCALE_SMONTHNAME3 "Marzo"
diff --git a/dlls/kernel32/nls/esi.nls b/dlls/kernel32/nls/esi.nls
index 8f0948e1f3e..23843939f1c 100644
--- a/dlls/kernel32/nls/esi.nls
+++ b/dlls/kernel32/nls/esi.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_SPANISH, SUBLANG_SPANISH_NICARAGUA
LOCALE_SLONGDATE "dddd, dd' de 'MMMM' de 'yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "Enero"
LOCALE_SMONTHNAME2 "Febrero"
LOCALE_SMONTHNAME3 "Marzo"
diff --git a/dlls/kernel32/nls/esl.nls b/dlls/kernel32/nls/esl.nls
index 04648a7ea5e..6d48cf5fedd 100644
--- a/dlls/kernel32/nls/esl.nls
+++ b/dlls/kernel32/nls/esl.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_SPANISH, SUBLANG_SPANISH_CHILE
LOCALE_SLONGDATE "dddd, dd' de 'MMMM' de 'yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "Enero"
LOCALE_SMONTHNAME2 "Febrero"
LOCALE_SMONTHNAME3 "Marzo"
diff --git a/dlls/kernel32/nls/esm.nls b/dlls/kernel32/nls/esm.nls
index 514ea13f56a..9a515673da3 100644
--- a/dlls/kernel32/nls/esm.nls
+++ b/dlls/kernel32/nls/esm.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_SPANISH, SUBLANG_SPANISH_MEXICAN
LOCALE_SLONGDATE "dddd, dd' de 'MMMM' de 'yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "Enero"
LOCALE_SMONTHNAME2 "Febrero"
LOCALE_SMONTHNAME3 "Marzo"
diff --git a/dlls/kernel32/nls/esn.nls b/dlls/kernel32/nls/esn.nls
index 627eda2e9e7..a291db867ee 100644
--- a/dlls/kernel32/nls/esn.nls
+++ b/dlls/kernel32/nls/esn.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_SPANISH, SUBLANG_SPANISH_MODERN
LOCALE_SLONGDATE "dddd, dd' de 'MMMM' de 'yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "enero"
LOCALE_SMONTHNAME2 "febrero"
LOCALE_SMONTHNAME3 "marzo"
diff --git a/dlls/kernel32/nls/eso.nls b/dlls/kernel32/nls/eso.nls
index 3c4252a6e5b..15da10aeb38 100644
--- a/dlls/kernel32/nls/eso.nls
+++ b/dlls/kernel32/nls/eso.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_SPANISH, SUBLANG_SPANISH_COLOMBIA
LOCALE_SLONGDATE "dddd, dd' de 'MMMM' de 'yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "Enero"
LOCALE_SMONTHNAME2 "Febrero"
LOCALE_SMONTHNAME3 "Marzo"
diff --git a/dlls/kernel32/nls/esp.nls b/dlls/kernel32/nls/esp.nls
index 3774e283d0c..abd326acbd6 100644
--- a/dlls/kernel32/nls/esp.nls
+++ b/dlls/kernel32/nls/esp.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_SPANISH, SUBLANG_SPANISH
LOCALE_SLONGDATE "dddd, dd' de 'MMMM' de 'yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "enero"
LOCALE_SMONTHNAME2 "febrero"
LOCALE_SMONTHNAME3 "marzo"
diff --git a/dlls/kernel32/nls/esr.nls b/dlls/kernel32/nls/esr.nls
index 937e3cba394..fd3b788f5a2 100644
--- a/dlls/kernel32/nls/esr.nls
+++ b/dlls/kernel32/nls/esr.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_SPANISH, SUBLANG_SPANISH_PERU
LOCALE_SLONGDATE "dddd, dd' de 'MMMM' de 'yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "Enero"
LOCALE_SMONTHNAME2 "Febrero"
LOCALE_SMONTHNAME3 "Marzo"
diff --git a/dlls/kernel32/nls/ess.nls b/dlls/kernel32/nls/ess.nls
index 7819d4589d0..ae1863973cb 100644
--- a/dlls/kernel32/nls/ess.nls
+++ b/dlls/kernel32/nls/ess.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_SPANISH, SUBLANG_SPANISH_ARGENTINA
LOCALE_SLONGDATE "dddd, dd' de 'MMMM' de 'yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "Enero"
LOCALE_SMONTHNAME2 "Febrero"
LOCALE_SMONTHNAME3 "Marzo"
diff --git a/dlls/kernel32/nls/esu.nls b/dlls/kernel32/nls/esu.nls
index fb1e411dcd4..46cd5c77ba5 100644
--- a/dlls/kernel32/nls/esu.nls
+++ b/dlls/kernel32/nls/esu.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_SPANISH, SUBLANG_SPANISH_PUERTO_RICO
LOCALE_SLONGDATE "dddd, dd' de 'MMMM' de 'yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "Enero"
LOCALE_SMONTHNAME2 "Febrero"
LOCALE_SMONTHNAME3 "Marzo"
diff --git a/dlls/kernel32/nls/esv.nls b/dlls/kernel32/nls/esv.nls
index 31b1b8f918c..f6661abb894 100644
--- a/dlls/kernel32/nls/esv.nls
+++ b/dlls/kernel32/nls/esv.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_SPANISH, SUBLANG_SPANISH_VENEZUELA
LOCALE_SLONGDATE "dddd, dd' de 'MMMM' de 'yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "Enero"
LOCALE_SMONTHNAME2 "Febrero"
LOCALE_SMONTHNAME3 "Marzo"
diff --git a/dlls/kernel32/nls/esy.nls b/dlls/kernel32/nls/esy.nls
index f977cab0cd5..8b170de0223 100644
--- a/dlls/kernel32/nls/esy.nls
+++ b/dlls/kernel32/nls/esy.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_SPANISH, SUBLANG_SPANISH_URUGUAY
LOCALE_SLONGDATE "dddd, dd' de 'MMMM' de 'yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "Enero"
LOCALE_SMONTHNAME2 "Febrero"
LOCALE_SMONTHNAME3 "Marzo"
diff --git a/dlls/kernel32/nls/esz.nls b/dlls/kernel32/nls/esz.nls
index 7e5d4aeaf1e..09ca6c7d9ff 100644
--- a/dlls/kernel32/nls/esz.nls
+++ b/dlls/kernel32/nls/esz.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_SPANISH, SUBLANG_SPANISH_PARAGUAY
LOCALE_SLONGDATE "dddd, dd' de 'MMMM' de 'yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "Enero"
LOCALE_SMONTHNAME2 "Febrero"
LOCALE_SMONTHNAME3 "Marzo"
diff --git a/dlls/kernel32/nls/eti.nls b/dlls/kernel32/nls/eti.nls
index 2a04fabb105..d8a984477af 100644
--- a/dlls/kernel32/nls/eti.nls
+++ b/dlls/kernel32/nls/eti.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_ESTONIAN, SUBLANG_DEFAULT
LOCALE_SLONGDATE "d. MMMM yyyy'. a.'"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "d. MMMM"
LOCALE_SMONTHNAME1 "jaanuar"
LOCALE_SMONTHNAME2 "veebruar"
LOCALE_SMONTHNAME3 "märts"
diff --git a/dlls/kernel32/nls/euq.nls b/dlls/kernel32/nls/euq.nls
index ede760e1dc9..036aa18ecd2 100644
--- a/dlls/kernel32/nls/euq.nls
+++ b/dlls/kernel32/nls/euq.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_BASQUE, SUBLANG_DEFAULT
LOCALE_SLONGDATE "dddd, yyyy.'eko' MMMM'k 'd"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "MMMM dd"
LOCALE_SMONTHNAME1 "urtarrila"
LOCALE_SMONTHNAME2 "otsaila"
LOCALE_SMONTHNAME3 "martxoa"
diff --git a/dlls/kernel32/nls/far.nls b/dlls/kernel32/nls/far.nls
index 4b598b4ad86..7cc3fae408b 100644
--- a/dlls/kernel32/nls/far.nls
+++ b/dlls/kernel32/nls/far.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_PERSIAN, SUBLANG_DEFAULT
LOCALE_SLONGDATE "yyyy/MM/dd"
LOCALE_SMONDECIMALSEP "٫"
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "ژانویه"
LOCALE_SMONTHNAME2 "فوریه"
LOCALE_SMONTHNAME3 "مارس"
diff --git a/dlls/kernel32/nls/fin.nls b/dlls/kernel32/nls/fin.nls
index ab6d4e11405..9ceea69bf55 100644
--- a/dlls/kernel32/nls/fin.nls
+++ b/dlls/kernel32/nls/fin.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_FINNISH, SUBLANG_DEFAULT
LOCALE_SLONGDATE "d. MMMM'ta 'yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "d. MMMM'ta'"
LOCALE_SMONTHNAME1 "tammikuu"
LOCALE_SMONTHNAME2 "helmikuu"
LOCALE_SMONTHNAME3 "maaliskuu"
diff --git a/dlls/kernel32/nls/fos.nls b/dlls/kernel32/nls/fos.nls
index eaca95cb281..262d8564fe8 100644
--- a/dlls/kernel32/nls/fos.nls
+++ b/dlls/kernel32/nls/fos.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_FAEROESE, SUBLANG_DEFAULT
LOCALE_SLONGDATE "d. MMMM yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "d. MMMM"
LOCALE_SMONTHNAME1 "januar"
LOCALE_SMONTHNAME2 "februar"
LOCALE_SMONTHNAME3 "mars"
diff --git a/dlls/kernel32/nls/fra.nls b/dlls/kernel32/nls/fra.nls
index d0046a34f63..bbbabf37a47 100644
--- a/dlls/kernel32/nls/fra.nls
+++ b/dlls/kernel32/nls/fra.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_FRENCH, SUBLANG_FRENCH
LOCALE_SLONGDATE "dddd d MMMM yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "d MMMM"
LOCALE_SMONTHNAME1 "janvier"
LOCALE_SMONTHNAME2 "février"
LOCALE_SMONTHNAME3 "mars"
diff --git a/dlls/kernel32/nls/frb.nls b/dlls/kernel32/nls/frb.nls
index a4732e33b73..8a6c844cb49 100644
--- a/dlls/kernel32/nls/frb.nls
+++ b/dlls/kernel32/nls/frb.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_FRENCH, SUBLANG_FRENCH_BELGIAN
LOCALE_SLONGDATE "dddd d MMMM yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "d MMMM"
LOCALE_SMONTHNAME1 "janvier"
LOCALE_SMONTHNAME2 "février"
LOCALE_SMONTHNAME3 "mars"
diff --git a/dlls/kernel32/nls/frc.nls b/dlls/kernel32/nls/frc.nls
index 9a617b1af71..3d64bb77281 100644
--- a/dlls/kernel32/nls/frc.nls
+++ b/dlls/kernel32/nls/frc.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_FRENCH, SUBLANG_FRENCH_CANADIAN
LOCALE_SLONGDATE "d MMMM, yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "d MMMM"
LOCALE_SMONTHNAME1 "janvier"
LOCALE_SMONTHNAME2 "février"
LOCALE_SMONTHNAME3 "mars"
diff --git a/dlls/kernel32/nls/frl.nls b/dlls/kernel32/nls/frl.nls
index d3b5e8ff2ab..0d4d7fc0cd3 100644
--- a/dlls/kernel32/nls/frl.nls
+++ b/dlls/kernel32/nls/frl.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_FRENCH, SUBLANG_FRENCH_LUXEMBOURG
LOCALE_SLONGDATE "dddd d MMMM yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "d MMMM"
LOCALE_SMONTHNAME1 "janvier"
LOCALE_SMONTHNAME2 "février"
LOCALE_SMONTHNAME3 "mars"
diff --git a/dlls/kernel32/nls/frm.nls b/dlls/kernel32/nls/frm.nls
index cf917ebc484..bcfbb56d3c5 100644
--- a/dlls/kernel32/nls/frm.nls
+++ b/dlls/kernel32/nls/frm.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_FRENCH, SUBLANG_FRENCH_MONACO
LOCALE_SLONGDATE "dddd d MMMM yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "d MMMM"
LOCALE_SMONTHNAME1 "janvier"
LOCALE_SMONTHNAME2 "février"
LOCALE_SMONTHNAME3 "mars"
diff --git a/dlls/kernel32/nls/frs.nls b/dlls/kernel32/nls/frs.nls
index 4249939da9b..592e0e692ee 100644
--- a/dlls/kernel32/nls/frs.nls
+++ b/dlls/kernel32/nls/frs.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_FRENCH, SUBLANG_FRENCH_SWISS
LOCALE_SLONGDATE "dddd, d. MMMM yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "d MMMM"
LOCALE_SMONTHNAME1 "janvier"
LOCALE_SMONTHNAME2 "février"
LOCALE_SMONTHNAME3 "mars"
diff --git a/dlls/kernel32/nls/gae.nls b/dlls/kernel32/nls/gae.nls
index 1d551048c25..5490dddd8df 100644
--- a/dlls/kernel32/nls/gae.nls
+++ b/dlls/kernel32/nls/gae.nls
@@ -110,6 +110,7 @@ STRINGTABLE LANGUAGE LANG_IRISH, SUBLANG_IRISH_IRELAND
LOCALE_SLONGDATE "dddd, MMMM dd, yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "Eanáir"
LOCALE_SMONTHNAME2 "Feabhra"
LOCALE_SMONTHNAME3 "Márta"
diff --git a/dlls/kernel32/nls/gdh.nls b/dlls/kernel32/nls/gdh.nls
index 5718482efe4..7f60c5130ae 100644
--- a/dlls/kernel32/nls/gdh.nls
+++ b/dlls/kernel32/nls/gdh.nls
@@ -110,6 +110,7 @@ STRINGTABLE LANGUAGE LANG_SCOTTISH_GAELIC, SUBLANG_SCOTTISH_GAELIC
LOCALE_SLONGDATE "dd MMMM yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "Am Faoilteach"
LOCALE_SMONTHNAME2 "An Gearann"
LOCALE_SMONTHNAME3 "Am Màrt"
diff --git a/dlls/kernel32/nls/gdv.nls b/dlls/kernel32/nls/gdv.nls
index 51e9ad0b868..5e4f7b56385 100644
--- a/dlls/kernel32/nls/gdv.nls
+++ b/dlls/kernel32/nls/gdv.nls
@@ -104,13 +104,13 @@ STRINGTABLE LANGUAGE LANG_MANX_GAELIC, SUBLANG_MANX_GAELIC
LOCALE_SGROUPING "3;0"
LOCALE_SINTLSYMBOL "GBP"
LOCALE_SISO3166CTRYNAME "IM"
-
LOCALE_SISO639LANGNAME "gv"
LOCALE_SLANGUAGE "Gaelg (Manninn)"
LOCALE_SLIST ","
LOCALE_SLONGDATE "dd MMMM yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "MMMM dd"
LOCALE_SMONTHNAME1 "Jerrey-geuree"
LOCALE_SMONTHNAME2 "Toshiaght-arree"
LOCALE_SMONTHNAME3 "Mayrnt"
diff --git a/dlls/kernel32/nls/glc.nls b/dlls/kernel32/nls/glc.nls
index 8d960cb16fd..ec9e949808a 100644
--- a/dlls/kernel32/nls/glc.nls
+++ b/dlls/kernel32/nls/glc.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_GALICIAN, SUBLANG_DEFAULT
LOCALE_SLONGDATE "dddd, dd' de 'MMMM' de 'yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "xaneiro"
LOCALE_SMONTHNAME2 "febreiro"
LOCALE_SMONTHNAME3 "marzo"
diff --git a/dlls/kernel32/nls/guj.nls b/dlls/kernel32/nls/guj.nls
index 1f2b5f77d8e..956743147ad 100644
--- a/dlls/kernel32/nls/guj.nls
+++ b/dlls/kernel32/nls/guj.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_GUJARATI, SUBLANG_DEFAULT
LOCALE_SLONGDATE "dd MMMM yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;2;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "જાન્યુઆરી"
LOCALE_SMONTHNAME2 "ફેબ્રુઆરી"
LOCALE_SMONTHNAME3 "માર્ચ"
diff --git a/dlls/kernel32/nls/heb.nls b/dlls/kernel32/nls/heb.nls
index 8f115215025..99f3acc3fc7 100644
--- a/dlls/kernel32/nls/heb.nls
+++ b/dlls/kernel32/nls/heb.nls
@@ -110,6 +110,7 @@ STRINGTABLE LANGUAGE LANG_HEBREW, SUBLANG_DEFAULT
LOCALE_SLONGDATE "dddd ה־dd בMMMM yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "ינואר"
LOCALE_SMONTHNAME2 "פברואר"
LOCALE_SMONTHNAME3 "מרץ"
diff --git a/dlls/kernel32/nls/hin.nls b/dlls/kernel32/nls/hin.nls
index a37fb1ab2d9..b300d25063e 100644
--- a/dlls/kernel32/nls/hin.nls
+++ b/dlls/kernel32/nls/hin.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_HINDI, SUBLANG_DEFAULT
LOCALE_SLONGDATE "dd MMMM yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;2;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "जनवरी"
LOCALE_SMONTHNAME2 "फरवरी"
LOCALE_SMONTHNAME3 "मार्च"
diff --git a/dlls/kernel32/nls/hrv.nls b/dlls/kernel32/nls/hrv.nls
index a67d0c4ddef..b321e9176f7 100644
--- a/dlls/kernel32/nls/hrv.nls
+++ b/dlls/kernel32/nls/hrv.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_SERBIAN, SUBLANG_DEFAULT
LOCALE_SLONGDATE "d. MMMM yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "d. MMMM"
LOCALE_SMONTHNAME1 "siječanj\0siječnja"
LOCALE_SMONTHNAME2 "veljača\0veljače"
LOCALE_SMONTHNAME3 "ožujak\0ožujka"
diff --git a/dlls/kernel32/nls/hun.nls b/dlls/kernel32/nls/hun.nls
index 8a5e41d5c79..c28b8efdb00 100644
--- a/dlls/kernel32/nls/hun.nls
+++ b/dlls/kernel32/nls/hun.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_HUNGARIAN, SUBLANG_DEFAULT
LOCALE_SLONGDATE "yyyy. MMMM d."
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "MMMM d."
LOCALE_SMONTHNAME1 "január"
LOCALE_SMONTHNAME2 "február"
LOCALE_SMONTHNAME3 "március"
diff --git a/dlls/kernel32/nls/hye.nls b/dlls/kernel32/nls/hye.nls
index 6dfe6b5802b..c157c2ae436 100644
--- a/dlls/kernel32/nls/hye.nls
+++ b/dlls/kernel32/nls/hye.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_ARMENIAN, SUBLANG_DEFAULT
LOCALE_SLONGDATE "d MMMM, yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "d MMMM"
LOCALE_SMONTHNAME1 "Հունվար\0հունվարի"
LOCALE_SMONTHNAME2 "Փետրվար\0փետրվարի"
LOCALE_SMONTHNAME3 "Մարտ\0մարտի"
diff --git a/dlls/kernel32/nls/ind.nls b/dlls/kernel32/nls/ind.nls
index be1e701e476..7ca67c3a9aa 100644
--- a/dlls/kernel32/nls/ind.nls
+++ b/dlls/kernel32/nls/ind.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_INDONESIAN, SUBLANG_DEFAULT
LOCALE_SLONGDATE "dd MMMM yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "Januari"
LOCALE_SMONTHNAME2 "Februari"
LOCALE_SMONTHNAME3 "Maret"
diff --git a/dlls/kernel32/nls/isl.nls b/dlls/kernel32/nls/isl.nls
index 254ddefe034..a3a5547b8fa 100644
--- a/dlls/kernel32/nls/isl.nls
+++ b/dlls/kernel32/nls/isl.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_ICELANDIC, SUBLANG_DEFAULT
LOCALE_SLONGDATE "d. MMMM yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "d. MMMM"
LOCALE_SMONTHNAME1 "janúar"
LOCALE_SMONTHNAME2 "febrúar"
LOCALE_SMONTHNAME3 "mars"
diff --git a/dlls/kernel32/nls/ita.nls b/dlls/kernel32/nls/ita.nls
index 43b9418f2e3..fda73ecc4f8 100644
--- a/dlls/kernel32/nls/ita.nls
+++ b/dlls/kernel32/nls/ita.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_ITALIAN, SUBLANG_ITALIAN
LOCALE_SLONGDATE "dddd d MMMM yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "gennaio"
LOCALE_SMONTHNAME2 "febbraio"
LOCALE_SMONTHNAME3 "marzo"
diff --git a/dlls/kernel32/nls/its.nls b/dlls/kernel32/nls/its.nls
index 9307175b4b2..840cdc52d58 100644
--- a/dlls/kernel32/nls/its.nls
+++ b/dlls/kernel32/nls/its.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_ITALIAN, SUBLANG_ITALIAN_SWISS
LOCALE_SLONGDATE "dddd, d. MMMM yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "d. MMMM"
LOCALE_SMONTHNAME1 "gennaio"
LOCALE_SMONTHNAME2 "febbraio"
LOCALE_SMONTHNAME3 "marzo"
diff --git a/dlls/kernel32/nls/ivl.nls b/dlls/kernel32/nls/ivl.nls
index c1f689f7e7c..65ada52bc81 100644
--- a/dlls/kernel32/nls/ivl.nls
+++ b/dlls/kernel32/nls/ivl.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_INVARIANT, SUBLANG_NEUTRAL
LOCALE_SLONGDATE "dddd, dd MMMM yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "MMMM dd"
LOCALE_SMONTHNAME1 "January"
LOCALE_SMONTHNAME2 "February"
LOCALE_SMONTHNAME3 "March"
diff --git a/dlls/kernel32/nls/jpn.nls b/dlls/kernel32/nls/jpn.nls
index 8025f6b2658..ea0a9bfbe30 100644
--- a/dlls/kernel32/nls/jpn.nls
+++ b/dlls/kernel32/nls/jpn.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
LOCALE_SLONGDATE "yyyy'年'M'月'd'日'"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "M'月'd'日'"
LOCALE_SMONTHNAME1 "1月"
LOCALE_SMONTHNAME2 "2月"
LOCALE_SMONTHNAME3 "3月"
diff --git a/dlls/kernel32/nls/kan.nls b/dlls/kernel32/nls/kan.nls
index 15a45cbf203..aa808a1acfc 100644
--- a/dlls/kernel32/nls/kan.nls
+++ b/dlls/kernel32/nls/kan.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_KANNADA, SUBLANG_DEFAULT
LOCALE_SLONGDATE "dd MMMM yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;2;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "ಜನವರೀ"
LOCALE_SMONTHNAME2 "ಫೆಬ್ರವರೀ"
LOCALE_SMONTHNAME3 "ಮಾರ್ಚ್"
diff --git a/dlls/kernel32/nls/kat.nls b/dlls/kernel32/nls/kat.nls
index 0d366acc934..6b3f8c8a0b5 100644
--- a/dlls/kernel32/nls/kat.nls
+++ b/dlls/kernel32/nls/kat.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_GEORGIAN, SUBLANG_DEFAULT
LOCALE_SLONGDATE "yyyy 'წლის' dd MM, dddd"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MM"
LOCALE_SMONTHNAME1 "იანვარი"
LOCALE_SMONTHNAME2 "თებერვალი"
LOCALE_SMONTHNAME3 "მარტი"
diff --git a/dlls/kernel32/nls/kkz.nls b/dlls/kernel32/nls/kkz.nls
index 65808f53c15..227d3d093f7 100644
--- a/dlls/kernel32/nls/kkz.nls
+++ b/dlls/kernel32/nls/kkz.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_KAZAK, SUBLANG_DEFAULT
LOCALE_SLONGDATE "d MMMM yyyy 'ж.'"
LOCALE_SMONDECIMALSEP "-"
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "d MMMM"
LOCALE_SMONTHNAME1 L"\x049b\x0430\x04a3\x0442\x0430\x0440"
LOCALE_SMONTHNAME2 L"\x0430\x049b\x043f\x0430\x043d"
LOCALE_SMONTHNAME3 "наурыз"
diff --git a/dlls/kernel32/nls/knk.nls b/dlls/kernel32/nls/knk.nls
index ac09939eafa..8bf8c37a7bd 100644
--- a/dlls/kernel32/nls/knk.nls
+++ b/dlls/kernel32/nls/knk.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_KONKANI, SUBLANG_DEFAULT
LOCALE_SLONGDATE "dd MMMM yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;2;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "जानेवारी"
LOCALE_SMONTHNAME2 "फेब्रुवारी"
LOCALE_SMONTHNAME3 "मार्च"
diff --git a/dlls/kernel32/nls/kor.nls b/dlls/kernel32/nls/kor.nls
index aceeb83a9c6..5a5a6ed3f4c 100644
--- a/dlls/kernel32/nls/kor.nls
+++ b/dlls/kernel32/nls/kor.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_KOREAN, SUBLANG_KOREAN
LOCALE_SLONGDATE "yyyy'년' M'월' d'일' dddd"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "M'월' d'일'"
LOCALE_SMONTHNAME1 "1월"
LOCALE_SMONTHNAME2 "2월"
LOCALE_SMONTHNAME3 "3월"
diff --git a/dlls/kernel32/nls/kyr.nls b/dlls/kernel32/nls/kyr.nls
index a4939e0a56e..fa0a578cde1 100644
--- a/dlls/kernel32/nls/kyr.nls
+++ b/dlls/kernel32/nls/kyr.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_KYRGYZ, SUBLANG_DEFAULT
LOCALE_SLONGDATE "d'-'MMMM yyyy'-ж.'"
LOCALE_SMONDECIMALSEP "-"
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "d MMMM"
LOCALE_SMONTHNAME1 "Январь"
LOCALE_SMONTHNAME2 "Февраль"
LOCALE_SMONTHNAME3 "Март"
diff --git a/dlls/kernel32/nls/lth.nls b/dlls/kernel32/nls/lth.nls
index 21332f7df17..f2b2c3687a1 100644
--- a/dlls/kernel32/nls/lth.nls
+++ b/dlls/kernel32/nls/lth.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_LITHUANIAN, SUBLANG_LITHUANIAN
LOCALE_SLONGDATE "yyyy 'm.' MMMM d 'd.'"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "MMMM d 'd.'"
LOCALE_SMONTHNAME1 "sausis\0sausio"
LOCALE_SMONTHNAME2 "vasaris\0vasario"
LOCALE_SMONTHNAME3 "kovas\0kovo"
diff --git a/dlls/kernel32/nls/lvi.nls b/dlls/kernel32/nls/lvi.nls
index 226e0fd7f38..d561adec9f6 100644
--- a/dlls/kernel32/nls/lvi.nls
+++ b/dlls/kernel32/nls/lvi.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_LATVIAN, SUBLANG_DEFAULT
LOCALE_SLONGDATE "dddd, yyyy'. gada 'd. MMMM"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "d. MMMM"
LOCALE_SMONTHNAME1 "janvāris"
LOCALE_SMONTHNAME2 "februāris"
LOCALE_SMONTHNAME3 "marts"
diff --git a/dlls/kernel32/nls/mar.nls b/dlls/kernel32/nls/mar.nls
index 49e847c6008..39c46d7c3f8 100644
--- a/dlls/kernel32/nls/mar.nls
+++ b/dlls/kernel32/nls/mar.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_MARATHI, SUBLANG_DEFAULT
LOCALE_SLONGDATE "dd MMMM yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;2;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "जानेवारी"
LOCALE_SMONTHNAME2 "फेब्रुवारी"
LOCALE_SMONTHNAME3 "मार्च"
diff --git a/dlls/kernel32/nls/mki.nls b/dlls/kernel32/nls/mki.nls
index 979430a78b5..64ae4afa922 100644
--- a/dlls/kernel32/nls/mki.nls
+++ b/dlls/kernel32/nls/mki.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_MACEDONIAN, SUBLANG_DEFAULT
LOCALE_SLONGDATE "dddd, dd MMMM yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "јануари"
LOCALE_SMONTHNAME2 "февруари"
LOCALE_SMONTHNAME3 "март"
diff --git a/dlls/kernel32/nls/mon.nls b/dlls/kernel32/nls/mon.nls
index b67e4b8243a..47787a7288e 100644
--- a/dlls/kernel32/nls/mon.nls
+++ b/dlls/kernel32/nls/mon.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_MONGOLIAN, SUBLANG_DEFAULT
LOCALE_SLONGDATE "yyyy 'оны' MMMM d"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "d MMMM"
LOCALE_SMONTHNAME1 L"1\x00a0\x0434\x04af\x0433\x044d\x044d\x0440\x00a0\x0441\x0430\x0440"
LOCALE_SMONTHNAME2 "2 дугаар сар"
LOCALE_SMONTHNAME3 "3 дугаар сар"
diff --git a/dlls/kernel32/nls/msb.nls b/dlls/kernel32/nls/msb.nls
index f665bb75316..0a6f18a8a17 100644
--- a/dlls/kernel32/nls/msb.nls
+++ b/dlls/kernel32/nls/msb.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_MALAY, SUBLANG_MALAY_BRUNEI_DARUSSALAM
LOCALE_SLONGDATE "dd MMMM yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "Januari"
LOCALE_SMONTHNAME2 "Februari"
LOCALE_SMONTHNAME3 "Mac"
diff --git a/dlls/kernel32/nls/msl.nls b/dlls/kernel32/nls/msl.nls
index 53054c21317..90e877fad1a 100644
--- a/dlls/kernel32/nls/msl.nls
+++ b/dlls/kernel32/nls/msl.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_MALAY, SUBLANG_MALAY_MALAYSIA
LOCALE_SLONGDATE "dd MMMM yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "Januari"
LOCALE_SMONTHNAME2 "Februari"
LOCALE_SMONTHNAME3 "Mac"
diff --git a/dlls/kernel32/nls/nep.nls b/dlls/kernel32/nls/nep.nls
index 0f6d0ee1761..7b5ae15e41d 100644
--- a/dlls/kernel32/nls/nep.nls
+++ b/dlls/kernel32/nls/nep.nls
@@ -103,6 +103,7 @@ STRINGTABLE LANGUAGE LANG_NEPALI, SUBLANG_NEPALI_NEPAL
LOCALE_SLONGDATE "dddd, MMMM dd, yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "MMMM dd"
LOCALE_SMONTHNAME1 "जनवरी"
LOCALE_SMONTHNAME2 "फेब्रुअरी"
LOCALE_SMONTHNAME3 "मार्च"
diff --git a/dlls/kernel32/nls/nlb.nls b/dlls/kernel32/nls/nlb.nls
index 9b66b32a768..2fc32e7d26e 100644
--- a/dlls/kernel32/nls/nlb.nls
+++ b/dlls/kernel32/nls/nlb.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_DUTCH, SUBLANG_DUTCH_BELGIAN
LOCALE_SLONGDATE "dddd d MMMM yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "januari"
LOCALE_SMONTHNAME2 "februari"
LOCALE_SMONTHNAME3 "maart"
diff --git a/dlls/kernel32/nls/nld.nls b/dlls/kernel32/nls/nld.nls
index 8f28f59960c..6c12aec6792 100644
--- a/dlls/kernel32/nls/nld.nls
+++ b/dlls/kernel32/nls/nld.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_DUTCH, SUBLANG_DUTCH
LOCALE_SLONGDATE "dddd d MMMM yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "januari"
LOCALE_SMONTHNAME2 "februari"
LOCALE_SMONTHNAME3 "maart"
diff --git a/dlls/kernel32/nls/nls.nls b/dlls/kernel32/nls/nls.nls
index 47c1260d1e6..e7a94931fd2 100644
--- a/dlls/kernel32/nls/nls.nls
+++ b/dlls/kernel32/nls/nls.nls
@@ -115,6 +115,7 @@ STRINGTABLE LANGUAGE LANG_DUTCH, SUBLANG_DUTCH_SURINAM
LOCALE_SLONGDATE "dddd d MMMM yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "MMMM dd"
LOCALE_SMONTHNAME1 "januari"
LOCALE_SMONTHNAME2 "februari"
LOCALE_SMONTHNAME3 "maart"
diff --git a/dlls/kernel32/nls/non.nls b/dlls/kernel32/nls/non.nls
index e3284041680..6a52f2b514a 100644
--- a/dlls/kernel32/nls/non.nls
+++ b/dlls/kernel32/nls/non.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_NORWEGIAN, SUBLANG_NORWEGIAN_NYNORSK
LOCALE_SLONGDATE "d. MMMM yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "d. MMMM"
LOCALE_SMONTHNAME1 "januar"
LOCALE_SMONTHNAME2 "februar"
LOCALE_SMONTHNAME3 "mars"
diff --git a/dlls/kernel32/nls/nor.nls b/dlls/kernel32/nls/nor.nls
index f887978aab4..ffe216cd5a8 100644
--- a/dlls/kernel32/nls/nor.nls
+++ b/dlls/kernel32/nls/nor.nls
@@ -110,6 +110,7 @@ STRINGTABLE LANGUAGE LANG_NORWEGIAN, SUBLANG_NORWEGIAN_BOKMAL
LOCALE_SLONGDATE "d. MMMM yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "d. MMMM"
LOCALE_SMONTHNAME1 "januar"
LOCALE_SMONTHNAME2 "februar"
LOCALE_SMONTHNAME3 "mars"
diff --git a/dlls/kernel32/nls/pan.nls b/dlls/kernel32/nls/pan.nls
index b562e5e6004..d6a17ea7817 100644
--- a/dlls/kernel32/nls/pan.nls
+++ b/dlls/kernel32/nls/pan.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_PUNJABI, SUBLANG_DEFAULT
LOCALE_SLONGDATE "dd MMMM yyyy dddd"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;2;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "ਜਨਵਰੀ"
LOCALE_SMONTHNAME2 "ਫ਼ਰਵਰੀ"
LOCALE_SMONTHNAME3 "ਮਾਰਚ"
diff --git a/dlls/kernel32/nls/plk.nls b/dlls/kernel32/nls/plk.nls
index 8f0808ce2c7..bac0547bb17 100644
--- a/dlls/kernel32/nls/plk.nls
+++ b/dlls/kernel32/nls/plk.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
LOCALE_SLONGDATE "d MMMM yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "d MMMM"
LOCALE_SMONTHNAME1 "styczeń\0stycznia"
LOCALE_SMONTHNAME2 "luty\0lutego"
LOCALE_SMONTHNAME3 "marzec\0marca"
diff --git a/dlls/kernel32/nls/ptb.nls b/dlls/kernel32/nls/ptb.nls
index eb6fc513cb0..6c5199fa572 100644
--- a/dlls/kernel32/nls/ptb.nls
+++ b/dlls/kernel32/nls/ptb.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN
LOCALE_SLONGDATE "dddd, d' de 'MMMM' de 'yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd' de 'MMMM"
LOCALE_SMONTHNAME1 "janeiro"
LOCALE_SMONTHNAME2 "fevereiro"
LOCALE_SMONTHNAME3 "março"
diff --git a/dlls/kernel32/nls/ptg.nls b/dlls/kernel32/nls/ptg.nls
index ec71704f94e..ae0a843e7d1 100644
--- a/dlls/kernel32/nls/ptg.nls
+++ b/dlls/kernel32/nls/ptg.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE
LOCALE_SLONGDATE "dddd, d' de 'MMMM' de 'yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd/MM"
LOCALE_SMONTHNAME1 "Janeiro"
LOCALE_SMONTHNAME2 "Fevereiro"
LOCALE_SMONTHNAME3 "Março"
diff --git a/dlls/kernel32/nls/rmc.nls b/dlls/kernel32/nls/rmc.nls
index 0277b5f5fe3..eebf2ddce8e 100644
--- a/dlls/kernel32/nls/rmc.nls
+++ b/dlls/kernel32/nls/rmc.nls
@@ -120,6 +120,7 @@ STRINGTABLE LANGUAGE LANG_ROMANSH, SUBLANG_ROMANSH_SWITZERLAND
LOCALE_SLONGDATE "dddd, d MMMM yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "schaner"
LOCALE_SMONTHNAME2 "favrer"
LOCALE_SMONTHNAME3 "mars"
diff --git a/dlls/kernel32/nls/rom.nls b/dlls/kernel32/nls/rom.nls
index 8cc965c5674..357293e563c 100644
--- a/dlls/kernel32/nls/rom.nls
+++ b/dlls/kernel32/nls/rom.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_ROMANIAN, SUBLANG_DEFAULT
LOCALE_SLONGDATE "d MMMM yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "d MMMM"
LOCALE_SMONTHNAME1 "ianuarie"
LOCALE_SMONTHNAME2 "februarie"
LOCALE_SMONTHNAME3 "martie"
diff --git a/dlls/kernel32/nls/rus.nls b/dlls/kernel32/nls/rus.nls
index fcb55bb80a8..4d14af2c7d7 100644
--- a/dlls/kernel32/nls/rus.nls
+++ b/dlls/kernel32/nls/rus.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
LOCALE_SLONGDATE "d MMMM yyyy 'г.'"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "MMMM dd"
LOCALE_SMONTHNAME1 "Январь\0января"
LOCALE_SMONTHNAME2 "Февраль\0февраля"
LOCALE_SMONTHNAME3 "Март\0марта"
diff --git a/dlls/kernel32/nls/san.nls b/dlls/kernel32/nls/san.nls
index 992d80cc188..5fca61335b1 100644
--- a/dlls/kernel32/nls/san.nls
+++ b/dlls/kernel32/nls/san.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_SANSKRIT, SUBLANG_DEFAULT
LOCALE_SLONGDATE "dd MMMM yyyy dddd"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;2;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "जनवरी"
LOCALE_SMONTHNAME2 "फरवरी"
LOCALE_SMONTHNAME3 "मार्च"
diff --git a/dlls/kernel32/nls/sin.nls b/dlls/kernel32/nls/sin.nls
index 033dbc0d7ea..9b74ca12f6d 100644
--- a/dlls/kernel32/nls/sin.nls
+++ b/dlls/kernel32/nls/sin.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_SINHALESE, SUBLANG_SINHALESE_SRI_LANKA
LOCALE_SLONGDATE "yyyy MMMM dd"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;2;0"
+ LOCALE_SMONTHDAY "MMMM dd"
LOCALE_SMONTHNAME1 "ජනවාරි"
LOCALE_SMONTHNAME2 "පෙබරවාරි"
LOCALE_SMONTHNAME3 "මාර්තු"
diff --git a/dlls/kernel32/nls/sky.nls b/dlls/kernel32/nls/sky.nls
index ec04973f9c2..adc363253fc 100644
--- a/dlls/kernel32/nls/sky.nls
+++ b/dlls/kernel32/nls/sky.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT
LOCALE_SLONGDATE "d. MMMM yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "január"
LOCALE_SMONTHNAME2 "február"
LOCALE_SMONTHNAME3 "marec"
diff --git a/dlls/kernel32/nls/slv.nls b/dlls/kernel32/nls/slv.nls
index 3d0790c0e71..63181e4d0a2 100644
--- a/dlls/kernel32/nls/slv.nls
+++ b/dlls/kernel32/nls/slv.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_SLOVENIAN, SUBLANG_DEFAULT
LOCALE_SLONGDATE "d. MMMM yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "d. MMMM"
LOCALE_SMONTHNAME1 "januar"
LOCALE_SMONTHNAME2 "februar"
LOCALE_SMONTHNAME3 "marec"
diff --git a/dlls/kernel32/nls/sqi.nls b/dlls/kernel32/nls/sqi.nls
index 7fda7bd589f..c269e16f0eb 100644
--- a/dlls/kernel32/nls/sqi.nls
+++ b/dlls/kernel32/nls/sqi.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_ALBANIAN, SUBLANG_DEFAULT
LOCALE_SLONGDATE "yyyy-MM-dd"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "MMMM dd"
LOCALE_SMONTHNAME1 "janar"
LOCALE_SMONTHNAME2 "shkurt"
LOCALE_SMONTHNAME3 "mars"
diff --git a/dlls/kernel32/nls/srb.nls b/dlls/kernel32/nls/srb.nls
index 348cf405239..4d1049be44b 100644
--- a/dlls/kernel32/nls/srb.nls
+++ b/dlls/kernel32/nls/srb.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_SERBIAN, SUBLANG_SERBIAN_CYRILLIC
LOCALE_SLONGDATE "d. MMMM yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "d. MMMM"
LOCALE_SMONTHNAME1 "јануар"
LOCALE_SMONTHNAME2 "фебруар"
LOCALE_SMONTHNAME3 "март"
diff --git a/dlls/kernel32/nls/srl.nls b/dlls/kernel32/nls/srl.nls
index 2566b17b489..fb6ba8b178d 100644
--- a/dlls/kernel32/nls/srl.nls
+++ b/dlls/kernel32/nls/srl.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_SERBIAN, SUBLANG_SERBIAN_LATIN
LOCALE_SLONGDATE "d. MMMM yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "d. MMMM"
LOCALE_SMONTHNAME1 "januar"
LOCALE_SMONTHNAME2 "februar"
LOCALE_SMONTHNAME3 "mart"
diff --git a/dlls/kernel32/nls/sve.nls b/dlls/kernel32/nls/sve.nls
index 52db021b192..442de8db8a3 100644
--- a/dlls/kernel32/nls/sve.nls
+++ b/dlls/kernel32/nls/sve.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_SWEDISH, SUBLANG_SWEDISH
LOCALE_SLONGDATE "'den 'd MMMM yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "'den 'd MMMM"
LOCALE_SMONTHNAME1 "januari"
LOCALE_SMONTHNAME2 "februari"
LOCALE_SMONTHNAME3 "mars"
diff --git a/dlls/kernel32/nls/svf.nls b/dlls/kernel32/nls/svf.nls
index e92fc6ab175..2e71b98595d 100644
--- a/dlls/kernel32/nls/svf.nls
+++ b/dlls/kernel32/nls/svf.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_SWEDISH, SUBLANG_SWEDISH_FINLAND
LOCALE_SLONGDATE "'den 'd MMMM yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "'den 'd MMMM"
LOCALE_SMONTHNAME1 "januari"
LOCALE_SMONTHNAME2 "februari"
LOCALE_SMONTHNAME3 "mars"
diff --git a/dlls/kernel32/nls/swk.nls b/dlls/kernel32/nls/swk.nls
index b5c32e4b180..30220608cf2 100644
--- a/dlls/kernel32/nls/swk.nls
+++ b/dlls/kernel32/nls/swk.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_SWAHILI, SUBLANG_DEFAULT
LOCALE_SLONGDATE "dddd, MMMM dd, yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "MMMM dd"
LOCALE_SMONTHNAME1 "January"
LOCALE_SMONTHNAME2 "February"
LOCALE_SMONTHNAME3 "March"
diff --git a/dlls/kernel32/nls/syr.nls b/dlls/kernel32/nls/syr.nls
index 4f84b8dc5e6..9209992d055 100644
--- a/dlls/kernel32/nls/syr.nls
+++ b/dlls/kernel32/nls/syr.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_SYRIAC, SUBLANG_DEFAULT
LOCALE_SLONGDATE "dd MMMM, yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "ܟܢܘܢ ܐܚܪܝ"
LOCALE_SMONTHNAME2 "ܫܒܛ"
LOCALE_SMONTHNAME3 "ܐܕܪ"
diff --git a/dlls/kernel32/nls/tam.nls b/dlls/kernel32/nls/tam.nls
index c860016cd0b..7da8a8f964d 100644
--- a/dlls/kernel32/nls/tam.nls
+++ b/dlls/kernel32/nls/tam.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_TAMIL, SUBLANG_DEFAULT
LOCALE_SLONGDATE "dd MMMM yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;2;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "ஜனவரி"
LOCALE_SMONTHNAME2 "பெப்ரவரி"
LOCALE_SMONTHNAME3 "மார்ச்"
diff --git a/dlls/kernel32/nls/tel.nls b/dlls/kernel32/nls/tel.nls
index 6c96d3e0185..1c7b92d375b 100644
--- a/dlls/kernel32/nls/tel.nls
+++ b/dlls/kernel32/nls/tel.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_TELUGU, SUBLANG_DEFAULT
LOCALE_SLONGDATE "dd MMMM yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;2;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "జనవరి"
LOCALE_SMONTHNAME2 "ఫిబ్రవరి"
LOCALE_SMONTHNAME3 "మార్చి"
diff --git a/dlls/kernel32/nls/tha.nls b/dlls/kernel32/nls/tha.nls
index 9ffce8c3295..42ea7c04aaa 100644
--- a/dlls/kernel32/nls/tha.nls
+++ b/dlls/kernel32/nls/tha.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_THAI, SUBLANG_DEFAULT
LOCALE_SLONGDATE "d MMMM yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "มกราคม"
LOCALE_SMONTHNAME2 "กุมภาพันธ์"
LOCALE_SMONTHNAME3 "มีนาคม"
diff --git a/dlls/kernel32/nls/trk.nls b/dlls/kernel32/nls/trk.nls
index 57184e5f254..8f12d35153d 100644
--- a/dlls/kernel32/nls/trk.nls
+++ b/dlls/kernel32/nls/trk.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
LOCALE_SLONGDATE "dd MMMM yyyy dddd"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "Ocak"
LOCALE_SMONTHNAME2 "Şubat"
LOCALE_SMONTHNAME3 "Mart"
diff --git a/dlls/kernel32/nls/ttt.nls b/dlls/kernel32/nls/ttt.nls
index 86236d91e3d..329954fb3c4 100644
--- a/dlls/kernel32/nls/ttt.nls
+++ b/dlls/kernel32/nls/ttt.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_TATAR, SUBLANG_DEFAULT
LOCALE_SLONGDATE "d MMMM yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "d MMMM"
LOCALE_SMONTHNAME1 "Гыйнварь"
LOCALE_SMONTHNAME2 "Февраль"
LOCALE_SMONTHNAME3 "Март"
diff --git a/dlls/kernel32/nls/ukr.nls b/dlls/kernel32/nls/ukr.nls
index b5e608015f2..06ba29f808e 100644
--- a/dlls/kernel32/nls/ukr.nls
+++ b/dlls/kernel32/nls/ukr.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
LOCALE_SLONGDATE "d MMMM yyyy' р.'"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "d MMMM"
LOCALE_SMONTHNAME1 "Січень\0січня"
LOCALE_SMONTHNAME2 "Лютий\0лютого"
LOCALE_SMONTHNAME3 "Березень\0березня"
diff --git a/dlls/kernel32/nls/urd.nls b/dlls/kernel32/nls/urd.nls
index 08e8a8deaef..e44ab6a7ea0 100644
--- a/dlls/kernel32/nls/urd.nls
+++ b/dlls/kernel32/nls/urd.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_URDU, SUBLANG_URDU_PAKISTAN
LOCALE_SLONGDATE "dd MMMM, yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "جنورى"
LOCALE_SMONTHNAME2 "فرورى"
LOCALE_SMONTHNAME3 "مارچ"
diff --git a/dlls/kernel32/nls/uzb.nls b/dlls/kernel32/nls/uzb.nls
index 7d0b4a8ac36..fa017079379 100644
--- a/dlls/kernel32/nls/uzb.nls
+++ b/dlls/kernel32/nls/uzb.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_UZBEK, SUBLANG_UZBEK_CYRILLIC
LOCALE_SLONGDATE "yyyy 'йил' d-MMMM"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "d-MMMM"
LOCALE_SMONTHNAME1 "Январ"
LOCALE_SMONTHNAME2 "Феврал"
LOCALE_SMONTHNAME3 "Март"
diff --git a/dlls/kernel32/nls/uzl.nls b/dlls/kernel32/nls/uzl.nls
index 1989bd7cb74..affd82b483b 100644
--- a/dlls/kernel32/nls/uzl.nls
+++ b/dlls/kernel32/nls/uzl.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_UZBEK, SUBLANG_UZBEK_LATIN
LOCALE_SLONGDATE "yyyy 'yil' d-MMMM"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "d-MMMM"
LOCALE_SMONTHNAME1 "yanvar"
LOCALE_SMONTHNAME2 "fevral"
LOCALE_SMONTHNAME3 "mart"
diff --git a/dlls/kernel32/nls/vit.nls b/dlls/kernel32/nls/vit.nls
index a2574b6b033..573b0260bd9 100644
--- a/dlls/kernel32/nls/vit.nls
+++ b/dlls/kernel32/nls/vit.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_VIETNAMESE, SUBLANG_DEFAULT
LOCALE_SLONGDATE "dd MMMM yyyy"
LOCALE_SMONDECIMALSEP ","
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "dd MMMM"
LOCALE_SMONTHNAME1 "tháng một"
LOCALE_SMONTHNAME2 "tháng hai"
LOCALE_SMONTHNAME3 "tháng ba"
diff --git a/dlls/kernel32/nls/wal.nls b/dlls/kernel32/nls/wal.nls
index e39c5bf4a6c..3723aeb51ef 100644
--- a/dlls/kernel32/nls/wal.nls
+++ b/dlls/kernel32/nls/wal.nls
@@ -108,6 +108,7 @@ STRINGTABLE LANGUAGE LANG_WALON, SUBLANG_DEFAULT
LOCALE_SLIST ";"
LOCALE_SLONGDATE "Li ddd d di MMMM yyyy"
LOCALE_SMONDECIMALSEP ","
+ LOCALE_SLONGDATE "MMMM dd"
LOCALE_SMONGROUPING "3;0"
LOCALE_SMONTHNAME1 "djanvî"
LOCALE_SMONTHNAME2 "fevrî"
diff --git a/dlls/kernel32/nls/zhh.nls b/dlls/kernel32/nls/zhh.nls
index 2d49998ef5b..720261cd328 100644
--- a/dlls/kernel32/nls/zhh.nls
+++ b/dlls/kernel32/nls/zhh.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_HONGKONG
LOCALE_SLONGDATE "dddd, d MMMM, yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "M'月'd'日'"
LOCALE_SMONTHNAME1 "January"
LOCALE_SMONTHNAME2 "February"
LOCALE_SMONTHNAME3 "March"
diff --git a/dlls/kernel32/nls/zhi.nls b/dlls/kernel32/nls/zhi.nls
index d8013dcc1c8..2017b87f0c5 100644
--- a/dlls/kernel32/nls/zhi.nls
+++ b/dlls/kernel32/nls/zhi.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SINGAPORE
LOCALE_SLONGDATE "dddd, d MMMM, yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "M'月'd'日'"
LOCALE_SMONTHNAME1 "一月"
LOCALE_SMONTHNAME2 "二月"
LOCALE_SMONTHNAME3 "三月"
diff --git a/dlls/kernel32/nls/zhm.nls b/dlls/kernel32/nls/zhm.nls
index 956008dabb0..c9a6f143555 100644
--- a/dlls/kernel32/nls/zhm.nls
+++ b/dlls/kernel32/nls/zhm.nls
@@ -109,6 +109,7 @@ STRINGTABLE LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_MACAU
LOCALE_SLONGDATE "dddd, d MMMM, yyyy"
LOCALE_SMONDECIMALSEP "."
LOCALE_SMONGROUPING "3;0"
+ LOCALE_SMONTHDAY "M'月'd'日'"
LOCALE_SMONTHNAME1 "一月"
LOCALE_SMONTHNAME2 "二月"
LOCALE_SMONTHNAME3 "三月"
--
2.17.0
2
5
[PATCH V3 1/2] server: Add default security descriptor ownership for processes.
by Vijay Kiran Kamuju 22 Apr '19
by Vijay Kiran Kamuju 22 Apr '19
22 Apr '19
From: "Erich E. Hoover" <erich.e.hoover(a)gmail.com>
Rename key_default_sd to process_default_sd and rebase properly.
From: Erich E. Hoover <erich.e.hoover(a)gmail.com>
Signed-off-by: Erich E. Hoover <erich.e.hoover(a)gmail.com>
Signed-off-by: Vijay Kiran Kamuju <infyquest(a)gmail.com>
---
dlls/advapi32/tests/security.c | 35 ++++++++++++++++++++++++++++++++++
server/process.c | 27 +++++++++++++++++++++++++-
server/security.h | 1 +
server/token.c | 2 ++
4 files changed, 64 insertions(+), 1 deletion(-)
diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c
index d9cae64da8b..3097a64fb24 100644
--- a/dlls/advapi32/tests/security.c
+++ b/dlls/advapi32/tests/security.c
@@ -4682,11 +4682,15 @@ static void test_acls(void)
static void test_GetSecurityInfo(void)
{
+ char domain_users_ptr[sizeof(TOKEN_USER) + sizeof(SID) + sizeof(DWORD)*SID_MAX_SUB_AUTHORITIES];
char b[sizeof(TOKEN_USER) + sizeof(SID) + sizeof(DWORD)*SID_MAX_SUB_AUTHORITIES];
char admin_ptr[sizeof(SID)+sizeof(ULONG)*SID_MAX_SUB_AUTHORITIES], dacl[100];
+ PSID domain_users_sid = (PSID) domain_users_ptr, domain_sid;
+ SID_IDENTIFIER_AUTHORITY sia = { SECURITY_NT_AUTHORITY };
DWORD sid_size = sizeof(admin_ptr), l = sizeof(b);
PSID admin_sid = (PSID) admin_ptr, user_sid;
char sd[SECURITY_DESCRIPTOR_MIN_LENGTH];
+ BOOL owner_defaulted, group_defaulted;
ACL_SIZE_INFORMATION acl_size;
PSECURITY_DESCRIPTOR pSD;
ACCESS_ALLOWED_ACE *ace;
@@ -4813,6 +4817,37 @@ static void test_GetSecurityInfo(void)
}
LocalFree(pSD);
CloseHandle(obj);
+
+ /* Obtain the "domain users" SID from the user SID */
+ if (!AllocateAndInitializeSid(&sia, 4, *GetSidSubAuthority(user_sid, 0),
+ *GetSidSubAuthority(user_sid, 1),
+ *GetSidSubAuthority(user_sid, 2),
+ *GetSidSubAuthority(user_sid, 3), 0, 0, 0, 0, &domain_sid))
+ {
+ win_skip("Failed to get current domain SID\n");
+ return;
+ }
+ sid_size = sizeof(domain_users_ptr);
+ pCreateWellKnownSid(WinAccountDomainUsersSid, domain_sid, domain_users_sid, &sid_size);
+ FreeSid(domain_sid);
+
+ /* Test querying the ownership of a process */
+ ret = pGetSecurityInfo(GetCurrentProcess(), SE_KERNEL_OBJECT,
+ OWNER_SECURITY_INFORMATION|GROUP_SECURITY_INFORMATION,
+ NULL, NULL, NULL, NULL, &pSD);
+ ok(!ret, "GetNamedSecurityInfo failed with error %d\n", ret);
+
+ bret = GetSecurityDescriptorOwner(pSD, &owner, &owner_defaulted);
+ ok(bret, "GetSecurityDescriptorOwner failed with error %d\n", GetLastError());
+ ok(owner != NULL, "owner should not be NULL\n");
+ ok(EqualSid(owner, admin_sid) || EqualSid(owner, user_sid),
+ "Process owner SID != Administrators SID.\n");
+
+ bret = GetSecurityDescriptorGroup(pSD, &group, &group_defaulted);
+ ok(bret, "GetSecurityDescriptorGroup failed with error %d\n", GetLastError());
+ ok(group != NULL, "group should not be NULL\n");
+ ok(EqualSid(group, domain_users_sid), "Process group SID != Domain Users SID.\n");
+ LocalFree(pSD);
}
static void test_GetSidSubAuthority(void)
diff --git a/server/process.c b/server/process.c
index 4a1cebf2fca..f8a23b2cc53 100644
--- a/server/process.c
+++ b/server/process.c
@@ -63,6 +63,7 @@ static void process_dump( struct object *obj, int verbose );
static struct object_type *process_get_type( struct object *obj );
static int process_signaled( struct object *obj, struct wait_queue_entry *entry );
static unsigned int process_map_access( struct object *obj, unsigned int access );
+static struct security_descriptor *process_get_sd( struct object *obj );
static void process_poll_event( struct fd *fd, int event );
static struct list *process_get_kernel_obj_list( struct object *obj );
static void process_destroy( struct object *obj );
@@ -80,7 +81,7 @@ static const struct object_ops process_ops =
no_signal, /* signal */
no_get_fd, /* get_fd */
process_map_access, /* map_access */
- default_get_sd, /* get_sd */
+ process_get_sd, /* get_sd */
default_set_sd, /* set_sd */
no_lookup_name, /* lookup_name */
no_link_name, /* link_name */
@@ -663,12 +664,36 @@ static unsigned int process_map_access( struct object *obj, unsigned int access
return access & ~(GENERIC_READ | GENERIC_WRITE | GENERIC_EXECUTE | GENERIC_ALL);
}
+
static struct list *process_get_kernel_obj_list( struct object *obj )
{
struct process *process = (struct process *)obj;
return &process->kernel_object;
}
+static struct security_descriptor *process_get_sd( struct object *obj )
+{
+ static struct security_descriptor *process_default_sd;
+
+ if (obj->sd) return obj->sd;
+
+ if (!process_default_sd)
+ {
+ size_t users_sid_len = security_sid_len( security_domain_users_sid );
+ size_t admins_sid_len = security_sid_len( security_builtin_admins_sid );
+
+ process_default_sd = mem_alloc( sizeof(*process_default_sd) + admins_sid_len + users_sid_len );
+ process_default_sd->control = SE_DACL_PRESENT;
+ process_default_sd->owner_len = admins_sid_len;
+ process_default_sd->group_len = users_sid_len;
+ process_default_sd->sacl_len = 0;
+ process_default_sd->dacl_len = 0;
+ memcpy( process_default_sd + 1, security_builtin_admins_sid, admins_sid_len );
+ memcpy( (char *)(process_default_sd + 1) + admins_sid_len, security_domain_users_sid, users_sid_len );
+ }
+ return process_default_sd;
+}
+
static void process_poll_event( struct fd *fd, int event )
{
struct process *process = get_fd_user( fd );
diff --git a/server/security.h b/server/security.h
index 873bbc6afd6..606dbb2ab2c 100644
--- a/server/security.h
+++ b/server/security.h
@@ -47,6 +47,7 @@ extern const PSID security_local_user_sid;
extern const PSID security_local_system_sid;
extern const PSID security_builtin_users_sid;
extern const PSID security_builtin_admins_sid;
+extern const PSID security_domain_users_sid;
extern const PSID security_high_label_sid;
diff --git a/server/token.c b/server/token.c
index 5c35bcc19f6..895809e7252 100644
--- a/server/token.c
+++ b/server/token.c
@@ -83,6 +83,7 @@ static const SID_N(5) local_user_sid = { SID_REVISION, 5, { SECURITY_NT_AUTHORIT
static const SID_N(2) builtin_admins_sid = { SID_REVISION, 2, { SECURITY_NT_AUTHORITY }, { SECURITY_BUILTIN_DOMAIN_RID, DOMAIN_ALIAS_RID_ADMINS } };
static const SID_N(2) builtin_users_sid = { SID_REVISION, 2, { SECURITY_NT_AUTHORITY }, { SECURITY_BUILTIN_DOMAIN_RID, DOMAIN_ALIAS_RID_USERS } };
static const SID_N(3) builtin_logon_sid = { SID_REVISION, 3, { SECURITY_NT_AUTHORITY }, { SECURITY_LOGON_IDS_RID, 0, 0 } };
+static const SID_N(5) domain_users_sid = { SID_REVISION, 5, { SECURITY_NT_AUTHORITY }, { SECURITY_NT_NON_UNIQUE, 0, 0, 0, DOMAIN_GROUP_RID_USERS } };
const PSID security_world_sid = (PSID)&world_sid;
static const PSID security_local_sid = (PSID)&local_sid;
@@ -92,6 +93,7 @@ const PSID security_local_system_sid = (PSID)&local_system_sid;
const PSID security_local_user_sid = (PSID)&local_user_sid;
const PSID security_builtin_admins_sid = (PSID)&builtin_admins_sid;
const PSID security_builtin_users_sid = (PSID)&builtin_users_sid;
+const PSID security_domain_users_sid = (PSID)&domain_users_sid;
const PSID security_high_label_sid = (PSID)&high_label_sid;
static luid_t prev_luid_value = { 1000, 0 };
--
2.17.0
2
3
22 Apr '19
Signed-off-by: Damjan Jovanovic <damjan.jov(a)gmail.com>
---
dlls/qcap/tests/audiorecord.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
2
3
[PATCH V2 1/2] server: Add default security descriptor ownership for processes.
by Vijay Kiran Kamuju 22 Apr '19
by Vijay Kiran Kamuju 22 Apr '19
22 Apr '19
From: "Erich E. Hoover" <erich.e.hoover(a)gmail.com>
Rename key_default_sd to process_default_sd
Signed-off-by: Erich E. Hoover <erich.e.hoover(a)gmail.com>
Signed-off-by: Vijay Kiran Kamuju <infyquest(a)gmail.com>
---
dlls/advapi32/tests/security.c | 35 ++++++++++++++++++++++++++++++++++
server/process.c | 26 ++++++++++++++++++++++++-
server/security.h | 1 +
server/token.c | 2 ++
4 files changed, 63 insertions(+), 1 deletion(-)
diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c
index d9cae64da8b..3097a64fb24 100644
--- a/dlls/advapi32/tests/security.c
+++ b/dlls/advapi32/tests/security.c
@@ -4682,11 +4682,15 @@ static void test_acls(void)
static void test_GetSecurityInfo(void)
{
+ char domain_users_ptr[sizeof(TOKEN_USER) + sizeof(SID) + sizeof(DWORD)*SID_MAX_SUB_AUTHORITIES];
char b[sizeof(TOKEN_USER) + sizeof(SID) + sizeof(DWORD)*SID_MAX_SUB_AUTHORITIES];
char admin_ptr[sizeof(SID)+sizeof(ULONG)*SID_MAX_SUB_AUTHORITIES], dacl[100];
+ PSID domain_users_sid = (PSID) domain_users_ptr, domain_sid;
+ SID_IDENTIFIER_AUTHORITY sia = { SECURITY_NT_AUTHORITY };
DWORD sid_size = sizeof(admin_ptr), l = sizeof(b);
PSID admin_sid = (PSID) admin_ptr, user_sid;
char sd[SECURITY_DESCRIPTOR_MIN_LENGTH];
+ BOOL owner_defaulted, group_defaulted;
ACL_SIZE_INFORMATION acl_size;
PSECURITY_DESCRIPTOR pSD;
ACCESS_ALLOWED_ACE *ace;
@@ -4813,6 +4817,37 @@ static void test_GetSecurityInfo(void)
}
LocalFree(pSD);
CloseHandle(obj);
+
+ /* Obtain the "domain users" SID from the user SID */
+ if (!AllocateAndInitializeSid(&sia, 4, *GetSidSubAuthority(user_sid, 0),
+ *GetSidSubAuthority(user_sid, 1),
+ *GetSidSubAuthority(user_sid, 2),
+ *GetSidSubAuthority(user_sid, 3), 0, 0, 0, 0, &domain_sid))
+ {
+ win_skip("Failed to get current domain SID\n");
+ return;
+ }
+ sid_size = sizeof(domain_users_ptr);
+ pCreateWellKnownSid(WinAccountDomainUsersSid, domain_sid, domain_users_sid, &sid_size);
+ FreeSid(domain_sid);
+
+ /* Test querying the ownership of a process */
+ ret = pGetSecurityInfo(GetCurrentProcess(), SE_KERNEL_OBJECT,
+ OWNER_SECURITY_INFORMATION|GROUP_SECURITY_INFORMATION,
+ NULL, NULL, NULL, NULL, &pSD);
+ ok(!ret, "GetNamedSecurityInfo failed with error %d\n", ret);
+
+ bret = GetSecurityDescriptorOwner(pSD, &owner, &owner_defaulted);
+ ok(bret, "GetSecurityDescriptorOwner failed with error %d\n", GetLastError());
+ ok(owner != NULL, "owner should not be NULL\n");
+ ok(EqualSid(owner, admin_sid) || EqualSid(owner, user_sid),
+ "Process owner SID != Administrators SID.\n");
+
+ bret = GetSecurityDescriptorGroup(pSD, &group, &group_defaulted);
+ ok(bret, "GetSecurityDescriptorGroup failed with error %d\n", GetLastError());
+ ok(group != NULL, "group should not be NULL\n");
+ ok(EqualSid(group, domain_users_sid), "Process group SID != Domain Users SID.\n");
+ LocalFree(pSD);
}
static void test_GetSidSubAuthority(void)
diff --git a/server/process.c b/server/process.c
index 473d3b1a27a..d895fbacd7a 100644
--- a/server/process.c
+++ b/server/process.c
@@ -63,6 +63,7 @@ static void process_dump( struct object *obj, int verbose );
static struct object_type *process_get_type( struct object *obj );
static int process_signaled( struct object *obj, struct wait_queue_entry *entry );
static unsigned int process_map_access( struct object *obj, unsigned int access );
+static struct security_descriptor *process_get_sd( struct object *obj );
static void process_poll_event( struct fd *fd, int event );
static void process_destroy( struct object *obj );
static void terminate_process( struct process *process, struct thread *skip, int exit_code );
@@ -79,7 +80,7 @@ static const struct object_ops process_ops =
no_signal, /* signal */
no_get_fd, /* get_fd */
process_map_access, /* map_access */
- default_get_sd, /* get_sd */
+ process_get_sd, /* get_sd */
default_set_sd, /* set_sd */
no_lookup_name, /* lookup_name */
no_link_name, /* link_name */
@@ -661,6 +662,29 @@ static unsigned int process_map_access( struct object *obj, unsigned int access
return access & ~(GENERIC_READ | GENERIC_WRITE | GENERIC_EXECUTE | GENERIC_ALL);
}
+static struct security_descriptor *process_get_sd( struct object *obj )
+{
+ static struct security_descriptor *process_default_sd;
+
+ if (obj->sd) return obj->sd;
+
+ if (!process_default_sd)
+ {
+ size_t users_sid_len = security_sid_len( security_domain_users_sid );
+ size_t admins_sid_len = security_sid_len( security_builtin_admins_sid );
+
+ process_default_sd = mem_alloc( sizeof(*process_default_sd) + admins_sid_len + users_sid_len );
+ process_default_sd->control = SE_DACL_PRESENT;
+ process_default_sd->owner_len = admins_sid_len;
+ process_default_sd->group_len = users_sid_len;
+ process_default_sd->sacl_len = 0;
+ process_default_sd->dacl_len = 0;
+ memcpy( process_default_sd + 1, security_builtin_admins_sid, admins_sid_len );
+ memcpy( (char *)(process_default_sd + 1) + admins_sid_len, security_domain_users_sid, users_sid_len );
+ }
+ return process_default_sd;
+}
+
static void process_poll_event( struct fd *fd, int event )
{
struct process *process = get_fd_user( fd );
diff --git a/server/security.h b/server/security.h
index 873bbc6afd6..606dbb2ab2c 100644
--- a/server/security.h
+++ b/server/security.h
@@ -47,6 +47,7 @@ extern const PSID security_local_user_sid;
extern const PSID security_local_system_sid;
extern const PSID security_builtin_users_sid;
extern const PSID security_builtin_admins_sid;
+extern const PSID security_domain_users_sid;
extern const PSID security_high_label_sid;
diff --git a/server/token.c b/server/token.c
index 5c35bcc19f6..895809e7252 100644
--- a/server/token.c
+++ b/server/token.c
@@ -83,6 +83,7 @@ static const SID_N(5) local_user_sid = { SID_REVISION, 5, { SECURITY_NT_AUTHORIT
static const SID_N(2) builtin_admins_sid = { SID_REVISION, 2, { SECURITY_NT_AUTHORITY }, { SECURITY_BUILTIN_DOMAIN_RID, DOMAIN_ALIAS_RID_ADMINS } };
static const SID_N(2) builtin_users_sid = { SID_REVISION, 2, { SECURITY_NT_AUTHORITY }, { SECURITY_BUILTIN_DOMAIN_RID, DOMAIN_ALIAS_RID_USERS } };
static const SID_N(3) builtin_logon_sid = { SID_REVISION, 3, { SECURITY_NT_AUTHORITY }, { SECURITY_LOGON_IDS_RID, 0, 0 } };
+static const SID_N(5) domain_users_sid = { SID_REVISION, 5, { SECURITY_NT_AUTHORITY }, { SECURITY_NT_NON_UNIQUE, 0, 0, 0, DOMAIN_GROUP_RID_USERS } };
const PSID security_world_sid = (PSID)&world_sid;
static const PSID security_local_sid = (PSID)&local_sid;
@@ -92,6 +93,7 @@ const PSID security_local_system_sid = (PSID)&local_system_sid;
const PSID security_local_user_sid = (PSID)&local_user_sid;
const PSID security_builtin_admins_sid = (PSID)&builtin_admins_sid;
const PSID security_builtin_users_sid = (PSID)&builtin_users_sid;
+const PSID security_domain_users_sid = (PSID)&domain_users_sid;
const PSID security_high_label_sid = (PSID)&high_label_sid;
static luid_t prev_luid_value = { 1000, 0 };
--
2.17.0
2
3
[PATCH 1/2] server: Add default security descriptor ownership for processes.
by Vijay Kiran Kamuju 22 Apr '19
by Vijay Kiran Kamuju 22 Apr '19
22 Apr '19
From: "Erich E. Hoover" <erich.e.hoover(a)gmail.com>
From: Erich E. Hoover <erich.e.hoover(a)gmail.com>
Signed-off-by: Vijay Kiran Kamuju <infyquest(a)gmail.com>
---
dlls/advapi32/tests/security.c | 35 ++++++++++++++++++++++++++++++++++
server/process.c | 26 ++++++++++++++++++++++++-
server/security.h | 1 +
server/token.c | 2 ++
4 files changed, 63 insertions(+), 1 deletion(-)
diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c
index d9cae64da8b..3097a64fb24 100644
--- a/dlls/advapi32/tests/security.c
+++ b/dlls/advapi32/tests/security.c
@@ -4682,11 +4682,15 @@ static void test_acls(void)
static void test_GetSecurityInfo(void)
{
+ char domain_users_ptr[sizeof(TOKEN_USER) + sizeof(SID) + sizeof(DWORD)*SID_MAX_SUB_AUTHORITIES];
char b[sizeof(TOKEN_USER) + sizeof(SID) + sizeof(DWORD)*SID_MAX_SUB_AUTHORITIES];
char admin_ptr[sizeof(SID)+sizeof(ULONG)*SID_MAX_SUB_AUTHORITIES], dacl[100];
+ PSID domain_users_sid = (PSID) domain_users_ptr, domain_sid;
+ SID_IDENTIFIER_AUTHORITY sia = { SECURITY_NT_AUTHORITY };
DWORD sid_size = sizeof(admin_ptr), l = sizeof(b);
PSID admin_sid = (PSID) admin_ptr, user_sid;
char sd[SECURITY_DESCRIPTOR_MIN_LENGTH];
+ BOOL owner_defaulted, group_defaulted;
ACL_SIZE_INFORMATION acl_size;
PSECURITY_DESCRIPTOR pSD;
ACCESS_ALLOWED_ACE *ace;
@@ -4813,6 +4817,37 @@ static void test_GetSecurityInfo(void)
}
LocalFree(pSD);
CloseHandle(obj);
+
+ /* Obtain the "domain users" SID from the user SID */
+ if (!AllocateAndInitializeSid(&sia, 4, *GetSidSubAuthority(user_sid, 0),
+ *GetSidSubAuthority(user_sid, 1),
+ *GetSidSubAuthority(user_sid, 2),
+ *GetSidSubAuthority(user_sid, 3), 0, 0, 0, 0, &domain_sid))
+ {
+ win_skip("Failed to get current domain SID\n");
+ return;
+ }
+ sid_size = sizeof(domain_users_ptr);
+ pCreateWellKnownSid(WinAccountDomainUsersSid, domain_sid, domain_users_sid, &sid_size);
+ FreeSid(domain_sid);
+
+ /* Test querying the ownership of a process */
+ ret = pGetSecurityInfo(GetCurrentProcess(), SE_KERNEL_OBJECT,
+ OWNER_SECURITY_INFORMATION|GROUP_SECURITY_INFORMATION,
+ NULL, NULL, NULL, NULL, &pSD);
+ ok(!ret, "GetNamedSecurityInfo failed with error %d\n", ret);
+
+ bret = GetSecurityDescriptorOwner(pSD, &owner, &owner_defaulted);
+ ok(bret, "GetSecurityDescriptorOwner failed with error %d\n", GetLastError());
+ ok(owner != NULL, "owner should not be NULL\n");
+ ok(EqualSid(owner, admin_sid) || EqualSid(owner, user_sid),
+ "Process owner SID != Administrators SID.\n");
+
+ bret = GetSecurityDescriptorGroup(pSD, &group, &group_defaulted);
+ ok(bret, "GetSecurityDescriptorGroup failed with error %d\n", GetLastError());
+ ok(group != NULL, "group should not be NULL\n");
+ ok(EqualSid(group, domain_users_sid), "Process group SID != Domain Users SID.\n");
+ LocalFree(pSD);
}
static void test_GetSidSubAuthority(void)
diff --git a/server/process.c b/server/process.c
index 473d3b1a27a..f7af438b561 100644
--- a/server/process.c
+++ b/server/process.c
@@ -63,6 +63,7 @@ static void process_dump( struct object *obj, int verbose );
static struct object_type *process_get_type( struct object *obj );
static int process_signaled( struct object *obj, struct wait_queue_entry *entry );
static unsigned int process_map_access( struct object *obj, unsigned int access );
+static struct security_descriptor *process_get_sd( struct object *obj );
static void process_poll_event( struct fd *fd, int event );
static void process_destroy( struct object *obj );
static void terminate_process( struct process *process, struct thread *skip, int exit_code );
@@ -79,7 +80,7 @@ static const struct object_ops process_ops =
no_signal, /* signal */
no_get_fd, /* get_fd */
process_map_access, /* map_access */
- default_get_sd, /* get_sd */
+ process_get_sd, /* get_sd */
default_set_sd, /* set_sd */
no_lookup_name, /* lookup_name */
no_link_name, /* link_name */
@@ -661,6 +662,29 @@ static unsigned int process_map_access( struct object *obj, unsigned int access
return access & ~(GENERIC_READ | GENERIC_WRITE | GENERIC_EXECUTE | GENERIC_ALL);
}
+static struct security_descriptor *process_get_sd( struct object *obj )
+{
+ static struct security_descriptor *key_default_sd;
+
+ if (obj->sd) return obj->sd;
+
+ if (!key_default_sd)
+ {
+ size_t users_sid_len = security_sid_len( security_domain_users_sid );
+ size_t admins_sid_len = security_sid_len( security_builtin_admins_sid );
+
+ key_default_sd = mem_alloc( sizeof(*key_default_sd) + admins_sid_len + users_sid_len );
+ key_default_sd->control = SE_DACL_PRESENT;
+ key_default_sd->owner_len = admins_sid_len;
+ key_default_sd->group_len = users_sid_len;
+ key_default_sd->sacl_len = 0;
+ key_default_sd->dacl_len = 0;
+ memcpy( key_default_sd + 1, security_builtin_admins_sid, admins_sid_len );
+ memcpy( (char *)(key_default_sd + 1) + admins_sid_len, security_domain_users_sid, users_sid_len );
+ }
+ return key_default_sd;
+}
+
static void process_poll_event( struct fd *fd, int event )
{
struct process *process = get_fd_user( fd );
diff --git a/server/security.h b/server/security.h
index 873bbc6afd6..606dbb2ab2c 100644
--- a/server/security.h
+++ b/server/security.h
@@ -47,6 +47,7 @@ extern const PSID security_local_user_sid;
extern const PSID security_local_system_sid;
extern const PSID security_builtin_users_sid;
extern const PSID security_builtin_admins_sid;
+extern const PSID security_domain_users_sid;
extern const PSID security_high_label_sid;
diff --git a/server/token.c b/server/token.c
index 5c35bcc19f6..895809e7252 100644
--- a/server/token.c
+++ b/server/token.c
@@ -83,6 +83,7 @@ static const SID_N(5) local_user_sid = { SID_REVISION, 5, { SECURITY_NT_AUTHORIT
static const SID_N(2) builtin_admins_sid = { SID_REVISION, 2, { SECURITY_NT_AUTHORITY }, { SECURITY_BUILTIN_DOMAIN_RID, DOMAIN_ALIAS_RID_ADMINS } };
static const SID_N(2) builtin_users_sid = { SID_REVISION, 2, { SECURITY_NT_AUTHORITY }, { SECURITY_BUILTIN_DOMAIN_RID, DOMAIN_ALIAS_RID_USERS } };
static const SID_N(3) builtin_logon_sid = { SID_REVISION, 3, { SECURITY_NT_AUTHORITY }, { SECURITY_LOGON_IDS_RID, 0, 0 } };
+static const SID_N(5) domain_users_sid = { SID_REVISION, 5, { SECURITY_NT_AUTHORITY }, { SECURITY_NT_NON_UNIQUE, 0, 0, 0, DOMAIN_GROUP_RID_USERS } };
const PSID security_world_sid = (PSID)&world_sid;
static const PSID security_local_sid = (PSID)&local_sid;
@@ -92,6 +93,7 @@ const PSID security_local_system_sid = (PSID)&local_system_sid;
const PSID security_local_user_sid = (PSID)&local_user_sid;
const PSID security_builtin_admins_sid = (PSID)&builtin_admins_sid;
const PSID security_builtin_users_sid = (PSID)&builtin_users_sid;
+const PSID security_domain_users_sid = (PSID)&domain_users_sid;
const PSID security_high_label_sid = (PSID)&high_label_sid;
static luid_t prev_luid_value = { 1000, 0 };
--
2.17.0
3
7
22 Apr '19
From: Damjan Jovanovic <damjan.jov(a)gmail.com>
Signed-off-by: Zebediah Figura <z.figura12(a)gmail.com>
---
dlls/qcap/tests/audiorecord.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/dlls/qcap/tests/audiorecord.c b/dlls/qcap/tests/audiorecord.c
index 5de019896c..af27017504 100644
--- a/dlls/qcap/tests/audiorecord.c
+++ b/dlls/qcap/tests/audiorecord.c
@@ -152,6 +152,7 @@ START_TEST(audiorecord)
IMoniker *mon;
WCHAR *name;
HRESULT hr;
+ ULONG ref;
CoInitialize(NULL);
@@ -182,6 +183,8 @@ START_TEST(audiorecord)
test_interfaces(filter);
+ ref = IBaseFilter_Release(filter);
+ ok(!ref, "Got outstanding refcount %d.\n", ref);
IMoniker_Release(mon);
}
--
2.21.0
1
0
[PATCH] explorer: Create CurrentControlSet\Control\Video registry key as non-volatile.
by Vijay Kiran Kamuju 22 Apr '19
by Vijay Kiran Kamuju 22 Apr '19
22 Apr '19
From: Michael Müller <michael(a)fds-team.de>
From: Michael Müller <michael(a)fds-team.de>
Signed-off-by: Michael Müller <michael(a)fds-team.de>
Signed-off-by: Vijay Kiran Kamuju <infyquest(a)gmail.com>
---
dlls/advapi32/tests/registry.c | 7 +++++++
programs/explorer/desktop.c | 9 +++++++++
2 files changed, 16 insertions(+)
diff --git a/dlls/advapi32/tests/registry.c b/dlls/advapi32/tests/registry.c
index d1fe3f05fe5..011c2fcea1c 100644
--- a/dlls/advapi32/tests/registry.c
+++ b/dlls/advapi32/tests/registry.c
@@ -1345,6 +1345,13 @@ static void test_reg_create_key(void)
RegDeleteKeyA(hkey1, "");
RegCloseKey(hkey1);
+ /* System\CurrentControlSet\Control\Video should be non-volatile */
+ ret = RegCreateKeyExA(HKEY_LOCAL_MACHINE, "System\\CurrentControlSet\\Control\\Video\\Wine",
+ 0, NULL, 0, KEY_NOTIFY, NULL, &hkey1, NULL);
+ ok(ret == ERROR_SUCCESS, "RegCreateKeyExA failed with error %d\n", ret);
+ RegDeleteKeyA(hkey1, "");
+ RegCloseKey(hkey1);
+
/* WOW64 flags - open an existing key */
hkey1 = NULL;
ret = RegCreateKeyExA(HKEY_LOCAL_MACHINE, "Software", 0, NULL, 0, KEY_READ|KEY_WOW64_32KEY, NULL, &hkey1, NULL);
diff --git a/programs/explorer/desktop.c b/programs/explorer/desktop.c
index 27b9b249012..5424a194029 100644
--- a/programs/explorer/desktop.c
+++ b/programs/explorer/desktop.c
@@ -775,6 +775,11 @@ static BOOL get_default_enable_shell( const WCHAR *name )
static HMODULE load_graphics_driver( const WCHAR *driver, const GUID *guid )
{
+ static const WCHAR video_keyW[] = {
+ 'S','y','s','t','e','m','\\',
+ 'C','u','r','r','e','n','t','C','o','n','t','r','o','l','S','e','t','\\',
+ 'C','o','n','t','r','o','l','\\',
+ 'V','i','d','e','o',0};
static const WCHAR device_keyW[] = {
'S','y','s','t','e','m','\\',
'C','u','r','r','e','n','t','C','o','n','t','r','o','l','S','e','t','\\',
@@ -838,6 +843,10 @@ static HMODULE load_graphics_driver( const WCHAR *driver, const GUID *guid )
TRACE( "display %s driver %s\n", debugstr_guid(guid), debugstr_w(buffer) );
}
+ /* create video key first without REG_OPTION_VOLATILE attribute */
+ if (!RegCreateKeyExW( HKEY_LOCAL_MACHINE, video_keyW, 0, NULL, 0, KEY_SET_VALUE, NULL, &hkey, NULL ))
+ RegCloseKey( hkey );
+
sprintfW( key, device_keyW, guid->Data1, guid->Data2, guid->Data3,
guid->Data4[0], guid->Data4[1], guid->Data4[2], guid->Data4[3],
guid->Data4[4], guid->Data4[5], guid->Data4[6], guid->Data4[7] );
--
2.17.0
4
5