1923{
1924
1925 static WCHAR unc_jp[9][12] = {
1926 {9,0x31,0x20,0x3042,0x3044,0x3046,0x3048,0x304a,0x000d,0x000a},
1927 {9,0x31,0x20,0x30a2,0x30a4,0x30a6,0x30a8,0x30aa,0x000d,0x000a},
1928 {9,0x31,0x20,0xff71,0xff72,0xff73,0xff74,0xff75,0x000d,0x000a},
1929 {9,0x31,0x20,0x3041,0x3043,0x3045,0x3047,0x3049,0x000d,0x000a},
1930 {9,0x31,0x20,0x30a1,0x30a3,0x30a5,0x30a7,0x30a9,0x000d,0x000a},
1931 {9,0x31,0x20,0xff67,0xff68,0xff69,0xff6a,0xff6b,0x000d,0x000a},
1932 {9,0x31,0x20,0x300c,0x65e5,0x672c,0x8a9e,0x300d,0x000d,0x000a},
1933 {7,0x31,0x20,0x25c7,0x25c7,0x3012,0x000d,0x000a},
1934 {11,0x31,0x20,0x203b,0x3010,0x0074,0x0065,0x0073,0x0074,0x3011,0x000d,0x000a}
1935 };
1936 static CHAR jis_jp[9][27] = {
1937 {20,0x31,0x20,0x1b,0x24,0x42,0x24,0x22,0x24,0x24,0x24,0x26,0x24,0x28,
1938 0x24,0x2a,0x1b,0x28,0x42,0x0d,0x0a},
1939 {20,0x31,0x20,0x1b,0x24,0x42,0x25,0x22,0x25,0x24,0x25,0x26,0x25,0x28,
1940 0x25,0x2a,0x1b,0x28,0x42,0x0d,0x0a},
1941 {20,0x31,0x20,0x1b,0x24,0x42,0x25,0x22,0x25,0x24,0x25,0x26,0x25,0x28,
1942 0x25,0x2a,0x1b,0x28,0x42,0x0d,0x0a},
1943 {20,0x31,0x20,0x1b,0x24,0x42,0x24,0x21,0x24,0x23,0x24,0x25,0x24,0x27,
1944 0x24,0x29,0x1b,0x28,0x42,0x0d,0x0a},
1945 {20,0x31,0x20,0x1b,0x24,0x42,0x25,0x21,0x25,0x23,0x25,0x25,0x25,0x27,
1946 0x25,0x29,0x1b,0x28,0x42,0x0d,0x0a},
1947 {20,0x31,0x20,0x1b,0x24,0x42,0x25,0x21,0x25,0x23,0x25,0x25,0x25,0x27,
1948 0x25,0x29,0x1b,0x28,0x42,0x0d,0x0a},
1949 {20,0x31,0x20,0x1b,0x24,0x42,0x21,0x56,0x46,0x7c,0x4b,0x5c,0x38,0x6c,
1950 0x21,0x57,0x1b,0x28,0x42,0x0d,0x0a},
1951 {16,0x31,0x20,0x1b,0x24,0x42,0x21,0x7e,0x21,0x7e,0x22,0x29,0x1b,0x28,
1952 0x42,0x0d,0x0a},
1953 {26,0x31,0x20,0x1b,0x24,0x42,0x22,0x28,0x21,0x5a,0x1b,0x28,0x42,0x74,
1954 0x65,0x73,0x74,0x1b,0x24,0x42,0x21,0x5b,0x1b,0x28,0x42,0x0d,0x0a}
1955 };
1956 static CHAR sjis_jp[9][15] = {
1957 {14,0x31,0x20,0x82,0xa0,0x82,0xa2,0x82,0xa4,0x82,0xa6,0x82,0xa8,0x0d,0x0a},
1958 {14,0x31,0x20,0x83,0x41,0x83,0x43,0x83,0x45,0x83,0x47,0x83,0x49,0x0d,0x0a},
1959 {9,0x31,0x20,0xb1,0xb2,0xb3,0xb4,0xb5,0x0d,0x0a},
1960 {14,0x31,0x20,0x82,0x9f,0x82,0xa1,0x82,0xa3,0x82,0xa5,0x82,0xa7,0x0d,0x0a},
1961 {14,0x31,0x20,0x83,0x40,0x83,0x42,0x83,0x44,0x83,0x46,0x83,0x48,0x0d,0x0a},
1962 {9,0x31,0x20,0xa7,0xa8,0xa9,0xaa,0xab,0x0d,0x0a},
1963 {14,0x31,0x20,0x81,0x75,0x93,0xfa,0x96,0x7b,0x8c,0xea,0x81,0x76,0x0d,0x0a},
1964 {10,0x31,0x20,0x81,0x9e,0x81,0x9e,0x81,0xa7,0x0d,0x0a},
1965 {14,0x31,0x20,0x81,0xa6,0x81,0x79,0x74,0x65,0x73,0x74,0x81,0x7a,0x0d,0x0a}
1966 };
1967 static CHAR euc_jp[9][15] = {
1968 {14,0x31,0x20,0xa4,0xa2,0xa4,0xa4,0xa4,0xa6,0xa4,0xa8,0xa4,0xaa,0x0d,0x0a},
1969 {14,0x31,0x20,0xa5,0xa2,0xa5,0xa4,0xa5,0xa6,0xa5,0xa8,0xa5,0xaa,0x0d,0x0a},
1970 {14,0x31,0x20,0x8e,0xb1,0x8e,0xb2,0x8e,0xb3,0x8e,0xb4,0x8e,0xb5,0x0d,0x0a},
1971 {14,0x31,0x20,0xa4,0xa1,0xa4,0xa3,0xa4,0xa5,0xa4,0xa7,0xa4,0xa9,0x0d,0x0a},
1972 {14,0x31,0x20,0xa5,0xa1,0xa5,0xa3,0xa5,0xa5,0xa5,0xa7,0xa5,0xa9,0x0d,0x0a},
1973 {14,0x31,0x20,0x8e,0xa7,0x8e,0xa8,0x8e,0xa9,0x8e,0xaa,0x8e,0xab,0x0d,0x0a},
1974 {14,0x31,0x20,0xa1,0xd6,0xc6,0xfc,0xcb,0xdc,0xb8,0xec,0xa1,0xd7,0x0d,0x0a},
1975 {10,0x31,0x20,0xa1,0xfe,0xa1,0xfe,0xa2,0xa9,0x0d,0x0a},
1976 {14,0x31,0x20,0xa2,0xa8,0xa1,0xda,0x74,0x65,0x73,0x74,0xa1,0xdb,0x0d,0x0a}
1977 };
1978
1984 int outlen;
1985
1986
1987 for (
i = 0;
i < 9;
i++)
1988 {
1990 destsz = 30;
1991 outlen = jis_jp[
i][0];
1992 srcsz = unc_jp[
i][0];
1993 hr = pConvertINetUnicodeToMultiByte(
NULL, 50220, &unc_jp[
i][1], &srcsz, output, &destsz);
1995 {
1996 skip(
"Code page identifier 50220 is not supported\n");
1997 break;
1998 }
1999 ok(
hr ==
S_OK,
"(%i) Expected S_OK, got %08x\n",
i,
hr);
2000 ok(destsz == outlen,
"(%i) Expected %i, got %i\n",
i,outlen,destsz);
2001 ok(srcsz == unc_jp[
i][0],
"(%i) Expected %i, got %i\n",
i,unc_jp[
i][0],srcsz);
2002 ok(
memcmp(output,&jis_jp[
i][1],destsz)==0,
"(%i) Strings do not match\n",
i);
2003
2004
2005 srcsz = outlen;
2006 destsz = 30;
2007 hr = pConvertINetMultiByteToUnicode(
NULL, 50220, output, &srcsz, outputW,&destsz);
2008
2009
2010
2011
2012
2013
2017
2018 ok(
hr ==
S_OK,
"(%i) Expected S_OK, got %08x\n",
i,
hr);
2019 ok(destsz == unc_jp[
j][0],
"(%i) Expected %i, got %i\n",
i,unc_jp[
j][0],destsz);
2020 ok(srcsz == outlen,
"(%i) Expected %i, got %i\n",
i,outlen,srcsz);
2021 ok(
memcmp(outputW,&unc_jp[
j][1],destsz)==0,
"(%i) Strings do not match\n",
i);
2022 }
2023
2024
2025 for (
i = 0;
i < 9;
i++)
2026 {
2027 destsz = 30;
2028 outlen = sjis_jp[
i][0];
2029 srcsz = unc_jp[
i][0];
2030
2031 hr = pConvertINetUnicodeToMultiByte(
NULL, 932, &unc_jp[
i][1], &srcsz, output, &destsz);
2033 {
2034 skip(
"Code page identifier 932 is not supported\n");
2035 break;
2036 }
2037 ok(
hr ==
S_OK,
"(%i) Expected S_OK, got %08x\n",
i,
hr);
2038 ok(destsz == outlen,
"(%i) Expected %i, got %i\n",
i,outlen,destsz);
2039 ok(srcsz == unc_jp[
i][0],
"(%i) Expected %i, got %i\n",
i,unc_jp[
i][0],srcsz);
2040 ok(
memcmp(output,&sjis_jp[
i][1],outlen)==0,
"(%i) Strings do not match\n",
i);
2041
2042 srcsz = outlen;
2043 destsz = 30;
2044 hr = pConvertINetMultiByteToUnicode(
NULL, 932, output, &srcsz, outputW,&destsz);
2045
2046 ok(
hr ==
S_OK,
"(%i) Expected S_OK, got %08x\n",
i,
hr);
2047 ok(destsz == unc_jp[
i][0],
"(%i) Expected %i, got %i\n",
i,unc_jp[
i][0],destsz);
2048 ok(srcsz == outlen,
"(%i) Expected %i, got %i\n",
i,outlen,srcsz);
2049 ok(
memcmp(outputW,&unc_jp[
i][1],destsz)==0,
"(%i) Strings do not match\n",
i);
2050 }
2051
2052
2053 for (
i = 0;
i < 9;
i++)
2054 {
2055 destsz = 30;
2056 outlen = euc_jp[
i][0];
2057 srcsz = unc_jp[
i][0];
2058
2059 hr = pConvertINetUnicodeToMultiByte(
NULL, 51932, &unc_jp[
i][1], &srcsz, output, &destsz);
2061 {
2062 skip(
"Code page identifier 51932 is not supported\n");
2063 break;
2064 }
2065 ok(
hr ==
S_OK,
"(%i) Expected S_OK, got %08x\n",
i,
hr);
2066 ok(destsz == outlen,
"(%i) Expected %i, got %i\n",
i,outlen,destsz);
2067 ok(srcsz == unc_jp[
i][0],
"(%i) Expected %i, got %i\n",
i,unc_jp[
i][0],destsz);
2068 ok(
memcmp(output,&euc_jp[
i][1],outlen)==0,
"(%i) Strings do not match\n",
i);
2069
2070 srcsz = outlen;
2071 destsz = 30;
2072 hr = pConvertINetMultiByteToUnicode(
NULL, 51932, output, &srcsz, outputW,&destsz);
2073
2074 ok(
hr ==
S_OK,
"(%i) Expected S_OK, got %08x\n",
i,
hr);
2075 ok(destsz == unc_jp[
i][0],
"(%i) Expected %i, got %i\n",
i,unc_jp[
i][0],destsz);
2076 ok(srcsz == outlen,
"(%i) Expected %i, got %i\n",
i,outlen,srcsz);
2077 ok(
memcmp(outputW,&unc_jp[
i][1],destsz)==0,
"(%i) Strings do not match\n",
i);
2078 }
2079
2080
2082 destsz = 30;
2083 srcsz = jis_jp[
i][0];
2084 hr = pConvertINetMultiByteToUnicode(
NULL, 50932, &jis_jp[
i][1], &srcsz, outputW, &destsz);
2086 {
2087 skip(
"Code page identifier 50932 is not supported\n");
2088 return;
2089 }
2090 ok(
hr ==
S_OK,
"(%i) Expected S_OK, got %08x\n",
i,
hr);
2091 ok(destsz == unc_jp[
i][0],
"(%i) Expected %i, got %i\n",
i,unc_jp[
i][0],destsz);
2092 ok(srcsz == jis_jp[
i][0],
"(%i) Expected %i, got %i\n",
i,jis_jp[
i][0],srcsz);
2093 ok(
memcmp(outputW,&unc_jp[
i][1],destsz)==0,
"(%i) Strings do not match\n",
i);
2094
2096 destsz = 30;
2097 srcsz = sjis_jp[
i][0];
2098 hr = pConvertINetMultiByteToUnicode(
NULL, 50932, &sjis_jp[
i][1], &srcsz, outputW, &destsz);
2099 ok(
hr ==
S_OK,
"(%i) Expected S_OK, got %08x\n",
i,
hr);
2100 ok(destsz == unc_jp[
i][0],
"(%i) Expected %i, got %i\n",
i,unc_jp[
i][0],destsz);
2101 ok(srcsz == sjis_jp[
i][0],
"(%i) Expected %i, got %i\n",
i,sjis_jp[
i][0],srcsz);
2102 ok(
memcmp(outputW,&unc_jp[
i][1],destsz)==0,
"(%i) Strings do not match\n",
i);
2103}
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j