diff --git a/c/qrcodegen.c b/c/qrcodegen.c index 9a34f24..cd4108c 100644 --- a/c/qrcodegen.c +++ b/c/qrcodegen.c @@ -33,7 +33,7 @@ static void encodeQrCodeTail(uint8_t dataAndQrcode[], uint8_t tempBuffer[], int version, enum qrcodegen_Ecc ecl, enum qrcodegen_Mask mask); static long getPenaltyScore(const uint8_t qrcode[], int size); -static void appendBitsToBuffer(uint16_t val, int numBits, uint8_t buffer[], int *bitLen); +static void appendBitsToBuffer(unsigned int val, int numBits, uint8_t buffer[], int *bitLen); static int getNumDataCodewords(int version, enum qrcodegen_Ecc ecl); static bool getModule(const uint8_t qrcode[], int size, int x, int y); @@ -165,7 +165,7 @@ int qrcodegen_encodeText(const char *text, uint8_t tempBuffer[], uint8_t qrcode[ memset(qrcode, 0, qrcodegen_BUFFER_LEN_FOR_VERSION(version) * sizeof(qrcode[0])); int bitLen = 0; appendBitsToBuffer(isNumeric ? 1 : 2, 4, qrcode, &bitLen); - appendBitsToBuffer((uint16_t)textLen, lengthBits, qrcode, &bitLen); + appendBitsToBuffer((unsigned int)textLen, lengthBits, qrcode, &bitLen); if (isNumeric) { int accumData = 0; int accumCount = 0; @@ -241,7 +241,7 @@ int qrcodegen_encodeBinary(uint8_t dataAndTemp[], size_t dataLen, uint8_t qrcode memset(qrcode, 0, qrcodegen_BUFFER_LEN_FOR_VERSION(version) * sizeof(qrcode[0])); int bitLen = 0; appendBitsToBuffer(4, 4, qrcode, &bitLen); - appendBitsToBuffer((uint16_t)dataLen, (version <= 9 ? 8 : 16), qrcode, &bitLen); + appendBitsToBuffer((unsigned int)dataLen, (version <= 9 ? 8 : 16), qrcode, &bitLen); for (size_t i = 0; i < dataLen; i++) appendBitsToBuffer(dataAndTemp[i], 8, qrcode, &bitLen); int terminatorBits = dataCapacityBits - bitLen; @@ -368,7 +368,7 @@ static long getPenaltyScore(const uint8_t qrcode[], int size) { // Appends the given sequence of bits to the given byte-based bit buffer, increasing the bit length. -static void appendBitsToBuffer(uint16_t val, int numBits, uint8_t buffer[], int *bitLen) { +static void appendBitsToBuffer(unsigned int val, int numBits, uint8_t buffer[], int *bitLen) { assert(0 <= numBits && numBits <= 16 && (long)val >> numBits == 0); for (int i = numBits - 1; i >= 0; i--, (*bitLen)++) buffer[*bitLen >> 3] |= ((val >> i) & 1) << (7 - (*bitLen & 7));