Commit graph

18 commits

Author SHA1 Message Date
MU-Software
18c27d6dd5 Add support for allocating heap instead of stack memory
This can be enabled by defining `QUIRC_USE_HEAP`.
Define this before import, or add `-D QUIRC_USE_HEAP` flag while compiling.
2022-01-10 02:14:14 +09:00
Daniel Beer
516d91a94d Fix stack corruption on oversized QR codes.
Issue reported by dswetz on Github:
https://github.com/dlbeer/quirc/issues/119
2021-10-08 19:40:36 +13:00
YAMAMOTO Takashi
21b7581b04 Shrink struct datastream by borrowing the user buffer 2021-04-23 13:40:37 +09:00
Claudio Felber
4bc17cf8c6 Optimize quirc_flip() 2020-09-22 12:14:09 +02:00
Claudio Felber
5beb59e3b4 Support horizontally flipped QR-codes according to ISO 18004:2015 2020-09-21 16:54:55 +02:00
Claudio Felber
963d6ed126 Fix stack corruption and bus errors while scanning oversized QR codes 2020-09-15 00:51:41 +02:00
Sushrut Shringarputale
ed833132d5 Fix some compile-time issues for better production usability
Fixed up some type coercion and uninitialized variable instances for
better production code usability.
2019-08-20 09:50:39 -07:00
Alexandre Perrin
a858ec4896 Fixes warnings emitted by gcc -Wold-style-declaration 2017-06-07 10:24:43 +02:00
Alexandre Perrin
2528ea3955 Comment fix
Bad copy-pasta from
http://www.thonky.com/qr-code-tutorial/kanji-mode-encoding
2017-05-30 19:23:42 +02:00
Alexandre Perrin
e16c02e226 Fix Kanji decoding.
Before this patch, Kanji decoding was broken.
2017-05-30 18:52:31 +02:00
Daniel Beer
59182ef1cd Deinterleave blocks correct.
Use explicit small-block count. Derived value using greedy calculation
wasn't correct in many cases.
2016-12-28 15:37:18 +13:00
Daniel Beer
88774dc6cf decode.c: fix count bit-width on alphanumeric payloads. 2016-11-17 11:37:55 +13:00
Daniel Beer
87e79e769b Fix Reed-Solomon decoder.
Calculate the correct number of syndromes, and fix calculation of the
error locator polynomial. Many QR codes with logos in the middle should
now work.
2016-09-23 14:34:07 +12:00
Daniel Beer
ab341691c9 Add support for ECI decoding.
ECI values are decoded and stored in the eci field of struct quirc_data.
Constants of the form QUIRC_ECI_* are defined in quirc.h.
2016-09-23 09:50:59 +12:00
Daniel Beer
42c79481e7 decode: support multiple data segments.
Previously, the payload was assumed to consist of one large data
segment. Now, multiple segments of different types may be concatenated
together. The data type reported is the highest data type encountered
while decoding.
2013-05-29 10:26:13 +12:00
Daniel Beer
daf6d7c90b decode: fix reversed tuples in numeric decoder. 2013-05-29 09:40:46 +12:00
Daniel Beer
0335fabf97 Fix decoding of numeric and alphanumeric data types.
If the number of characters in the stream isn't a multiple of the full
tuple size, the remaining characters are encoded in a special short
tuple.
2013-05-14 09:25:05 +12:00
Daniel Beer
a3142bc6b4 Initial commit: version 1.0. 2012-05-04 12:58:42 +12:00