comparison src/dmzlib.c @ 1075:97ccd6d972ff

Comments, cosmetics.
author Matti Hamalainen <ccr@tnsp.org>
date Mon, 02 Mar 2015 04:17:30 +0200
parents e98bc627ad08
children 7bf421248190
comparison
equal deleted inserted replaced
1074:e98bc627ad08 1075:97ccd6d972ff
323 } 323 }
324 *outBuffer++ = (Uint8) z; 324 *outBuffer++ = (Uint8) z;
325 } 325 }
326 else 326 else
327 { 327 {
328 Uint8 *p; 328 Uint8 *ptr;
329 int len, dist; 329 int len, dist;
330 if (z == 256) 330 if (z == 256)
331 { 331 {
332 ctx->outBuffer = outBuffer; 332 ctx->outBuffer = outBuffer;
333 return DMERR_OK; 333 return DMERR_OK;
350 { 350 {
351 return dmErrorDBG(DMERR_DATA_ERROR, 351 return dmErrorDBG(DMERR_DATA_ERROR,
352 "Bad Huffman block distance.\n"); 352 "Bad Huffman block distance.\n");
353 } 353 }
354 354
355 // Check if output buffer needs to expand
355 if (outBuffer + len > ctx->outBufferEnd) 356 if (outBuffer + len > ctx->outBufferEnd)
356 { 357 {
357 if ((ret = dmZLibExpand(ctx, outBuffer, len)) != DMERR_OK) 358 if ((ret = dmZLibExpand(ctx, outBuffer, len)) != DMERR_OK)
358 return ret; 359 return ret;
359 outBuffer = ctx->outBuffer; 360 outBuffer = ctx->outBuffer;
360 } 361 }
361 p = (Uint8 *) (outBuffer - dist); 362
363 ptr = outBuffer - dist;
362 if (dist == 1) 364 if (dist == 1)
363 { // run of one byte; common in images. 365 { // run of one byte; common in images.
364 Uint8 v = *p; 366 Uint8 v = *ptr;
365 do { *outBuffer++ = v; } while (--len); 367 do { *outBuffer++ = v; } while (--len);
366 } 368 }
367 else 369 else
368 { 370 {
369 do { *outBuffer++ = *p++; } while (--len); 371 do { *outBuffer++ = *ptr++; } while (--len);
370 } 372 }
371 } 373 }
372 } 374 }
373 } 375 }
374 376
524 { 526 {
525 return dmErrorDBG(DMERR_BOUNDS, 527 return dmErrorDBG(DMERR_BOUNDS,
526 "Read past buffer, probably corrupt compressed data.\n"); 528 "Read past buffer, probably corrupt compressed data.\n");
527 } 529 }
528 530
531 // Check if output buffer needs to expand
529 if (ctx->outBuffer + len > ctx->outBufferEnd && 532 if (ctx->outBuffer + len > ctx->outBufferEnd &&
530 (ret = dmZLibExpand(ctx, ctx->outBuffer, len)) != DMERR_OK) 533 (ret = dmZLibExpand(ctx, ctx->outBuffer, len)) != DMERR_OK)
531 { 534 {
532 return dmErrorDBG(DMERR_DATA_ERROR, 535 return dmErrorDBG(DMERR_DATA_ERROR,
533 "Could not expand output buffer: %d, %s\n", 536 "Could not expand output buffer: %d, %s\n",
534 ret, dmErrorStr(ret)); 537 ret, dmErrorStr(ret));
535 } 538 }
536 539
540 // Copy uncompressed data
537 memcpy(ctx->outBuffer, ctx->inBuffer, len); 541 memcpy(ctx->outBuffer, ctx->inBuffer, len);
538 ctx->inBuffer += len; 542 ctx->inBuffer += len;
539 ctx->outBuffer += len; 543 ctx->outBuffer += len;
540 } 544 }
541 545