Apache OpenOffice (AOO) Bugzilla – Issue 77053
Multibyte characters in fontmap.cpp of hwpfilter
Last modified: 2013-08-07 14:42:39 UTC
Sw/hwpfilter/source/fontmap.cpp contains non-ASCII characters whose code range is 0x80-0xff. Because of these invalid characters, compiling fails with VC++ 2005 Express Edition displaying the following error. According to i42367 and i36782, '#pragma setlocale("C")' directive seems to be expected to prevent this parsing error but it doesn't work correctly with the comipler. Anyway, non-ASCII characters should be escaped to improve portability and reduce unexpected potential bugs. In addition, for maintainability, write clearly which character encoding and language is used in this file. build -- version: 1.151 ============= Building project hwpfilter ============= /home/test/OOF680_m14/hwpfilter/inc ------------- /home/test/OOF680_m14/hwpfilter/source dmake: Executing shell macro: $(FIND) . -name "{$(subst,$($(WINVERSIONNAMES)_MAJOR),* $(subst,$(UPD)$(DLLPOSTFIX), $(SHL1TARGET)))}.xml" ------------------------------ Making: ../wntmsci11.pro/slo/fontmap.obj guw.exe /cygdrive/c/PROGRA~1/MICROS~2/VC/bin/cl.exe -Zm500 -Zc:forScope,wchar_t- -GR -c -nologo -Gs -I. -I../wntmsci11.pro/inc/hwp -I../inc -I../inc/pch -I../inc -I../WIN/inc -I../wntmsci11.pro/inc -I. -I/home/test/OOF680_m14/solver/680/wntmsci11.pro/inc/stl -I/home/test/OOF680_m14/solver/680/wntmsci11.pro/inc/external -I/home/test/OOF680_m14/solver/680/wntmsci11.pro/inc -I/home/test/OOF680_m14/solenv/wntmsci11/inc -I/home/test/OOF680_m14/solenv/inc -I/home/test/OOF680_m14/res -I/home/test/OOF680_m14/solver/680/wntmsci11.pro/inc/stl -I/cygdrive/c/J2SDK1~1.2_1/include/win32 -I/cygdrive/c/J2SDK1~1.2_1/include -I/cygdrive/c/PROGRA~1/MICROS~4/include -I/cygdrive/c/PROGRA~1/MICROS~2/VC/include -I/cygdrive/c/PROGRA~1/MI22C6~1/include -I/home/test/OOF680_m14/solver/680/wntmsci11.pro/inc/offuh -I. -I../res -I. -Gy -Ob1 -Oxs -Oy- -Gd -I. -I../wntmsci11.pro/inc/hwp -I../inc -I../inc/pch -I../inc -I../WIN/inc -I../wntmsci11.pro/inc -I. -I/home/test/OOF680_m14/solver/680/wntmsci11.pro/inc/stl -I/home/test/OOF680_m14/solver/680/wntmsci11.pro/inc/external -I/home/test/OOF680_m14/solver/680/wntmsci11.pro/inc -I/home/test/OOF680_m14/solenv/wntmsci11/inc -I/home/test/OOF680_m14/solenv/inc -I/home/test/OOF680_m14/res -I/home/test/OOF680_m14/solver/680/wntmsci11.pro/inc/stl -I/cygdrive/c/J2SDK1~1.2_1/include/win32 -I/cygdrive/c/J2SDK1~1.2_1/include -I/cygdrive/c/PROGRA~1/MICROS~4/include -I/cygdrive/c/PROGRA~1/MICROS~2/VC/include -I/cygdrive/c/PROGRA~1/MI22C6~1/include -I/home/test/OOF680_m14/solver/680/wntmsci11.pro/inc/offuh -I. -I../res -I. -Wall -wd4061 -wd4127 -wd4191 -wd4217 -wd4251 -wd4275 -wd4290 -wd4294 -wd4355 -wd4511 -wd4512 -wd4514 -wd4611 -wd4625 -wd4626 -wd4640 -wd4675 -wd4710 -wd4711 -wd4786 -wd4800 -wd4820 -wd4503 -wd4619 -wd4365 -wd4668 -wd4738 -wd4826 -wd4350 -wd4505 -wd4692 -wd4189 -DWNT -DWNT -DNT351 -DMSC -DM1400 -DINTEL -D_X86_=1 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NON_CONFORMING_SWPRINTFS -DFULL_DESK -DSTLPORT_VERSION=400 -DWINVER=0x400 -D_WIN32_IE=0x400 -D_MT -DCPPU_ENV=msci -DSUPD=680 -DPRODUCT -DNDEBUG -DPRODUCT_FULL -DOSL_DEBUG_LEVEL=0 -DOPTIMIZE -DCUI -DSOLAR_JAVA -DOOF680=OOF680 -DSHAREDLIB -D_DLL_ -DWIN32 -D_MT -D_DLL -DWIN32 -D_MT -D_DLL -DMULTITHREAD -EHa -DEXCEPTIONS_ON -Fo../wntmsci11.pro/slo/fontmap.obj /home/test/OOF680_m14/hwpfilter/source/fontmap.cpp guw.exe /cygdrive/c/PROGRA~1/MICROS~2/VC/bin/cl.exe @/tmp/mkKmrxgF fontmap.cpp C:\cygwin\home\test\OOF680_m14\hwpfilter\source\fontmap.cpp : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss C:\cygwin\home\test\OOF680_m14\hwpfilter\source\fontmap.cpp(61) : error C2001: newline in constant C:\cygwin\home\test\OOF680_m14\hwpfilter\source\fontmap.cpp(62) : error C2143: syntax error : missing '}' before '{' C:\cygwin\home\test\OOF680_m14\hwpfilter\source\fontmap.cpp(62) : error C2143: syntax error : missing '}' before '{' C:\cygwin\home\test\OOF680_m14\hwpfilter\source\fontmap.cpp(62) : error C2143: syntax error : missing ';' before '{' C:\cygwin\home\test\OOF680_m14\hwpfilter\source\fontmap.cpp(62) : error C2447: '{' : missing function header (old-style formal list?) C:\cygwin\home\test\OOF680_m14\hwpfilter\source\fontmap.cpp(62) : error C2059: syntax error : ',' C:\cygwin\home\test\OOF680_m14\hwpfilter\source\fontmap.cpp(63) : error C2143: syntax error : missing ';' before '{' C:\cygwin\home\test\OOF680_m14\hwpfilter\source\fontmap.cpp(63) : error C2447: '{' : missing function header (old-style formal list?) C:\cygwin\home\test\OOF680_m14\hwpfilter\source\fontmap.cpp(63) : error C2001: newline in constant C:\cygwin\home\test\OOF680_m14\hwpfilter\source\fontmap.cpp(67) : error C2001: newline in constant C:\cygwin\home\test\OOF680_m14\hwpfilter\source\fontmap.cpp(76) : error C2001: newline in constant C:\cygwin\home\test\OOF680_m14\hwpfilter\source\fontmap.cpp(89) : error C2001: newline in constant C:\cygwin\home\test\OOF680_m14\hwpfilter\source\fontmap.cpp(90) : error C2001: newline in constant C:\cygwin\home\test\OOF680_m14\hwpfilter\source\fontmap.cpp(94) : error C2001: newline in constant C:\cygwin\home\test\OOF680_m14\hwpfilter\source\fontmap.cpp(95) : error C2001: newline in constant C:\cygwin\home\test\OOF680_m14\hwpfilter\source\fontmap.cpp(96) : error C2001: newline in constant C:\cygwin\home\test\OOF680_m14\hwpfilter\source\fontmap.cpp(97) : error C2001: newline in constant C:\cygwin\home\test\OOF680_m14\hwpfilter\source\fontmap.cpp(101) : error C2001: newline in constant C:\cygwin\home\test\OOF680_m14\hwpfilter\source\fontmap.cpp(103) : error C2001: newline in constant C:\cygwin\home\test\OOF680_m14\hwpfilter\source\fontmap.cpp(104) : error C2001: newline in constant C:\cygwin\home\test\OOF680_m14\hwpfilter\source\fontmap.cpp(105) : error C2001: newline in constant C:\cygwin\home\test\OOF680_m14\hwpfilter\source\fontmap.cpp(118) : error C2001: newline in constant C:\cygwin\home\test\OOF680_m14\hwpfilter\source\fontmap.cpp(120) : error C2001: newline in constant C:\cygwin\home\test\OOF680_m14\hwpfilter\source\fontmap.cpp(129) : error C2001: newline in constant C:\cygwin\home\test\OOF680_m14\hwpfilter\source\fontmap.cpp(130) : error C2001: newline in constant C:\cygwin\home\test\OOF680_m14\hwpfilter\source\fontmap.cpp(131) : error C2001: newline in constant C:\cygwin\home\test\OOF680_m14\hwpfilter\source\fontmap.cpp(132) : error C2001: newline in constant C:\cygwin\home\test\OOF680_m14\hwpfilter\source\fontmap.cpp(133) : error C2001: newline in constant C:\cygwin\home\test\OOF680_m14\hwpfilter\source\fontmap.cpp(134) : error C2001: newline in constant C:\cygwin\home\test\OOF680_m14\hwpfilter\source\fontmap.cpp(163) : error C2001: newline in constant C:\cygwin\home\test\OOF680_m14\hwpfilter\source\fontmap.cpp(183) : fatal error C1004: unexpected end-of-file found ---* tg_merge.mk *---
Created attachment 44918 [details] Proposed patch.
The attached patch just replaces non-ASCII characters by escaping string like "0xhh".
MRU->HBRINKM: this patch proposal respects the hwpfilter. Please have a look.
patch applied and approved
ready for QA
Verified in CWS os97.
Checked in 680m217.