Hello community, here is the log from the commit of package qrencode for openSUSE:Factory checked in at 2013-12-23 22:19:44 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/qrencode (Old) and /work/SRC/openSUSE:Factory/.qrencode.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qrencode" Changes: -------- --- /work/SRC/openSUSE:Factory/qrencode/qrencode.changes 2013-07-30 16:08:38.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.qrencode.new/qrencode.changes 2013-12-23 22:19:45.000000000 +0100 @@ -1,0 +2,7 @@ +Sat Nov 16 20:56:12 UTC 2013 - [email protected] + +- Update to 3.4.3: + * New option "--rle" has been added to the command line tool. + * Bug fixes in the library and command line tool. + +------------------------------------------------------------------- Old: ---- qrencode-3.4.2.tar.bz2 New: ---- qrencode-3.4.3.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ qrencode.spec ++++++ --- /var/tmp/diff_new_pack.hnKXOM/_old 2013-12-23 22:19:45.000000000 +0100 +++ /var/tmp/diff_new_pack.hnKXOM/_new 2013-12-23 22:19:45.000000000 +0100 @@ -19,7 +19,7 @@ %define so_ver 3 Name: qrencode -Version: 3.4.2 +Version: 3.4.3 Release: 0 Summary: C library for encoding data in a QR Code symbol License: LGPL-2.1+ ++++++ qrencode-3.4.2.tar.bz2 -> qrencode-3.4.3.tar.bz2 ++++++ ++++ 1652 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/qrencode-3.4.2/ChangeLog new/qrencode-3.4.3/ChangeLog --- old/qrencode-3.4.2/ChangeLog 2013-03-01 10:13:16.000000000 +0100 +++ new/qrencode-3.4.3/ChangeLog 2013-08-12 03:56:13.000000000 +0200 @@ -1,3 +1,35 @@ +2013.07.29 Kentaro FUKUCHI <[email protected]> + [3.4] + * configure.ac, README, NEWS: + - Bumped version to 3.4.3. + +2013.07.16 Kentaro FUKUCHI <[email protected]> + * qrenc.c: + - missing break in switch. (Thanks to ßlúèÇhîp) + * qrinput.c: + - missing/redundant breaks in some switch statements. + +2013.06.17 Kentaro FUKUCHI <[email protected]> + * qrenc.c: + - Merged pull request #29. (Thanks to Daniel Dörrhöfer) + - Run length encoding has been made non-default. + - New option "--rle" has been instroduced to enable run length encoding + for SVG format. + +2013.03.30 Kentaro FUKUCHI <[email protected]> + * qrinput.c: + - Renamed a variable ("index") to avoid compile-time warning. (Thanks to + Emmanuel Blot) + - Range check improved. + * autogen.sh: + - bug fix.(Thanks to Emmanuel Blot) + +2013.03.26 Kentaro FUKUCHI <[email protected]> + * qrenc.c: + - Memory leak bug has been fixed. (Thanks to Hassan Hajji) + - Buffer overrun bug has been fixed. + - Code cleanups. + 2013.03.01 Kentaro FUKUCHI <[email protected]> * README, NEWS: - Documentation update. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/qrencode-3.4.2/NEWS new/qrencode-3.4.3/NEWS --- old/qrencode-3.4.2/NEWS 2013-03-01 03:32:14.000000000 +0100 +++ new/qrencode-3.4.3/NEWS 2013-08-12 03:56:56.000000000 +0200 @@ -1,11 +1,25 @@ libqrencode NEWS - Overview of changes ====================================== +Version 3.4.3 (2013.8.12) +------------------------ +* New option "--rle" has been added to the command line tool (Thanks to Daniel + Dörrhöfer) +* Bug fixes. (Thanks to Hassan Hajji, Emmanuel Blot, and ßlúèÇhîp) + +Release Note: +This release contains a couple of bug fixes and a new minor feature of the +command line tool. Some minor bugs in the library have been fixed. + +Run Length Encoding (RLE) for SVG output decreases the size of the output file, +but it makes complicated to edit the image by SVG editors. A newly introduced +command line option "--rle" enables RLE. RLE will not be applied if it is not +given. + Version 3.4.2 (2013.3.1) ------------------------ * Bug fix release. (Thanks to chisj, vlad417, Petr and Viona) - Release Note: Micro QR Code encoder had a bug that caused incorrect output (issue #25). Now the bug has been fixed. Memory leak bug (#24) and insufficient string splitting diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/qrencode-3.4.2/README new/qrencode-3.4.3/README --- old/qrencode-3.4.2/README 2013-03-01 09:32:23.000000000 +0100 +++ new/qrencode-3.4.3/README 2013-08-11 08:30:14.000000000 +0200 @@ -1,4 +1,4 @@ -libqrencode 3.4.2 - QR Code encoding library +libqrencode 3.4.3 - QR Code encoding library GENERAL INFORMATION =================== @@ -137,6 +137,8 @@ - improved text art patch Yann Droneaud - improved input validation patch Viona - bug fix patch for string splitting +Daniel Dörrhöfer - RLE option Shigeyuki Hirai, Paul Janssens, wangsai, Gavan Fantom, Matthew Baker, Rob Ryan, -Fred Steinhaeuser, Terry Burton, chisj, vlad417, Petr +Fred Steinhaeuser, Terry Burton, chisj, vlad417, Petr, Hassan Hajji, +Emmanuel Blot, ßlúèÇhîp - bug report / suggestion diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/qrencode-3.4.2/autogen.sh new/qrencode-3.4.3/autogen.sh --- old/qrencode-3.4.2/autogen.sh 2012-01-23 07:18:00.000000000 +0100 +++ new/qrencode-3.4.3/autogen.sh 2013-06-18 17:31:32.000000000 +0200 @@ -8,12 +8,13 @@ LIBTOOLIZE=libtoolize fi +ACLOCAL_OPT="" if [ -d /usr/local/share/aclocal ]; then - ACLOCAL_DIR=/usr/local/share/aclocal + ACLOCAL_OPT="-I /usr/local/share/aclocal" elif [ -d /opt/local/share/aclocal ]; then - ACLOCAL_DIR=/opt/local/share/aclocal + ACLOCAL_OPT="-I /opt/local/share/aclocal" elif [ -d /usr/share/aclocal ]; then - ACLOCAL_DIR=/usr/share/aclocal + ACLOCAL_OPT="-I /usr/share/aclocal" fi if [ ! -d use ]; then @@ -22,7 +23,7 @@ autoheader -aclocal -I $ACLOCAL_DIR +aclocal $ACLOCAL_OPT $LIBTOOLIZE --automake --copy automake --add-missing --copy diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/qrencode-3.4.2/configure.ac new/qrencode-3.4.3/configure.ac --- old/qrencode-3.4.2/configure.ac 2013-02-17 07:16:26.000000000 +0100 +++ new/qrencode-3.4.3/configure.ac 2013-07-29 11:16:49.000000000 +0200 @@ -2,7 +2,7 @@ MAJOR_VERSION=3 MINOR_VERSION=4 -MICRO_VERSION=2 +MICRO_VERSION=3 VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION AC_SUBST(MAJOR_VERSION) AC_SUBST(MINOR_VERSION) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/qrencode-3.4.2/qrenc.c new/qrencode-3.4.3/qrenc.c --- old/qrencode-3.4.2/qrenc.c 2013-02-17 07:16:26.000000000 +0100 +++ new/qrencode-3.4.3/qrenc.c 2013-08-11 08:33:01.000000000 +0200 @@ -1,10 +1,8 @@ -/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: t -*-*/ - /** * qrencode - QR Code encoder * * QR Code encoding tool - * Copyright (C) 2006-2012 Kentaro Fukuchi <[email protected]> + * Copyright (C) 2006-2013 Kentaro Fukuchi <[email protected]> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -41,6 +39,7 @@ static int margin = -1; static int dpi = 72; static int structured = 0; +static int rle = 0; static int micro = 0; static QRecLevel level = QR_ECLEVEL_L; static QRencodeMode hint = QR_MODE_8; @@ -75,6 +74,7 @@ {"casesensitive", no_argument , NULL, 'c'}, {"ignorecase" , no_argument , NULL, 'i'}, {"8bit" , no_argument , NULL, '8'}, + {"rle" , no_argument , &rle, 1}, {"micro" , no_argument , NULL, 'M'}, {"foreground" , required_argument, NULL, 'f'}, {"background" , required_argument, NULL, 'b'}, @@ -123,9 +123,10 @@ " -i, --ignorecase\n" " ignore case distinctions and use only upper-case characters.\n\n" " -8, --8bit encode entire data in 8-bit mode. -k, -c and -i will be ignored.\n\n" +" --rle enable run-length encoding for SVG.\n\n" " -M, --micro encode in a Micro QR Code. (experimental)\n\n" -" --foreground=RRGGBB[AA]\n" -" --background=RRGGBB[AA]\n" +" --foreground=RRGGBB[AA]\n" +" --background=RRGGBB[AA]\n" " specify foreground/background color in hexadecimal notation.\n" " 6-digit (RGB) or 8-digit (RGBA) form are supported.\n" " Color output support available only in PNG and SVG.\n" @@ -285,6 +286,10 @@ } palette = (png_colorp) malloc(sizeof(png_color) * 2); + if(palette == NULL) { + fprintf(stderr, "Failed to allocate memory.\n"); + exit(EXIT_FAILURE); + } palette[0].red = fg_color[0]; palette[0].green = fg_color[1]; palette[0].blue = fg_color[2]; @@ -350,6 +355,7 @@ fclose(fp); free(row); + free(palette); return 0; } @@ -475,25 +481,35 @@ for(y=0; y<qrcode->width; y++) { row = (p+(y*qrcode->width)); - /* simple RLE */ - pen = 0; - x0 = 0; - for(x=0; x<qrcode->width; x++) { - if( !pen ) { - pen = *(row+x)&0x1; - x0 = x; - } else { - if(!(*(row+x)&0x1)) { - writeSVG_writeRect(fp, x0 + margin, y + margin, x-x0, fg, fg_opacity); - pen = 0; + if( !rle ) { + /* no RLE */ + for(x=0; x<qrcode->width; x++) { + if(*(row+x)&0x1) { + writeSVG_writeRect(fp, margin + x, + margin + y, 1, + fg, fg_opacity); } } - } - if( pen ) { - writeSVG_writeRect(fp, x0 + margin, y + margin, qrcode->width - x0, fg, fg_opacity); + } else { + /* simple RLE */ + pen = 0; + x0 = 0; + for(x=0; x<qrcode->width; x++) { + if( !pen ) { + pen = *(row+x)&0x1; + x0 = x; + } else { + if(!(*(row+x)&0x1)) { + writeSVG_writeRect(fp, x0 + margin, y + margin, x-x0, fg, fg_opacity); + pen = 0; + } + } + } + if( pen ) { + writeSVG_writeRect(fp, x0 + margin, y + margin, qrcode->width - x0, fg, fg_opacity); + } } } - /* Close QR data viewbox */ fputs( "\t\t</g>\n", fp ); @@ -626,7 +642,6 @@ FILE *fp; int x, y; int realwidth; - unsigned char *p; const char *white, *reset; if (use_ansi){ @@ -645,11 +660,10 @@ writeUTF8_margin(fp, realwidth, white, reset, use_ansi); /* data */ - p = qrcode->data; for(y = 0; y < qrcode->width; y += 2) { unsigned char *row1, *row2; - row1 = p + y*qrcode->width; - row2 = p + y*qrcode->width + qrcode->width; + row1 = qrcode->data + y*qrcode->width; + row2 = row1 + qrcode->width; fputs(white, fp); @@ -657,14 +671,19 @@ fputs("\342\226\210", fp); for (x = 0; x < qrcode->width; x++) { - if ((*(row1 + x) & 1) && (*(row2 + x) & 1)) - fputc(' ', fp); - else if (*(row1 + x) & 1) - fputs("\342\226\204", fp); - else if (*(row2 + x) & 1) - fputs("\342\226\200", fp); - else - fputs("\342\226\210", fp); + if(row1[x] & 1) { + if(y < qrcode->width - 1 && row2[x] & 1) { + fputc(' ', fp); + } else { + fputs("\342\226\204", fp); + } + } else { + if(y < qrcode->width - 1 && row2[x] & 1) { + fputs("\342\226\200", fp); + } else { + fputs("\342\226\210", fp); + } + } } for (x = 0; x < margin; x++) @@ -717,7 +736,7 @@ fp = openFile(outfile); realwidth = (qrcode->width + margin * 2) * 2; - buffer_s = realwidth + 1; + buffer_s = realwidth + 2; buffer = (char *)malloc( buffer_s ); if(buffer == NULL) { fprintf(stderr, "Failed to allocate memory.\n"); @@ -1042,6 +1061,7 @@ break; case 'S': structured = 1; + break; case 'k': hint = QR_MODE_KANJI; break; @@ -1054,6 +1074,9 @@ case '8': eightbit = 1; break; + case 'r': + rle = 1; + break; case 'M': micro = 1; break; @@ -1073,6 +1096,8 @@ usage(0, 0); exit(EXIT_SUCCESS); break; + case 0: + break; default: fprintf(stderr, "Try `qrencode --help' for more information.\n"); exit(EXIT_FAILURE); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/qrencode-3.4.2/qrencode.spec new/qrencode-3.4.3/qrencode.spec --- old/qrencode-3.4.2/qrencode.spec 2013-03-01 09:39:00.000000000 +0100 +++ new/qrencode-3.4.3/qrencode.spec 2013-08-12 03:57:36.000000000 +0200 @@ -1,4 +1,4 @@ -%define ver 3.4.2 +%define ver 3.4.3 %define rel 1 Name: qrencode diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/qrencode-3.4.2/qrinput.c new/qrencode-3.4.3/qrinput.c --- old/qrencode-3.4.2/qrinput.c 2012-11-26 13:48:55.000000000 +0100 +++ new/qrencode-3.4.3/qrinput.c 2013-07-29 11:32:19.000000000 +0200 @@ -237,14 +237,14 @@ * Insert a structured-append header to the head of the input data. * @param input input data. * @param size number of structured symbols. - * @param index index number of the symbol. (1 <= index <= size) + * @param number index number of the symbol. (1 <= number <= size) * @param parity parity among input data. (NOTE: each symbol of a set of structured symbols has the same parity data) * @retval 0 success. * @retval -1 error occurred and errno is set to indeicate the error. See Execptions for the details. * @throw EINVAL invalid parameter. * @throw ENOMEM unable to allocate memory. */ -__STATIC int QRinput_insertStructuredAppendHeader(QRinput *input, int size, int index, unsigned char parity) +__STATIC int QRinput_insertStructuredAppendHeader(QRinput *input, int size, int number, unsigned char parity) { QRinput_List *entry; unsigned char buf[3]; @@ -253,13 +253,13 @@ errno = EINVAL; return -1; } - if(index <= 0 || index > MAX_STRUCTURED_SYMBOLS) { + if(number <= 0 || number > size) { errno = EINVAL; return -1; } buf[0] = (unsigned char)size; - buf[1] = (unsigned char)index; + buf[1] = (unsigned char)number; buf[2] = parity; entry = QRinput_List_newEntry(QR_MODE_STRUCTURE, 3, buf); if(entry == NULL) { @@ -928,7 +928,6 @@ break; case QR_MODE_FNC1FIRST: return MODE_INDICATOR_SIZE; - break; case QR_MODE_FNC1SECOND: return MODE_INDICATOR_SIZE + 8; default: @@ -1103,6 +1102,7 @@ break; case QR_MODE_FNC1SECOND: ret = QRinput_encodeModeFNC1Second(entry, version); + break; default: break; } -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
