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]

Reply via email to