2009.05.20 Kentaro FUKUCHI <fukuchi@megaui.net>
* Merged from 3.1.0 branch. (rev 2248:HEAD)
* mqrspec.[ch], tests/create_mqr_frame_pattern.c:
- MQRspec_getEccSpec() has been deleted.
* tests/create_mqr_frame_pattern.c, tests/Makefile.am:
- Newly added.
2009.05.20 Kentaro FUKUCHI <fukuchi@megaui.net>
* qrenc.c, qrinput.c, qrencode.c:
- Some compile warnings cleared.
* qrencode.c, tests/test_qrencode.c:
- NULL check of an input arg has been added to
QRcode_encodeString8bit().
- NULL check test and empty string test have been added for
QRcode_encodeString8bit().
* qrinput.h, qrencode_inner.h, split.c:
- Copyright year updates.
* split.[ch]:
- Split_splitStringToQRinput() set errno EINVAL if input string is
NULL or empty.
- Documentation improved.
* qrenc.c:
- perror() is now used to show the details of some errors.
* qrencode.[ch]:
- Some functions now set errno appropriately.
- Typo fixes.
2009.05.20 Kentaro FUKUCHI <fukuchi@megaui.net>
* tests/create_frame_pattern.c, tests/Makefile.am:
- New test tool "create_frame_pattern" has been added.
* tests/test_qrspec.c:
- test_alignment1() has been replaced with test_newframe().
test_newframe() compares newly created frames with frame pattern
data created by create_frame_pattern.
* tests/frame, tests/Makefile.am:
- Pattern file "frame" has been added to EXTRA_DIST.
* mask.c:
- Very small improvement. Unnecessary malloc()s are reduced.
* tests/test_qrencode.c:
- Two new tests have been added.
* split.c:
- NULL check and string length check have been added.
* qrspec.c, tests/test_qrinput.c:
- Forgotten padding bits bug has been fixed. (enbugged at 2009.5.18)
- New test for the bug above has been added.
* qrspec.[ch], qrencode_inner.h:
- Some function becomes __STATIC and their declarations have been
moved to qrencode_inner.h.
* tests/prof_qrencode.c:
- Now liberates all heap at the end of the program.
2009.05.19 Kentaro FUKUCHI <fukuchi@megaui.net>
* qrencode.c, qrencode_inner.h:
- calloc() is now used to initialize rsblock.
- Number of malloc()s in RSblock_initBlock() has been integrated to
one malloc() in QRraw_new().
* rscode.c:
- A very small code improvement.
* qrinput.[ch]:
- More return value checks.
- Code cleanups.
* tests/common.h, tests/test_{split,monkey,qrinput}.c:
- Tests improved.
* qrspec.[ch], tests/test_qrspec.c:
- Code cleanups.
- QRspec_rs{Data,Ecc}Length() have been added.
* tests/view_qrcode.c:
- Code cleanups.
- Disabled mask setting in structured mode.
* tests/common.h:
- assert_nothing() has been added.
* qrinput.c, qrencode.c, tests/test_*.c:
- Various *_free() now allow NULL pointer. (nothing performed)
* qrspec.[ch]:
- Alignment pattern is now put by QRspec_putAlignmentPattern().
QRspec_getAlignmentPattern() and QRspec_freeAlignment() have been
removed.
2009.05.18 Kentaro FUKUCHI <fukuchi@megaui.net>
* qrencode.c:
- More return value checks.
* bitstream.c:
- BitStream_free() allows NULL pointer (nothing performed).
* qrinput.c:
- QRinput_List_freeEntry() and QRinput_free() allow NULL pointer.
- QRinput_createPaddingBit() has been replaced with
QRinput_appendPaddingBit().
- QRinput_convertData() now sets errno to EINVAL when input is too
large.
- More return value checks. Mainly for ENOMEM error.
2009.05.18 Kentaro FUKUCHI <fukuchi@megaui.net>
* Merged from 3.1.0 branch.
2009.05.16 Kentaro FUKUCHI <fukuchi@megaui.net>
* qrencode.h:
- Indent improvement.
* Makefile.am:
- qrencode.spec has been added to EXTRA_DIST.
2009.05.14 Kentaro FUKUCHI <fukuchi@megaui.net>
* qrinput.c, qrencode.c, qrspe.c:
- More return value checks. Mainly for ENOMEM error.
* qrspec.[ch], qrencode.c, tests/test_qrspec.c:
- QRspec_getEccSpec() now accepts an int array instead to return
multiple values instead of returning dynamic allocated array.
* mask.c, rscode.c:
- More return value checks from malloc().
* configure.ac:
- Added "--enable-mudflap" option.
* rscode.[ch]:
- Added free_rs_cache() for debug purpose.
* tests/test_{monkey,qrencode,rs}.c:
- Call free_rs_cache() at the end of the tests.
* qrencode.c:
- QRraw_new() and RSblock_init() have been improved.
- Eliminated unnecessary calls of init_rs().
* autogen.sh, configure.ac:
- Darwin workarounds.
* tests/common.h, tests/test_bitstream.c:
- New tests have been added.
2009.05.12 Kentaro FUKUCHI <fukuchi@megaui.net>
* bitstream.c:
- BitStream_toByte() had returned non-NULL for an empty BitStream.
* tests/test_bitstream.c:
- test_null() has been added.
* qrinput.c:
- A possible memory leak has been eliminated. It happend when a wrong
version number was given.
* tests/test_qriput.c:
- Memory leaks have been eliminated.
2009.05.01 Kentaro FUKUCHI <fukuchi@megaui.net>
* Bumped vertion to 3.1.0.
2009.04.30 Kentaro FUKUCHI <fukuchi@megaui.net>
* bistream.[ch]:
- Internal representation of BitStream has been changed from
NUL-terminated string to unsigned char array.
* tests/common.h, tests/test_{bitstream,qrinput}.c:
- Some test sequences have been updated (see above).
2009.03.25 Kentaro FUKUCHI <fukuchi@megaui.net>
* configure.ac:
- "--without-tests" has become default setting.
* bitstream.[ch]:
- Now functions strictly check return value from malloc() and return
error if it fails.
2008.10.31 Kentaro FUKUCHI <fukuchi@megaui.net>
* tests/commo.h:
- __FUNCTION__ has been replaced with __func__, to follow the C99
standard.
- The way of variadic macros has been changed, to follow the C99
standard.
2008.10.11 Kentaro FUKUCHI <fukuchi@megaui.net>
* qrencode_inner.h:
- Now this header is called only by test programs.
* qrencode.c, qrencode_inner.h:
- Some definitions and declares written in qrencode_inner.h have been
moved into qrencode.c:
- QRraw_*() have been declared as __STATIC.
* mask.[ch], qrencode.c, qrencode_inner.h:
- Mask_makeMask() now requires QRecLevel.
- QRencode_writeFormatInformation() has been renamed and moved to
Mask_writeFormatInformation(), and become __STATIC.
* tests/*.c:
- Unneeded #include "qrencode_inner.h" have been removed.
2008.10.11 Kentaro FUKUCHI <fukuchi@megaui.net>
* autogen.sh:
- Darwin workaround.
* configure.ac:
- Now config.h offers "__STATIC" macro becomes "static" when
"--without-tests" is specified. This macro is useful for functions
called from test programs but not from other library codes.
* qrinput.c:
- Very little performance improvement.
* mask.c:
- Code cleanups.
2008.09.12 Kentaro FUKUCHI <fukuchi@megaui.net>
* tests/view_qrcode.c:
- Unused variable 'pitch' has been removed from draw_QRcode().
2008.06.03 Kentaro FUKUCHI <fukuchi@megaui.net>
* Merged to the main trunk.
2008.06.01 Kentaro FUKUCHI <fukuchi@megaui.net>
* qrenc.c:
- Now it does not show the full usage when unrecognized options are
given.
- When "--help" is given, it displays the long usage.
* Version 3.0.3 has been released.
2008.05.26 Kentaro FUKUCHI <fukuchi@megaui.net>
* qrenc.c, tests/view_qrcode.c:
- getopt_long_only() has been replaced with getopt_long() which is
widely available. (Thanks to Gavan Fantom)
- Now it accepts long options.
* qrencode.1.in:
- followed the above changes.
* Bumped version to 3.0.3.
2008.05.18 Kentaro FUKUCHI <fukuchi@megaui.net>
* qrspec.c:
- The bit order of "Version information" has been corrected.
(Thanks to Paul Janssesn)
* configure.ac, Makefile.am:
- The "--without-tests" has been added to the configure script.
* qrencode.spec.in:
- Uses "--without-tests".
* Version 3.0.2 has been released.
2008.05.14 Kentaro FUKUCHI <fukuchi@megaui.net>
* various files:
- Some compile-time warnings/erros with g++ have been fixed.
(Thanks to wangsai)
2008.05.09 Kentaro FUKUCHI <fukuchi@megaui.net>
* qrenc.c:
- Now qrencode writes an image file in binary mode for non-POSIX
platform, such as MS-Windows. (bug report from Paul Janssens)
* Makefile.am:
- tests/test_all.sh has been added.
* tests/test_all.sh:
- Now it exits immediately if any test fails.
* Version 3.0.1 has been released.
2008.05.01 Kentaro FUKUCHI <fukuchi@megaui.net>
* qrencode.spec.in:
- Added the man page to the files section.
2008.04.30 Kentaro FUKUCHI <fukuchi@megaui.net>
* Version 3.0.0 has been released.
2008.04.23 Kentaro FUKUCHI <fukuchi@megaui.net>
* Version 3.0.0rc3 has been released.
- This will probably be the final release candidate, if all goes well.
2008.04.23 Kentaro FUKUCHI <fukuchi@megaui.net>
* split.c:
- Split_identifyMode() now uses isdigit() and isalnum() macros.
* qrinput.c:
- Error checks have been improved.
* qrenc.c, tests/view_qrcode.c:
- Return value checks have been added.
- Structured-append encode with version 0 now returns error.
* qrencode.[ch]:
- QRencode_encodeStructuredInput() -> QRencode_encodeInputStructured()
(for consistency with other QRencode_encode*Structured() functions)
* mask.c:
- A code block never called has been eliminated.
2008.04.14 Kentaro FUKUCHI <fukuchi@megaui.net>
* Version 3.0.0rc2 has been released.
2008.04.20 Kentaro FUKUCHI <fukuchi@megaui.net>
* qrencode.h:
- QR_MODE_NUL has been added to QRencodeMode. Basically it is used
only by Split_identifyMode().
* qrinput.[ch], split.c:
- QRinput_identifyMode() has been moved to split.c, changed to static
and now needs a hint.
* split.c:
- Auto-splitting has been improved.
* qrinput.c:
- A memory leak has been fixed.
* configure.ac:
- The "--enable-gprof" and "--enable-gcov" options have been added.
* Makefile.am:
- man1_MANS has been moved into the "if BUILD_TOOLS - endif" block.
2008.04.14 Kentaro FUKUCHI <fukuchi@megaui.net>
* Version 3.0.0rc1 has been released.
2008.04.14 Kentaro FUKUCHI <fukuchi@megaui.net>
* Bumped version to 3.0.0.
* qrencode.[ch]:
- QRcode_encodeInput() has changed the API. Previously it takes a
QRinput, version and level, but now it takes only a QRinput, because
QRinput holds the version and level in it. From 3.0.0, you should
set them by calling QRinput_setVersion() and
QRinput_setErrorCorrectionLevel(), or use QRinput_new2() to
instantiate a QRinput object.
2008.04.14 Kentaro FUKUCHI <fukuchi@megaui.net>
* qrspe.c:
- NULL check has been added.
* split.[ch]:
- API changed.
* qrencode.c:
- Arguments (version and level) are now checked in QRcode_encodeMask().
Internal functions trust the arguments are valid.
- Error checks improved.
* qrinput.c:
- Error checks improved.
* qrencode.h:
- Documentation improvements.
2008.04.13 Kentaro FUKUCHI <fukuchi@megaui.net>
* qrencode.c, qrencode_innter.h, tests/view_qrcode.c:
- Changed API of QRcode_encodeMask().
* qrencode.[ch], qrinput.[ch], split.[ch]:
- Some functions now set errno appropriately.
2008.04.09 Kentaro FUKUCHI <fukuchi@megaui.net>
* qrencode.h, qrinput.c:
- QRinput_Struct_insertStructuredAppendHeaders() and
QRinput_insertStructuredAppendHeader now returns error, when the
input contains too many structured inputs.
* qrencode.c:
- QRcode_encodeInputToStructured() now returns NULL when
QRinput_splitQRinputToStruct() fails.
* tests/view_qrcode.c:
- Segmentation fault bug has been fixed. (see previous memo)
2008.04.08 Kentaro FUKUCHI <fukuchi@megaui.net>
* qrinput.c:
- Fixed a bug in QRinput_estimateBitStreamSizeOfEntry(). It could
overestimate the size.
* rscode.c:
- Optimized the order of the parameters equality test in init_rs().
* qrspec.c, qrspec.h:
- Added QRspec_clearCache().
* tests/test_estimatebit.c:
- Bug fixed in test_numbit3().
2008.04.07 Kentaro FUKUCHI <fukuchi@megaui.net>
* Bumped version to 2.1.0.
* Structured append is now supported (patches from Yusuke Mihara):
- Two new types, QRcode_List and QRinput_Struct, have been added.
- Following functions have been added:
- QRcode_encodeStructuredInput()
- QRcode_encodeStringStructured()
- QRcode_encodeString8bitStructured()
- Some functions to handle structured append symbols have been added.
See Doxygen-ized descriptions for the details.
* qrenc.c:
- "-S" option has been added for structured append.
* split.h:
- "extern" was dropped.
* qrinput.h, qrencode.h:
- Moved declarations of QRinput_{get,set}{Version,ErrorCorrectionLevel}
from qrinput.h to qrencode.h. Now they are publicly accessible.
* qrencode.h, qrinput.h, qrinput.c:
- Added QRinput_new2().
- QRinput_newEntry(), QRinput_freeEntry have been renamed to
QRinput_List_newEntry(), QRinput_List_freeEntry().
* split.c:
- Bug fix: Split_eat8() now eats at least 1 byte. Previously it could
produce a 0-length input entry.
2008.01.23 Kentaro FUKUCHI <fukuchi@megaui.net>
* qrencode.1.in, Makefile.am, configure.ac:
- Manpage of qrencode has been added.
* qrenc.c, tests/view_qrcode.c:
- Usage message has been updated.
2008.01.18 Kentaro FUKUCHI <fukuchi@megaui.net>
* split.c:
- Bug fixes.
* tests/test_split.c:
- Followed recent API changes.
- Added new test "test_toupper()".
* qrenc.c, tests/view_qrcode.c:
- Source-level compatibility has been improved.
- view_qrcode now accepts stdin like qrencode.
- Usage message has been updated/fixed.
* Copyright year has been updated.
2008.01.16 Kentaro FUKUCHI <fukuchi@megaui.net>
* qrinput.c, split.c:
- Case-sensitive mode becomes now default mode.
- Alphabet-Numeric mode now encodes only upper-case alphabet and
numeric characters. If "-i" option is given, split.c converts
lower-case characters to upper-case characters at first.
* qrenc.c, tests/view_qrcode.c:
- Case-sensitive mode becomes now default mode.
- Option "-i" has been added.
2007.12.14 Kentaro FUKUCHI <fukuchi@megaui.net>
* tests/test_qrencode.c:
- New test has been added.
* tests/view_qrcode.c:
- Options supported.
- Default mask is now -1 (auto).
2007.12.13 Kentaro FUKUCHI <fukuchi@megaui.net>
* qrencode.[ch]:
- QRcode_writeFormatInformation now returns a number of dark modules.
* mask.c:
- The mask evaluation function now writes format information before
evaluation. (Philippe Delcroix)
* split.[ch]:
- Case-sensitive mode has been added to QRcode_encodeString().
- "-8" option has been added to qrenc.c.
- "-c" now encodes in improved case-sensitive mode.
* tests/test_{split,qrencode}.c:
- test_split*() have been moved to test_split.c.
2007.12.10 Kentaro FUKUCHI <fukuchi@megaui.net>
* Bumped version to 2.0.0.
* Merged to main trunk.
* mask.[ch], split.[ch]:
- Masking functions and splitString functions are separated from
qrencode.c.
* mqrspec.[ch]:
- Specification of Micro QR code has been added, but not used yet.
2007.03.24 Kentaro FUKUCHI <fukuchi@megaui.net>
* Bumped version to 1.0.2.
2007.03.24 Kentaro FUKUCHI <fukuchi@megaui.net>
* qrencode.c (QRcode_splitStringToQRinput):
- a small bug fix. (Thanks to NANKI Haruo)
* qrencode.h:
- "extern "C"" barrier has been added for C++.
* test/view_qrcode.c:
- a typo fix.
2006.12.27 Kentaro FUKUCHI <fukuchi@megaui.net>
* Bumped version to 1.0.1.
2006.12.27 Kentaro FUKUCHI <fukuchi@megaui.net>
* qrenc.c, qrencode.[ch]:
- Added force 8-bit encoding mode.
* Makefile.am :
- Automake/Autoconf files have been added to dist-package.
2006.12.17 Kentaro FUKUCHI <fukuchi@megaui.net>
* qrencode_inner.h, qrencode.c:
- Removed unused member variable "b2" from QRRawCode.
* configure.ac, Makefile.am, acinclude.m4:
- Better configuration of libpng. (now uses pkg-config correctly)
2006.12.02 Kentaro FUKUCHI <fukuchi@megaui.net>
* Bumped version to 1.0.0.