summaryrefslogtreecommitdiff
path: root/win32/codepage.c
diff options
context:
space:
mode:
authorAnatol Belski <ab@php.net>2016-12-20 02:40:44 +0100
committerAnatol Belski <ab@php.net>2016-12-20 02:40:44 +0100
commit21e283647369bfd027c3d9fb740be219da05bc5c (patch)
tree8eb0d60edda3de8e98141ff703f351cb5271001e /win32/codepage.c
parent6ea44908fb138337f24f32ff3d1b1c8cda4229e1 (diff)
downloadphp-git-21e283647369bfd027c3d9fb740be219da05bc5c.tar.gz
deliver the real cp also if a constant is passed
Diffstat (limited to 'win32/codepage.c')
-rw-r--r--win32/codepage.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/win32/codepage.c b/win32/codepage.c
index f87d4c0900..519ff03f4b 100644
--- a/win32/codepage.c
+++ b/win32/codepage.c
@@ -266,6 +266,17 @@ PW32CP const struct php_win32_cp *php_win32_cp_get_by_id(DWORD id)
{/*{{{*/
size_t i;
+ if (id < php_win32_cp_map[0].id) {
+ switch (id) {
+ case CP_ACP:
+ id = GetACP();
+ break;
+ case CP_OEMCP:
+ id = GetOEMCP();
+ break;
+ }
+ }
+
for (i = 0; i < sizeof(php_win32_cp_map)/sizeof(struct php_win32_cp); i++) {
if (php_win32_cp_map[i].id == id) {
return &php_win32_cp_map[i];