You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
/* VS 2015, 2017 and 2019 are binary compatible, but only forward compatible.
458
458
It should be fine, if we load a module linked with an older one into
459
459
the core linked with the newer one, but not the otherway round.
460
+
Analogously, it should be fine, if a PHP build linked with an older version
461
+
is used with a newer CRT, but not the other way round.
460
462
Otherwise, if the linker major version is not same, it is an error, as
461
463
per the current knowledge.
462
464
463
465
This check is to be extended as new VS versions come out. */
464
-
if (14==major&&PHP_LINKER_MINOR<minor||PHP_LINKER_MAJOR!=major)
466
+
DWORDcore_minor= (DWORD)(PHP_LINKER_MINOR/10);
467
+
DWORDcomp_minor= (DWORD)(minor/10);
468
+
if (14==major&& (is_smaller ? core_minor<comp_minor : core_minor>comp_minor) ||PHP_LINKER_MAJOR!=major)
465
469
#else
466
470
if (PHP_LINKER_MAJOR!=major)
467
471
#endif
468
472
{
469
-
spprintf(err, 0, "Can't load module '%s' as it's linked with %u.%u, but the core is linked with %d.%d", name, major, minor, PHP_LINKER_MAJOR, PHP_LINKER_MINOR);
473
+
spprintf(err, 0, format, name, major, minor, PHP_LINKER_MAJOR, PHP_LINKER_MINOR);
0 commit comments