fix: Resolve EXI encoding issues and enhance V2GDecoder functionality

- Fix critical EXI encoding error -109 (EXI_ERROR_UNKOWN_EVENT) by adding proper structure initialization
  * Added init_iso1BodyType() call before setting message type flags in XML parsing
  * Prevents garbage values in unused message type flags that caused wrong grammar paths

- Rename enhanced_exi_viewer to V2GDecoder for consistency
  * Updated build.bat to build V2GDecoder instead of enhanced_exi_viewer
  * Maintains all existing functionality with improved reliability

- Add comprehensive structure debugging capabilities
  * Created structure dump functions to output complete document state
  * Added struct_exi.txt and struct_xml.txt for comparing parsed vs original structures

- Enhance output formatting for encoding operations
  * Clean hex-only output for encoding mode (similar to XML decode mode)
  * Removed debug clutter for production use while preserving debugging code

- Add test infrastructure with minimal_test.xml for focused testing
  * Validates CurrentDemandReq message encoding with minimal required fields

- Improve encoder debugging with position tracking in iso1EXIDatatypesEncoder.c
  * Added debug points to track exact failure locations during encoding

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
ChiKyun Kim
2025-09-10 13:01:53 +09:00
parent fe368f2d23
commit 35af323ff0
8 changed files with 441 additions and 87 deletions

View File

@@ -1,7 +1,7 @@
@echo off
echo Building enhanced_exi_viewer...
echo Building V2GDecoder...
gcc -o enhanced_exi_viewer enhanced_exi_viewer.c ^
gcc -o V2GDecoder V2GDecoder.c ^
src/iso1/*.c ^
src/iso2/*.c ^
src/din/*.c ^
@@ -12,7 +12,7 @@ gcc -o enhanced_exi_viewer enhanced_exi_viewer.c ^
-I./src/din
if %ERRORLEVEL% EQU 0 (
echo Build successful! enhanced_exi_viewer.exe created.
echo Build successful! V2GDecoder.exe created.
) else (
echo Build failed with error code %ERRORLEVEL%
)