这是indexloc提供的服务,不要输入任何密码
Skip to content

XRECORD: missing some REAL types in dwg_resbuf_value_type #1178

@michal-josef-spacek

Description

@michal-josef-spacek

There are issues in XRECORD object with data types.

File is from test data defined in #1028 (reply in thread)
Balken.dwg.gz

Next object: 238 Handleoff: 0x1 [UMC] Offset: 58131 [MC] @634638
==========================================
Object number: 238/EE, Size: 2047 [MS], Type: 79 [BS], Address: 634640
Add object XRECORD [238] Decode object XRECORD
bitsize: 16322 [RL] @3.2
 Hdlsize: 0x36, hdl_dat: @2040.2 - @2047.0 (2047)
handle: 0.2.2F3 [H 5]
EED[0] size: 0 (end)
num_eed: 0
num_reactors: 1 [BL 0]
ownerhandle: (12.1.15) abs:2DE [H 330]
reactors[0]: (4.2.2DE) abs:2DE [H* 330] => DICTIONARY
xdicobjhandle: (3.0.0) abs:0 [H 360]
--common_size: 68
xdata_size: 2025 [BL 0]
  xdata[0] type: 90 [RS]
xdata[0]: 1359479961 [RLd 90]
  xdata[1] type: 90 [RS]
xdata[1]: 3615 [RLd 90]
  xdata[2] type: 90 [RS]
xdata[2]: 51 [RLd 90]
...
  xdata[261] type: 210 [RS]
xdata[261]: 0.660000 [RD 210]
  xdata[262] type: 4294959432 [RS]
ERROR: Invalid xdata type -7864 [RS]
cloning: 1 [BS 280]
num_objid_handles: 0 [BL]
 padding: +6
 object_map{2F3} = 238
 padding: 3F/3F (6 bits)
crc: 00EC [RSx]
 check_CRC 634638-636687 = 2049: 00EC == 00EC

The issue is with src/dwg.c dwg_resbuf_value_type() where we need return DWG_VT_POINT3D for group code 210 (instead of DWG_VT_REAL).
There are many issue with it 40, 140, 1040, 1041 etc.

Metadata

Metadata

Labels

blockingbugSomething isn't working

Type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions