@@ -6488,6 +6488,7 @@ decode_preR13_entities (BITCODE_RL start, BITCODE_RL end,
64886488 {
64896489 Dwg_Object * obj ;
64906490 Dwg_Object_Type_r11 abstype ;
6491+ BITCODE_RC pline_flag ;
64916492
64926493 if (!num )
64936494 dwg -> object
@@ -6687,7 +6688,6 @@ decode_preR13_entities (BITCODE_RL start, BITCODE_RL end,
66876688 BITCODE_RC extra_r11 = 0 ;
66886689 BITCODE_RS eed_size ;
66896690 BITCODE_RC handling_len ;
6690- BITCODE_RC pline_flag ;
66916691 size_t start_byte ;
66926692 LOG_TRACE ("Detect polyline:" );
66936693 start_byte = dat -> byte ;
@@ -6707,12 +6707,17 @@ decode_preR13_entities (BITCODE_RL start, BITCODE_RL end,
67076707 if (flag_r11 & FLAG_R11_HAS_COLOR )
67086708 dat -> byte += 1 ;
67096709 if (flag_r11 & FLAG_R11_HAS_LTYPE )
6710- dat -> byte += 2 ;
6710+ {
6711+ PRE (R_11 )
6712+ dat -> byte += 1 ;
6713+ else
6714+ dat -> byte += 2 ;
6715+ }
67116716 if (flag_r11 & FLAG_R11_HAS_THICKNESS )
67126717 dat -> byte += 8 ;
67136718 if (flag_r11 & FLAG_R11_HAS_ELEVATION )
67146719 dat -> byte += 8 ;
6715- if (extra_r11 && extra_r11 & EXTRA_R11_HAS_EED )
6720+ if (extra_r11 & EXTRA_R11_HAS_EED )
67166721 {
67176722 eed_size = bit_read_RS (dat );
67186723 LOG_TRACE (", eed_size: %d" , eed_size );
@@ -6724,10 +6729,11 @@ decode_preR13_entities (BITCODE_RL start, BITCODE_RL end,
67246729 LOG_TRACE (", handling_len: %d" , handling_len );
67256730 dat -> byte += handling_len ;
67266731 }
6727- if (extra_r11 && extra_r11 & EXTRA_R11_HAS_VIEWPORT )
6732+ if (extra_r11 & EXTRA_R11_HAS_VIEWPORT )
67286733 dat -> byte += 2 ;
67296734 pline_flag = bit_read_RC (dat );
6730- LOG_TRACE (", pline_flag: 0x%x\n" , pline_flag );
6735+ LOG_TRACE (", pline_flag: 0x%x" , pline_flag );
6736+ LOG_POS ;
67316737 dat -> byte = start_byte ;
67326738 if (pline_flag & FLAG_POLYLINE_3D )
67336739 error |= dwg_decode_POLYLINE_3D (dat , obj );
@@ -6766,7 +6772,12 @@ decode_preR13_entities (BITCODE_RL start, BITCODE_RL end,
67666772 if (flag_r11 & FLAG_R11_HAS_COLOR )
67676773 dat -> byte += 1 ;
67686774 if (flag_r11 & FLAG_R11_HAS_LTYPE )
6769- dat -> byte += 2 ;
6775+ {
6776+ PRE (R_11 )
6777+ dat -> byte += 1 ;
6778+ else
6779+ dat -> byte += 2 ;
6780+ }
67706781 if (flag_r11 & FLAG_R11_HAS_THICKNESS )
67716782 dat -> byte += 8 ;
67726783 if (flag_r11 & FLAG_R11_HAS_ELEVATION )
@@ -6801,17 +6812,18 @@ decode_preR13_entities (BITCODE_RL start, BITCODE_RL end,
68016812 if (opts_r11 & OPTS_R11_VERTEX_HAS_FLAG )
68026813 {
68036814 vertex_flag = bit_read_RC (dat );
6804- LOG_TRACE (", vertex_flag: 0x%x\n" , vertex_flag );
6815+ LOG_TRACE (", vertex_flag: 0x%x" , vertex_flag );
6816+ LOG_POS ;
68056817 dat -> byte = start_byte ;
6806- if (vertex_flag & FLAG_VERTEX_3D )
6807- error |= dwg_decode_VERTEX_3D (dat , obj );
6808- else if (vertex_flag & FLAG_VERTEX_MESH
6818+ if (vertex_flag & FLAG_VERTEX_MESH
68096819 && vertex_flag & FLAG_VERTEX_PFACE_MESH )
68106820 error |= dwg_decode_VERTEX_PFACE (dat , obj );
68116821 else if (vertex_flag & FLAG_VERTEX_MESH )
68126822 error |= dwg_decode_VERTEX_MESH (dat , obj );
68136823 else if (vertex_flag & FLAG_VERTEX_PFACE_MESH )
68146824 error |= dwg_decode_VERTEX_PFACE_FACE (dat , obj );
6825+ else if (vertex_flag & FLAG_VERTEX_3D )
6826+ error |= dwg_decode_VERTEX_3D (dat , obj );
68156827 else
68166828 error |= dwg_decode_VERTEX_2D (dat , obj );
68176829 }
0 commit comments