diff options
| author | Lode Vandevenne <lvandeve@users.noreply.github.com> | 2018-02-20 21:52:39 +0100 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-02-20 21:52:39 +0100 | 
| commit | 9ab58e31fbd0405236a861f9e7c1d6182fade30c (patch) | |
| tree | 35beb649bb640db340c555ce4ab69dce3a667eeb | |
| parent | 62adbc64baaec7afa217ea05a6b00d1fbfae2fed (diff) | |
| parent | 15a974356701c0243f452e6c28edfa7aa8c3a532 (diff) | |
Merge pull request #51 from jobtalle/master
Resolved issue #24
| -rw-r--r-- | lodepng.cpp | 18 | 
1 files changed, 9 insertions, 9 deletions
diff --git a/lodepng.cpp b/lodepng.cpp index 6998910..c62a22f 100644 --- a/lodepng.cpp +++ b/lodepng.cpp @@ -795,7 +795,7 @@ unsigned lodepng_huffman_code_lengths(unsigned* lengths, const unsigned* frequen    BPMNode* leaves; /*the symbols, only those with > 0 frequency*/    if(numcodes == 0) return 80; /*error: a tree of 0 symbols is not supposed to be made*/ -  if((1u << maxbitlen) < numcodes) return 80; /*error: represent all symbols*/ +  if((1u << maxbitlen) < (unsigned)numcodes) return 80; /*error: represent all symbols*/    leaves = (BPMNode*)lodepng_malloc(numcodes * sizeof(*leaves));    if(!leaves) return 83; /*alloc fail*/ @@ -1455,11 +1455,11 @@ static void updateHashChain(Hash* hash, size_t wpos, unsigned hashval, unsigned  {    hash->val[wpos] = (int)hashval;    if(hash->head[hashval] != -1) hash->chain[wpos] = hash->head[hashval]; -  hash->head[hashval] = wpos; +  hash->head[hashval] = (unsigned)wpos;    hash->zeros[wpos] = numzeros;    if(hash->headz[numzeros] != -1) hash->chainz[wpos] = hash->headz[numzeros]; -  hash->headz[numzeros] = wpos; +  hash->headz[numzeros] = (unsigned)wpos;  }  /* @@ -1531,7 +1531,7 @@ static unsigned encodeLZ77(uivector* out, Hash* hash,      for(;;)      {        if(chainlength++ >= maxchainlength) break; -      current_offset = hashpos <= wpos ? wpos - hashpos : wpos - hashpos + windowsize; +      current_offset = hashpos <= (unsigned)(wpos?wpos - hashpos:wpos - hashpos + windowsize);        if(current_offset < prev_offset) break; /*stop when went completely around the circular buffer*/        prev_offset = current_offset; @@ -3490,7 +3490,7 @@ unsigned lodepng_convert(unsigned char* out, const unsigned char* in,      for(i = 0; i != palsize; ++i)      {        const unsigned char* p = &palette[i * 4]; -      color_tree_add(&tree, p[0], p[1], p[2], p[3], i); +      color_tree_add(&tree, p[0], p[1], p[2], p[3], (unsigned)i);      }    } @@ -4331,7 +4331,7 @@ static unsigned readChunk_tEXt(LodePNGInfo* info, const unsigned char* data, siz      string2_begin = length + 1; /*skip keyword null terminator*/ -    length = chunkLength < string2_begin ? 0 : chunkLength - string2_begin; +    length = (unsigned)(chunkLength < string2_begin?0:chunkLength - string2_begin);      str = (char*)lodepng_malloc(length + 1);      if(!str) CERROR_BREAK(error, 83); /*alloc fail*/ @@ -4379,7 +4379,7 @@ static unsigned readChunk_zTXt(LodePNGInfo* info, const LodePNGDecompressSetting      string2_begin = length + 2;      if(string2_begin > chunkLength) CERROR_BREAK(error, 75); /*no null termination, corrupt?*/ -    length = chunkLength - string2_begin; +    length = (unsigned)chunkLength - string2_begin;      /*will fail if zlib error, e.g. if length is too small*/      error = zlib_decompress(&decoded.data, &decoded.size,                              (unsigned char*)(&data[string2_begin]), @@ -4459,7 +4459,7 @@ static unsigned readChunk_iTXt(LodePNGInfo* info, const LodePNGDecompressSetting      /*read the actual text*/      begin += length + 1; -    length = chunkLength < begin ? 0 : chunkLength - begin; +    length = (unsigned)chunkLength < begin?0:(unsigned)chunkLength - begin;      if(compressed)      { @@ -5415,7 +5415,7 @@ static unsigned filter(unsigned char* out, const unsigned char* in, unsigned w,      {        for(type = 0; type != 5; ++type)        { -        unsigned testsize = linebytes; +        unsigned testsize = (unsigned)linebytes;          /*if(testsize > 8) testsize /= 8;*/ /*it already works good enough by testing a part of the row*/          filterScanline(attempt[type], &in[y * linebytes], prevline, linebytes, bytewidth, type);  | 
