win: Fix a 64bit warning.

clang warns:
..\..\base\files\file_path.cc(695,47) :  warning(clang): cast to 'wchar_t *' from smaller integer type 'LONG' (aka 'long') [-Wint-to-pointer-cast]
    wchar_t c1 = (wchar_t)LOWORD(::CharUpperW((LPWSTR)MAKELONG(*i1, 0)));
                                              ^

CharUpper() is a pretty whacko: It takes a pointer, but: """
A null-terminated string, or a single character. If the high-order word of this
parameter is zero, the low-order word must contain a single character to be
converted.""" (!)

It's not clear to me what this means on 64bit, but the code as-is casted a
32bit int (a DWORD) to a pointer, which I think doesn't guarantee that the
upper 4 byte of the 8 byte pointer are zero. So insert a cast to a pointer-wide
int type to guarantee this, and to fix this warning.

BUG=82385
R=brettw@chromium.org

Review URL: https://codereview.chromium.org/491883003

Cr-Commit-Position: refs/heads/master@{#290905}
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@290905 0039d316-1c4b-4281-b951-d872f2087c98


CrOS-Libchrome-Original-Commit: ff5f0891b52216b18bd7cd5dd692c420ee95a6cb
1 file changed
tree: 35f2ea97638957d15387775df6065e2c638f467c
  1. base/
  2. build/
  3. components/
  4. dbus/
  5. device/
  6. ipc/
  7. mojo/
  8. testing/
  9. third_party/
  10. ui/