office-gobmx/external/postgresql/windows.patch.0
Stephan Bergmann a01ac385ed Upgrade external/postgresql to postgresql-9.2.24
...which is the latest 9.2.x currently listed at
<https://www.postgresql.org/ftp/source/>.  9.2.1 doesn't build against
OpenSSL 1.1 which dropped SSL_library_init (cf. <https://wiki.openssl.org/
index.php/Library_Initialization#libssl_Initialization>), and 9.2.24 apparently
has that covered.  (Ran into this when trying to upgrade the LibreOffice flatpak
build to org.freedesktop.Sdk//18.08, which has OpenSSL 1.1.)

On Windows, the new tarball as-is fails with

> ..\..\port\chklocale.c(214): error C2037: left of 'lc_codepage' specifies undefined struct/union '__crt_locale_data'

because at least in Windows Kits/10/Include/10.0.17763.0/ucrt/corecrt.h
(included from Windows Kits/10/Include/10.0.17763.0/ucrt/locale.h), the relevant
definitions are now

> typedef struct __crt_locale_data_public
> {
>       unsigned short const* _locale_pctype;
>     _Field_range_(1, 2) int _locale_mb_cur_max;
>                unsigned int _locale_lc_codepage;
> } __crt_locale_data_public;
>
> typedef struct __crt_locale_pointers
> {
>     struct __crt_locale_data*    locinfo;
>     struct __crt_multibyte_data* mbcinfo;
> } __crt_locale_pointers;
>
> typedef __crt_locale_pointers* _locale_t;

which presumably has changed from a past state where that lc_codepage member was
directly publicly accessible.

<https://dev-www.libreoffice.org/src/postgresql-9.2.24.tar.bz2> is a copy of
<https://ftp.postgresql.org/pub/source/v9.2.24/postgresql-9.2.24.tar.bz2>;
`sha256sum postgresql-9.2.24.tar.bz2` reports the same
a754c02f7051c2f21e52f8669a421b50485afcde9a581674d6106326b189d126 as recorded in
<https://ftp.postgresql.org/pub/source/v9.2.24/postgresql-9.2.24.tar.bz2.sha256>

Change-Id: I196dd93aa03471042efba57ea639e1bb6655de98
Reviewed-on: https://gerrit.libreoffice.org/64730
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-12-07 13:24:58 +01:00

11 lines
310 B
Text

--- src/port/chklocale.c
+++ src/port/chklocale.c
@@ -211,7 +211,7 @@
{
r = malloc(16); /* excess */
if (r != NULL)
- sprintf(r, "CP%u", loct->locinfo->lc_codepage);
+ sprintf(r, "CP%u", ((struct __crt_locale_data_public *) loct->locinfo)->_locale_lc_codepage);
_free_locale(loct);
}
#else