@@ -151,45 +151,37 @@ bool dwgCharStream::read( duint8 *s, duint64 n )
151
151
return true ;
152
152
}
153
153
154
- dwgBuffer::dwgBuffer ( duint8 *buf, int size, DRW_TextCodec *dc )
155
- {
156
- filestr = new dwgCharStream ( buf, size );
157
- decoder = dc;
158
- maxSize = size;
159
- bitPos = 0 ;
160
- }
161
-
162
- dwgBuffer::dwgBuffer ( std::ifstream *stream, DRW_TextCodec *dc )
163
- {
164
- filestr = new dwgFileStream ( stream );
165
- decoder = dc;
166
- maxSize = filestr->size ();
167
- bitPos = 0 ;
168
- }
169
-
170
- dwgBuffer::dwgBuffer ( const dwgBuffer &org )
171
- {
172
- filestr = org.filestr ->clone ();
173
- decoder = org.decoder ;
174
- maxSize = filestr->size ();
175
- currByte = org.currByte ;
176
- bitPos = org.bitPos ;
177
- }
154
+ dwgBuffer::dwgBuffer (duint8 *buf, duint64 size, DRW_TextCodec *dc)
155
+ :decoder{dc}
156
+ ,filestr{new dwgCharStream (buf, size)}
157
+ ,maxSize{size}
158
+ {}
159
+
160
+ dwgBuffer::dwgBuffer (std::ifstream *stream, DRW_TextCodec *dc)
161
+ :decoder{dc}
162
+ ,filestr{new dwgFileStream (stream)}
163
+ ,maxSize{filestr->size ()}
164
+ {}
165
+
166
+ dwgBuffer::dwgBuffer ( const dwgBuffer& org )
167
+ :decoder{org.decoder }
168
+ ,filestr{org.filestr ->clone ()}
169
+ ,maxSize{filestr->size ()}
170
+ ,currByte{org.currByte }
171
+ ,bitPos{org.bitPos }
172
+ {}
178
173
179
174
dwgBuffer &dwgBuffer::operator =( const dwgBuffer &org )
180
175
{
181
- filestr = org.filestr ->clone ();
176
+ filestr. reset ( org.filestr ->clone () );
182
177
decoder = org.decoder ;
183
178
maxSize = filestr->size ();
184
179
currByte = org.currByte ;
185
180
bitPos = org.bitPos ;
186
181
return *this ;
187
182
}
188
183
189
- dwgBuffer::~dwgBuffer ()
190
- {
191
- delete filestr;
192
- }
184
+ dwgBuffer::~dwgBuffer () = default ;
193
185
194
186
// ! Gets the current byte position in buffer
195
187
duint64 dwgBuffer::getPosition ()
@@ -349,9 +341,9 @@ dint16 dwgBuffer::getSBitShort()
349
341
{
350
342
duint8 b = get2Bits ();
351
343
if ( b == 0 )
352
- return ( dint16 ) getRawShort16 ();
344
+ return static_cast < dint16>( getRawShort16 () );
353
345
else if ( b == 1 )
354
- return ( dint16 ) getRawChar8 ();
346
+ return static_cast < dint16>( getRawChar8 () );
355
347
else if ( b == 2 )
356
348
return 0 ;
357
349
else
@@ -880,16 +872,12 @@ duint32 dwgBuffer::getCmColor( DRW::Version v )
880
872
{
881
873
case 0xC0 :
882
874
return 256 ;// ByLayer
883
- break ;
884
875
case 0xC1 :
885
876
return 0 ;// ByBlock
886
- break ;
887
877
case 0xC2 :
888
878
return 256 ;// RGB RLZ TODO
889
- break ;
890
879
case 0xC3 :
891
880
return rgb & 0xFF ; // ACIS
892
- break ;
893
881
default :
894
882
break ;
895
883
}
@@ -978,7 +966,7 @@ bool dwgBuffer::getBytes( unsigned char *buf, int size )
978
966
979
967
duint16 dwgBuffer::crc8 ( duint16 dx, dint32 start, dint32 end )
980
968
{
981
- int pos = filestr->getPos ();
969
+ duint64 pos = filestr->getPos ();
982
970
filestr->setPos ( start );
983
971
int n = end - start;
984
972
duint8 *tmpBuf = new duint8[n];
@@ -1003,7 +991,7 @@ duint16 dwgBuffer::crc8( duint16 dx, dint32 start, dint32 end )
1003
991
1004
992
duint32 dwgBuffer::crc32 ( duint32 seed, dint32 start, dint32 end )
1005
993
{
1006
- int pos = filestr->getPos ();
994
+ duint64 pos = filestr->getPos ();
1007
995
filestr->setPos ( start );
1008
996
int n = end - start;
1009
997
duint8 *tmpBuf = new duint8[n];
0 commit comments