X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/37c2a8dab05154b396e20a9de1de7a10adb2b88a..79c78d4284afd3ca726edf16763d248dc6253386:/src/common/xpmdecod.cpp diff --git a/src/common/xpmdecod.cpp b/src/common/xpmdecod.cpp index f8524971a0..69a91e7c60 100644 --- a/src/common/xpmdecod.cpp +++ b/src/common/xpmdecod.cpp @@ -178,10 +178,10 @@ wxImage wxXPMDecoder::ReadFile(wxInputStream& stream) if ( (*q == '*') && (*(q + 1) == '/') ) break; } - + // memmove allows overlaps (unlike strcpy): size_t cpylen = strlen(q + 2) + 1; - memmove(p, q + 2, cpylen); + memmove(p, q + 2, cpylen); } /* @@ -515,18 +515,18 @@ static unsigned char ParseHexadecimal(char digit1, char digit2) unsigned char i1, i2; if (digit1 >= 'a') - i1 = digit1 - 'a' + 0x0A; + i1 = (unsigned char)(digit1 - 'a' + 0x0A); else if (digit1 >= 'A') - i1 = digit1 - 'A' + 0x0A; + i1 = (unsigned char)(digit1 - 'A' + 0x0A); else - i1 = digit1 - '0'; + i1 = (unsigned char)(digit1 - '0'); if (digit2 >= 'a') - i2 = digit2 - 'a' + 0x0A; + i2 = (unsigned char)(digit2 - 'a' + 0x0A); else if (digit2 >= 'A') - i2 = digit2 - 'A' + 0x0A; + i2 = (unsigned char)(digit2 - 'A' + 0x0A); else - i2 = digit2 - '0'; - return (0x10 * i1 + i2); + i2 = (unsigned char)(digit2 - '0'); + return (unsigned char)(0x10 * i1 + i2); } static bool GetRGBFromName(const char *inname, bool *isNone, @@ -550,7 +550,7 @@ static bool GetRGBFromName(const char *inname, bool *isNone, return true; } - name = strdup(inname); + name = wxStrdupA(inname); // theRGBRecords[] has no names with spaces, and no grey, but a // lot of gray... @@ -568,7 +568,7 @@ static bool GetRGBFromName(const char *inname, bool *isNone, p = name; while (*p) { - *p = tolower(*p); + *p = (char)tolower(*p); p++; } @@ -676,7 +676,7 @@ wxImage wxXPMDecoder::ReadData(const char **xpm_data) /* * Read hints and initialize structures: */ - + count = sscanf(xpm_data[0], "%u %u %u %u", &width, &height, &colors_cnt, &chars_per_pixel); if ( count != 4 || width * height * colors_cnt == 0 ) @@ -762,7 +762,7 @@ wxImage wxXPMDecoder::ReadData(const char **xpm_data) unsigned char *img_data = img.GetData(); wxXPMColourMap::iterator entry; wxXPMColourMap::iterator end = clr_tbl.end(); - + for (j = 0; j < height; j++) { for (i = 0; i < width; i++, img_data += 3)