Changeset View
Changeset View
Standalone View
Standalone View
src/imageformats/tga.cpp
Show First 20 Lines • Show All 246 Lines • ▼ Show 20 Line(s) | 246 | if (num < 0) { | |||
---|---|---|---|---|---|
247 | valid = false; | 247 | valid = false; | ||
248 | break; | 248 | break; | ||
249 | } | 249 | } | ||
250 | 250 | | |||
251 | if (c & 0x80) { | 251 | if (c & 0x80) { | ||
252 | // RLE pixels. | 252 | // RLE pixels. | ||
253 | assert(pixel_size <= 8); | 253 | assert(pixel_size <= 8); | ||
254 | char pixel[8]; | 254 | char pixel[8]; | ||
255 | s.readRawData(pixel, pixel_size); | 255 | const int dataRead = s.readRawData(pixel, pixel_size); | ||
256 | if (dataRead < (int)pixel_size) { | ||||
257 | memset(&pixel[dataRead], 0, pixel_size - dataRead); | ||||
258 | } | ||||
256 | do { | 259 | do { | ||
257 | memcpy(dst, pixel, pixel_size); | 260 | memcpy(dst, pixel, pixel_size); | ||
258 | dst += pixel_size; | 261 | dst += pixel_size; | ||
259 | } while (--count); | 262 | } while (--count); | ||
260 | } else { | 263 | } else { | ||
261 | // Raw pixels. | 264 | // Raw pixels. | ||
262 | count *= pixel_size; | 265 | count *= pixel_size; | ||
263 | const int dataRead = s.readRawData(dst, count); | 266 | const int dataRead = s.readRawData(dst, count); | ||
▲ Show 20 Lines • Show All 227 Lines • Show Last 20 Lines |