Hello community, here is the log from the commit of package bitmap for openSUSE:Factory checked in at 2015-01-21 22:14:06 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/bitmap (Old) and /work/SRC/openSUSE:Factory/.bitmap.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "bitmap" Changes: -------- --- /work/SRC/openSUSE:Factory/bitmap/bitmap.changes 2014-02-07 10:25:35.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.bitmap.new/bitmap.changes 2015-01-22 00:49:28.000000000 +0100 @@ -1,0 +2,20 @@ +Tue Jan 20 18:47:23 UTC 2015 - [email protected] + +- update to version 1.0.8: + * Stop memory leak in XmuWriteBitmapDataToFile() + * Stop memory leaks from XtNewString(StripFilename(filename)) + * autogen.sh: Honor NOCONFIGURE=1 + * configure: Drop AM_MAINTAINER_MODE + * Use '& 7' instead '% 8' to silence clang analyzer warning + * Demacro modernization of NewSList to plug a memory leak during + error handling + * Silence -Wbad-function-cast + * Avoid shadow declarations + * assert to avoid a NULL dereference + * Print which option was in error along with usage message + * config: replace deprecated use of AC_OUTPUT with + AC_CONFIG_FILES + * Use table markup in preference to various low-level + constructions + +------------------------------------------------------------------- Old: ---- bitmap-1.0.7.tar.bz2 New: ---- bitmap-1.0.8.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ bitmap.spec ++++++ --- /var/tmp/diff_new_pack.7PuOW8/_old 2015-01-22 00:49:29.000000000 +0100 +++ /var/tmp/diff_new_pack.7PuOW8/_new 2015-01-22 00:49:29.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package bitmap # -# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: bitmap -Version: 1.0.7 +Version: 1.0.8 Release: 0 Summary: X bitmap editor and converter utilities License: X11 ++++++ bitmap-1.0.7.tar.bz2 -> bitmap-1.0.8.tar.bz2 ++++++ ++++ 4928 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/bitmap-1.0.7/Bitmap.c new/bitmap-1.0.8/Bitmap.c --- old/bitmap-1.0.7/Bitmap.c 2013-05-18 06:12:46.000000000 +0200 +++ new/bitmap-1.0.8/Bitmap.c 2015-01-17 06:57:09.000000000 +0100 @@ -41,6 +41,7 @@ #include "BitmapP.h" #include "Bitmap.h" +#include <assert.h> #include <stdio.h> #include <math.h> @@ -686,10 +687,14 @@ else file = fopen(filename, "w+"); - if (!basename || !strcmp(basename, "") || !strcmp(basename, "-")) - basename = StripFilename(filename); - if (file) { + String new_basename; + + if (!basename || !strcmp(basename, "") || !strcmp(basename, "-")) + basename = new_basename = StripFilename(filename); + else + new_basename = NULL; + fprintf(file, "#define %s_width %d\n", basename, width); fprintf(file, "#define %s_height %d\n", basename, height); if (QuerySet(x_hot, y_hot)) { @@ -708,6 +713,7 @@ if (file != stdout) fclose(file); + XtFree(new_basename); return BitmapSuccess; } @@ -902,20 +908,20 @@ { int status; XImage *image, *buffer; - unsigned char *image_data; - char *buffer_data; + unsigned char *image_data2; + char *buffer_data2; unsigned int width, height; int x_hot, y_hot; status = XmuReadBitmapDataFromFile(new->bitmap.filename, - &width, &height, &image_data, + &width, &height, &image_data2, &x_hot, &y_hot); if (status == BitmapSuccess) { - buffer_data = CreateCleanData(Length(width, height)); + buffer_data2 = CreateCleanData(Length(width, height)); - image = CreateBitmapImage(new, (char *)image_data, width, height); - buffer = CreateBitmapImage(new, buffer_data, width, height); + image = CreateBitmapImage(new, (char *)image_data2, width, height); + buffer = CreateBitmapImage(new, buffer_data2, width, height); TransferImageData(new->bitmap.image, buffer); @@ -1102,7 +1108,7 @@ XtFree(BW->bitmap.filename); BW->bitmap.filename = XtNewString(filename); XtFree(BW->bitmap.basename); - BW->bitmap.basename= XtNewString(StripFilename(filename)); + BW->bitmap.basename = StripFilename(filename); BWUnmark(w); @@ -1198,7 +1204,7 @@ XtFree(BW->bitmap.filename); BW->bitmap.filename = XtNewString(filename); XtFree(BW->bitmap.basename); - BW->bitmap.basename= XtNewString(StripFilename(filename)); + BW->bitmap.basename = StripFilename(filename); } if (!basename) basename = BW->bitmap.basename; else { @@ -1238,6 +1244,8 @@ String end; *str = XtNewString(BW->bitmap.filename); + assert(*str); + end = strrchr(*str, '/'); if (end) 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/bitmap-1.0.7/ChangeLog new/bitmap-1.0.8/ChangeLog --- old/bitmap-1.0.7/ChangeLog 2013-05-18 06:13:29.000000000 +0200 +++ new/bitmap-1.0.8/ChangeLog 2015-01-17 06:58:04.000000000 +0100 @@ -1,3 +1,200 @@ +commit 2f5eae70cd2e9c1e09dcbd8a2a58eaf58207fe00 +Author: Alan Coopersmith <[email protected]> +Date: Fri Jan 16 21:57:03 2015 -0800 + + bitmap 1.0.8 + + Signed-off-by: Alan Coopersmith <[email protected]> + +commit dacae58710f7033d5295c50cf6262783350e938d +Author: Alan Coopersmith <[email protected]> +Date: Mon Dec 29 18:28:00 2014 -0800 + + Stop memory leak in XmuWriteBitmapDataToFile() + + StripFilename() allocates a new string for its result, so after we're + done with it, free it instead of just losing the pointer to it. + + Fixes errors found by Oracle Parfait 1.5.1 bug checking tool: + + Error: Memory leak (CWE 401) + Memory leak of pointer basename allocated with StripFilename(filename) + at line 712 of Bitmap.c in function 'XmuWriteBitmapDataToFile'. + basename allocated at line 691 with StripFilename(filename). + basename leaks when i >= data_length at line 702. + Error: Memory leak (CWE 401) + Memory leak of pointer basename allocated with StripFilename(filename) + at line 715 of Bitmap.c in function 'XmuWriteBitmapDataToFile'. + basename allocated at line 691 with StripFilename(filename). + + Signed-off-by: Alan Coopersmith <[email protected]> + +commit 8df1a843a3a9f92399113688a350873a141bf995 +Author: Alan Coopersmith <[email protected]> +Date: Mon Dec 29 18:15:57 2014 -0800 + + Stop memory leaks from XtNewString(StripFilename(filename)) + + StripFilename() already allocates a new string for its result, + we don't need to duplicate it and then lose the pointer to the + first one. + + Fixes errors found by Oracle Parfait 1.5.1 bug checking tool: + + Error: Memory leak (CWE 401) + Memory leak of pointer pointer allocated with StripFilename(filename) + at line 1119 of Bitmap.c in function 'BWReadFile'. + pointer allocated at line 1106 with StripFilename(filename). + pointer leaks when StripFilename(filename) != NULL at line 1106. + Error: Memory leak (CWE 401) + Memory leak of pointer pointer allocated with StripFilename(filename) + at line 1119 of Bitmap.c in function 'BWReadFile'. + pointer allocated at line 1106 with StripFilename(filename). + + Error: Memory leak (CWE 401) + Memory leak of pointer pointer allocated with StripFilename(filename) + at line 1222 of Bitmap.c in function 'BWWriteFile'. + pointer allocated at line 1202 with StripFilename(filename). + pointer leaks when StripFilename(filename) != NULL at line 1202. + Error: Memory leak (CWE 401) + Memory leak of pointer pointer allocated with StripFilename(filename) + at line 1222 of Bitmap.c in function 'BWWriteFile'. + pointer allocated at line 1202 with StripFilename(filename). + + Signed-off-by: Alan Coopersmith <[email protected]> + +commit a0db0f6c7996b282aa9027d3b670597d88fe3353 +Author: Alan Coopersmith <[email protected]> +Date: Sun Jun 1 21:03:14 2014 -0700 + + autogen.sh: Honor NOCONFIGURE=1 + + See http://people.gnome.org/~walters/docs/build-api.txt + + Signed-off-by: Alan Coopersmith <[email protected]> + +commit 8fb1efccb5f24eab51cefafedb1a5a60217db35f +Author: Alan Coopersmith <[email protected]> +Date: Sun Jun 1 21:03:13 2014 -0700 + + configure: Drop AM_MAINTAINER_MODE + + Signed-off-by: Alan Coopersmith <[email protected]> + +commit d0911d130b870da0951b56f5103c6b4dfb9eeb28 +Author: Jeremy Huddleston Sequoia <[email protected]> +Date: Wed Jan 1 23:02:48 2014 -0800 + + Use '& 7' instead '% 8' to silence clang analyzer warning + + Graphics.c:569:10: warning: The result of the '<<' expression is undefined + while (!QueryFlood(BW, x, y, value) && (x < x_right)) + ^~~~~~~~~~~~~~~~~~~~~~~~~~~ + Graphics.c:470:7: note: expanded from macro 'QueryFlood' + ((GetBit(BW->bitmap.image, x, y) !=\ + ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Graphics.c:66:9: note: expanded from macro 'GetBit' + (1 << ((x) % 8))) ? 1 : 0)) + ~~^~~~~~~~~~~~ + + Signed-off-by: Jeremy Huddleston Sequoia <[email protected]> + +commit e3fe79502a4a1b0f0b148659948d541ce26ed7bf +Author: Jeremy Huddleston Sequoia <[email protected]> +Date: Wed Jan 1 22:58:23 2014 -0800 + + Demacro modernization of NewSList to plug a memory leak during error handling + + atobm.c:248:6: warning: Potential leak of memory pointed to by 'slist' + NewSList (); + ^~~~~~~~~~~ + atobm.c:209:3: note: expanded from macro 'NewSList' + fprintf (stderr, "%s: unable to allocate char array\n", \ + ^~~~~~~ + atobm.c:259:6: warning: Potential leak of memory pointed to by 'old' + NewSList (); + ^~~~~~~~~~~ + atobm.c:209:3: note: expanded from macro 'NewSList' + fprintf (stderr, "%s: unable to allocate char array\n", \ + ^~~~~~~ + atobm.c:259:6: warning: Potential leak of memory pointed to by 'slist' + NewSList (); + ^~~~~~~~~~~ + atobm.c:209:3: note: expanded from macro 'NewSList' + fprintf (stderr, "%s: unable to allocate char array\n", \ + ^~~~~~~ + 3 warnings generated. + + Signed-off-by: Jeremy Huddleston Sequoia <[email protected]> + +commit a59538d5d57bd2f8b2101e398a97fe8466b8eef7 +Author: Jeremy Huddleston Sequoia <[email protected]> +Date: Wed Jan 1 22:43:26 2014 -0800 + + Silence -Wbad-function-cast + + Signed-off-by: Jeremy Huddleston Sequoia <[email protected]> + +commit e7086abb4576a777a4b0aff8553047077cdd08ce +Author: Jeremy Huddleston Sequoia <[email protected]> +Date: Wed Jan 1 22:29:45 2014 -0800 + + Avoid shadow declarations + + Bitmap.c:906:17: warning: declaration shadows a local variable [-Wshadow] + unsigned char *image_data; + ^ + Bitmap.c:799:11: note: previous declaration is here + char *image_data, *buffer_data; + ^ + Bitmap.c:907:8: warning: declaration shadows a local variable [-Wshadow] + char *buffer_data; + ^ + Bitmap.c:799:24: note: previous declaration is here + char *image_data, *buffer_data; + ^ + + Signed-off-by: Jeremy Huddleston Sequoia <[email protected]> + +commit 1e236565459d10c7ad85ebed285d2acfc4b15b69 +Author: Jeremy Huddleston Sequoia <[email protected]> +Date: Wed Jan 1 22:27:36 2014 -0800 + + assert to avoid a NULL dereference + + Bitmap.c:1246:8: warning: Dereference of null pointer + **str = '\0'; + ~~~~~~^~~~~~ + 1 warning generated. + + Signed-off-by: Jeremy Huddleston Sequoia <[email protected]> + +commit 15d326027827c168511f923e72c64e2131515e19 +Author: Alan Coopersmith <[email protected]> +Date: Mon Nov 4 23:14:22 2013 -0800 + + Print which option was in error along with usage message + + Signed-off-by: Alan Coopersmith <[email protected]> + Reviewed-by: Gaetan Nadon <[email protected]> + +commit 64bc2b97d408d6fea16716e37f7b5ff1661d57fd +Author: Gaetan Nadon <[email protected]> +Date: Fri Oct 25 21:51:37 2013 -0400 + + config: replace deprecated use of AC_OUTPUT with AC_CONFIG_FILES + + Fix Automake warning: AC_OUTPUT should be used without arguments. + www.gnu.org/software/autoconf/manual/autoconf.html#Configuration-Files + + Signed-off-by: Gaetan Nadon <[email protected]> + +commit a78fc882fac9a3334a77744be4c617b51997a5bb +Author: Eric S. Raymond <[email protected]> +Date: Thu Jun 6 14:24:08 2013 -0400 + + Use table markup in preference to various low-level constructions. + commit 10584a7e5f476c5adb5ec6de9f0b519380abd6df Author: Alan Coopersmith <[email protected]> Date: Fri May 17 21:12:44 2013 -0700 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/bitmap-1.0.7/Graphics.c new/bitmap-1.0.8/Graphics.c --- old/bitmap-1.0.7/Graphics.c 2013-05-18 06:12:46.000000000 +0200 +++ new/bitmap-1.0.8/Graphics.c 2015-01-17 06:57:09.000000000 +0100 @@ -57,13 +57,19 @@ # endif #endif +#ifdef __clang__ +/* clang doesn't like (int)floor(d) */ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wbad-function-cast" +#endif + /*****************************************************************************\ * Graphics * \*****************************************************************************/ #define GetBit(image, x, y)\ ((bit)((*(image->data + (x) / 8 + (y) * image->bytes_per_line) &\ - (1 << ((x) % 8))) ? 1 : 0)) + (1 << ((x) & 7))) ? 1 : 0)) #if 0 bit 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/bitmap-1.0.7/INSTALL new/bitmap-1.0.8/INSTALL --- old/bitmap-1.0.7/INSTALL 2013-05-18 06:13:29.000000000 +0200 +++ new/bitmap-1.0.8/INSTALL 2015-01-17 06:58:04.000000000 +0100 @@ -1,11 +1,13 @@ Installation Instructions ************************* -Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, -2006, 2007, 2008 Free Software Foundation, Inc. +Copyright (C) 1994-1996, 1999-2002, 2004-2011 Free Software Foundation, +Inc. - This file is free documentation; the Free Software Foundation gives -unlimited permission to copy, distribute and modify it. + Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. This file is offered as-is, +without warranty of any kind. Basic Installation ================== @@ -13,7 +15,11 @@ Briefly, the shell commands `./configure; make; make install' should configure, build, and install this package. The following more-detailed instructions are generic; see the `README' file for -instructions specific to this package. +instructions specific to this package. Some packages provide this +`INSTALL' file but do not implement all of the features documented +below. The lack of an optional feature in a given package is not +necessarily a bug. More recommendations for GNU packages can be found +in *note Makefile Conventions: (standards)Makefile Conventions. The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses @@ -42,7 +48,7 @@ you want to change it or regenerate `configure' using a newer version of `autoconf'. -The simplest way to compile this package is: + The simplest way to compile this package is: 1. `cd' to the directory containing the package's source code and type `./configure' to configure the package for your system. @@ -53,12 +59,22 @@ 2. Type `make' to compile the package. 3. Optionally, type `make check' to run any self-tests that come with - the package. + the package, generally using the just-built uninstalled binaries. 4. Type `make install' to install the programs and any data files and - documentation. + documentation. When installing into a prefix owned by root, it is + recommended that the package be configured and built as a regular + user, and only the `make install' phase executed with root + privileges. + + 5. Optionally, type `make installcheck' to repeat any self-tests, but + this time using the binaries in their final installed location. + This target does not install anything. Running this target as a + regular user, particularly if the prior `make install' required + root privileges, verifies that the installation completed + correctly. - 5. You can remove the program binaries and object files from the + 6. You can remove the program binaries and object files from the source code directory by typing `make clean'. To also remove the files that `configure' created (so you can compile the package for a different kind of computer), type `make distclean'. There is @@ -67,8 +83,15 @@ all sorts of other programs in order to regenerate files that came with the distribution. - 6. Often, you can also type `make uninstall' to remove the installed - files again. + 7. Often, you can also type `make uninstall' to remove the installed + files again. In practice, not all packages have tested that + uninstallation works correctly, even though it is required by the + GNU Coding Standards. + + 8. Some packages, particularly those that use Automake, provide `make + distcheck', which can by used by developers to test that all other + targets like `make install' and `make uninstall' work correctly. + This target is generally not run by end users. Compilers and Options ===================== @@ -93,7 +116,8 @@ own directory. To do this, you can use GNU `make'. `cd' to the directory where you want the object files and executables to go and run the `configure' script. `configure' automatically checks for the -source code in the directory that `configure' is in and in `..'. +source code in the directory that `configure' is in and in `..'. This +is known as a "VPATH" build. With a non-GNU `make', it is safer to compile the package for one architecture at a time in the source code directory. After you have @@ -120,7 +144,8 @@ By default, `make install' installs the package's commands under `/usr/local/bin', include files under `/usr/local/include', etc. You can specify an installation prefix other than `/usr/local' by giving -`configure' the option `--prefix=PREFIX'. +`configure' the option `--prefix=PREFIX', where PREFIX must be an +absolute file name. You can specify separate installation prefixes for architecture-specific files and architecture-independent files. If you @@ -131,15 +156,46 @@ In addition, if you use an unusual directory layout you can give options like `--bindir=DIR' to specify different values for particular kinds of files. Run `configure --help' for a list of the directories -you can set and what kinds of files go in them. +you can set and what kinds of files go in them. In general, the +default for these options is expressed in terms of `${prefix}', so that +specifying just `--prefix' will affect all of the other directory +specifications that were not explicitly provided. + + The most portable way to affect installation locations is to pass the +correct locations to `configure'; however, many packages provide one or +both of the following shortcuts of passing variable assignments to the +`make install' command line to change installation locations without +having to reconfigure or recompile. + + The first method involves providing an override variable for each +affected directory. For example, `make install +prefix=/alternate/directory' will choose an alternate location for all +directory configuration variables that were expressed in terms of +`${prefix}'. Any directories that were specified during `configure', +but not in terms of `${prefix}', must each be overridden at install +time for the entire installation to be relocated. The approach of +makefile variable overrides for each directory variable is required by +the GNU Coding Standards, and ideally causes no recompilation. +However, some platforms have known limitations with the semantics of +shared libraries that end up requiring recompilation when using this +method, particularly noticeable in packages that use GNU Libtool. + + The second method involves providing the `DESTDIR' variable. For +example, `make install DESTDIR=/alternate/directory' will prepend +`/alternate/directory' before all installation names. The approach of +`DESTDIR' overrides is not required by the GNU Coding Standards, and +does not work on platforms that have drive letters. On the other hand, +it does better at avoiding recompilation issues, and works well even +when some directory options were not specified in terms of `${prefix}' +at `configure' time. + +Optional Features +================= If the package supports it, you can cause programs to be installed with an extra prefix or suffix on their names by giving `configure' the option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. -Optional Features -================= - Some packages pay attention to `--enable-FEATURE' options to `configure', where FEATURE indicates an optional part of the package. They may also pay attention to `--with-PACKAGE' options, where PACKAGE @@ -152,6 +208,13 @@ you can use the `configure' options `--x-includes=DIR' and `--x-libraries=DIR' to specify their locations. + Some packages offer the ability to configure how verbose the +execution of `make' will be. For these packages, running `./configure +--enable-silent-rules' sets the default to minimal output, which can be +overridden with `make V=1'; while running `./configure +--disable-silent-rules' sets the default to verbose, which can be +overridden with `make V=0'. + Particular systems ================== @@ -159,10 +222,15 @@ CC is not installed, it is recommended to use the following options in order to use an ANSI C compiler: - ./configure CC="cc -Ae" + ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" and if that doesn't work, install pre-built binaries of GCC for HP-UX. + HP-UX `make' updates targets which have the same time stamps as +their prerequisites, which makes it generally unusable when shipped +generated files such as `configure' are involved. Use GNU `make' +instead. + On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot parse its `<wchar.h>' header file. The option `-nodtk' can be used as a workaround. If GNU CC is not installed, it is therefore recommended @@ -174,6 +242,16 @@ ./configure CC="cc -nodtk" + On Solaris, don't put `/usr/ucb' early in your `PATH'. This +directory contains several dysfunctional programs; working variants of +these programs are available in `/usr/bin'. So, if you need `/usr/ucb' +in your `PATH', put it _after_ `/usr/bin'. + + On Haiku, software installed for all users goes in `/boot/common', +not `/usr/local'. It is recommended to use the following options: + + ./configure --prefix=/boot/common + Specifying the System Type ========================== @@ -189,7 +267,8 @@ where SYSTEM can have one of these forms: - OS KERNEL-OS + OS + KERNEL-OS See the file `config.sub' for the possible values of each field. If `config.sub' isn't included in this package, then this package doesn't @@ -277,7 +356,7 @@ `configure' can determine that directory automatically. `--prefix=DIR' - Use DIR as the installation prefix. *Note Installation Names:: + Use DIR as the installation prefix. *note Installation Names:: for more details, including other options available for fine-tuning the installation locations. 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/bitmap-1.0.7/atobm.c new/bitmap-1.0.8/atobm.c --- old/bitmap-1.0.7/atobm.c 2013-05-18 06:12:46.000000000 +0200 +++ new/bitmap-1.0.8/atobm.c 2015-01-17 06:57:09.000000000 +0100 @@ -42,9 +42,11 @@ static void doit(FILE *fp, const char *filename, const char *chars, int xhot, int yhot, const char *name); -static void _X_NORETURN -usage (void) +static void _X_NORETURN _X_COLD +usage (const char *msg) { + if (msg) + fprintf(stderr, "%s: %s\n", ProgramName, msg); fprintf (stderr, "usage: %s [-options ...] [filename]\n\n%s\n", ProgramName, "where options include:\n" @@ -55,6 +57,14 @@ exit (1); } +static void _X_NORETURN _X_COLD +missing_arg (const char *option) +{ + char msg[32]; + + snprintf(msg, sizeof(msg), "%s requires an argument", option); + usage(msg); +} static char * cify_name (char *name) @@ -106,23 +116,25 @@ filename = NULL; continue; case 'c': - if (++i >= argc) usage (); + if (++i >= argc) missing_arg("-chars"); chars = argv[i]; continue; case 'n': - if (++i >= argc) usage (); + if (++i >= argc) missing_arg("-name"); name = argv[i]; continue; case 'x': - if (++i >= argc) usage (); + if (++i >= argc) missing_arg("-xhot"); xhot = atoi (argv[i]); continue; case 'y': - if (++i >= argc) usage (); + if (++i >= argc) missing_arg("-yhot"); yhot = atoi (argv[i]); continue; default: - usage (); + fprintf(stderr, "%s: unrecognized option '%s'\n", + ProgramName, argv[i]); + usage (NULL); } } else { filename = arg; @@ -155,6 +167,31 @@ exit (0); } +struct _scan_list { + int allocated; + int used; + unsigned char *scanlines; + struct _scan_list *next; +}; + +#define NTOALLOC 16 +static inline struct _scan_list * +_new_scan_list(int bytes_per_scanline) { + struct _scan_list *slist = (struct _scan_list *) calloc (1, sizeof(*slist)); + if (!slist) { + return NULL; + } + slist->allocated = NTOALLOC * bytes_per_scanline; + slist->scanlines = (unsigned char *) calloc(slist->allocated, 1); + if (!slist->scanlines) { + free(slist); + return NULL; + } + slist->used = 0; + slist->next = NULL; + + return slist; +} static void doit (FILE *fp, @@ -173,34 +210,11 @@ (isascii(chars[1]) && isspace(chars[1]))) ? 0 : 1); int lineno = 0; int bytes_per_scanline = 0; - struct _scan_list { - int allocated; - int used; - unsigned char *scanlines; - struct _scan_list *next; - } *head = NULL, *slist = NULL; + struct _scan_list *head = NULL, *slist = NULL; static unsigned char masktable[] = { 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80 }; int padded = 0; -#define NTOALLOC 16 -#define NewSList() \ - slist = (struct _scan_list *) calloc (1, sizeof *slist); \ - if (!slist) { \ - fprintf (stderr, "%s: unable to allocate scan list\n", \ - ProgramName); \ - return; \ - } \ - slist->allocated = NTOALLOC * bytes_per_scanline; \ - slist->scanlines = (unsigned char *) calloc(slist->allocated, 1); \ - if (!slist->scanlines) { \ - fprintf (stderr, "%s: unable to allocate char array\n", \ - ProgramName); \ - return; \ - } \ - slist->used = 0; \ - slist->next = NULL; - while (1) { buf[0] = '\0'; lineno++; @@ -233,8 +247,12 @@ width = len; padded = ((width & 7) != 0); bytes_per_scanline = (len + 7) / 8; - NewSList (); - head = slist; + head = slist = _new_scan_list(bytes_per_scanline); + + if (!slist) { + fprintf (stderr, "%s: unable to allocate scan list\n", ProgramName); + return; + } } else if (width != len) { fprintf (stderr, "%s: line %d is %d characters wide instead of %d\n", @@ -244,8 +262,13 @@ if (slist->used + 1 >= slist->allocated) { struct _scan_list *old = slist; - NewSList (); - old->next = slist; + old->next = slist = _new_scan_list(bytes_per_scanline); + + if (!slist) { + fprintf (stderr, "%s: unable to allocate scan list\n", ProgramName); + free(old); + return; + } } /* okay, parse the line and stick values into the scanline array */ 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/bitmap-1.0.7/autogen.sh new/bitmap-1.0.8/autogen.sh --- old/bitmap-1.0.7/autogen.sh 2013-05-18 06:12:46.000000000 +0200 +++ new/bitmap-1.0.8/autogen.sh 2015-01-17 06:57:09.000000000 +0100 @@ -9,5 +9,6 @@ autoreconf -v --install || exit 1 cd $ORIGDIR || exit $? -$srcdir/configure --enable-maintainer-mode "$@" - +if test -z "$NOCONFIGURE"; then + $srcdir/configure "$@" +fi 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/bitmap-1.0.7/bmtoa.c new/bitmap-1.0.8/bmtoa.c --- old/bitmap-1.0.7/bmtoa.c 2013-05-18 06:12:46.000000000 +0200 +++ new/bitmap-1.0.8/bmtoa.c 2015-01-17 06:57:09.000000000 +0100 @@ -130,10 +130,16 @@ filename = NULL; continue; case 'c': - if (++i >= argc) usage (); + if (++i >= argc) { + fprintf(stderr, "%s: -chars requires an argument\n", + ProgramName); + usage (); + } chars = argv[i]; continue; default: + fprintf(stderr, "%s: unrecognized option '%s'\n", + ProgramName, argv[i]); usage (); } } else { 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/bitmap-1.0.7/compile new/bitmap-1.0.8/compile --- old/bitmap-1.0.7/compile 2013-05-18 06:12:52.000000000 +0200 +++ new/bitmap-1.0.8/compile 2015-01-17 06:57:15.000000000 +0100 @@ -3,7 +3,7 @@ scriptversion=2012-10-14.11; # UTC -# Copyright (C) 1999-2013 Free Software Foundation, Inc. +# Copyright (C) 1999-2014 Free Software Foundation, Inc. # Written by Tom Tromey <[email protected]>. # # This program is free software; you can redistribute it and/or modify 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/bitmap-1.0.7/config.h.in new/bitmap-1.0.8/config.h.in --- old/bitmap-1.0.7/config.h.in 2013-05-18 06:12:51.000000000 +0200 +++ new/bitmap-1.0.8/config.h.in 2015-01-17 06:57:14.000000000 +0100 @@ -33,9 +33,6 @@ /* Define to 1 if you have the <unistd.h> header file. */ #undef HAVE_UNISTD_H -/* Define to 1 if your C compiler doesn't accept -c and -o together. */ -#undef NO_MINUS_C_MINUS_O - /* Name of package */ #undef PACKAGE 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/bitmap-1.0.7/configure.ac new/bitmap-1.0.8/configure.ac --- old/bitmap-1.0.7/configure.ac 2013-05-18 06:12:46.000000000 +0200 +++ new/bitmap-1.0.8/configure.ac 2015-01-17 06:57:09.000000000 +0100 @@ -23,14 +23,13 @@ # Initialize Autoconf AC_PREREQ([2.60]) -AC_INIT([bitmap], [1.0.7], +AC_INIT([bitmap], [1.0.8], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [bitmap]) AC_CONFIG_SRCDIR([Makefile.am]) AC_CONFIG_HEADERS([config.h]) # Initialize Automake AM_INIT_AUTOMAKE([foreign dist-bzip2]) -AM_MAINTAINER_MODE # Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS m4_ifndef([XORG_MACROS_VERSION], @@ -56,7 +55,7 @@ # Obtain compiler/linker options from dependencies PKG_CHECK_MODULES(BMTOA, [x11 xmu xproto >= 7.0.17]) -PKG_CHECK_MODULES(ATOBM, [xproto >= 7.0.17]) +PKG_CHECK_MODULES(ATOBM, [xproto >= 7.0.25]) PKG_CHECK_MODULES(BITMAP, xbitmaps xaw7 xmu) PKG_CHECK_MODULES(APPDEFS, xt) @@ -67,5 +66,6 @@ [appdefaultdir="$withval"], [appdefaultdir="${xt_appdefaultdir}"]) AC_SUBST(appdefaultdir) -AC_OUTPUT([Makefile +AC_CONFIG_FILES([Makefile man/Makefile]) +AC_OUTPUT 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/bitmap-1.0.7/man/bitmap.man new/bitmap-1.0.8/man/bitmap.man --- old/bitmap-1.0.7/man/bitmap.man 2013-05-18 06:12:46.000000000 +0200 +++ new/bitmap-1.0.8/man/bitmap.man 2015-01-17 06:57:09.000000000 +0100 @@ -612,20 +612,23 @@ applications and used as a standard editing tool. The following are the resources provided by the bitmap widget. .sp -.nf +.TS +lb lb +l l. Bitmap Widget -Header file Bitmap.h -Class bitmapWidgetClass -Class Name Bitmap -Superclass Bitmap - +Header file Bitmap.h +Class bitmapWidgetClass +Class Name Bitmap +Superclass Bitmap +.TE All the Simple Widget resources plus .\|.\|. -.ta 1.6i 3.2i 4.8i +.TS +lb lb lb lb lb +l l l l l. Name Class Type Default Value - foreground Foreground Pixel XtDefaultForeground highlight Highlight Pixel XtDefaultForeground framing Framing Pixel XtDefaultForeground @@ -648,7 +651,7 @@ button5Function Button5Function DrawingFunction Invert filename Filename String None ("") basename Basename String None ("") -.fi +.TE .SH AUTHOR Davor Matic, MIT X Consortium 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/bitmap-1.0.7/missing new/bitmap-1.0.8/missing --- old/bitmap-1.0.7/missing 2013-05-18 06:12:52.000000000 +0200 +++ new/bitmap-1.0.8/missing 2015-01-17 06:57:15.000000000 +0100 @@ -1,9 +1,9 @@ #! /bin/sh # Common wrapper for a few potentially missing GNU programs. -scriptversion=2012-06-26.16; # UTC +scriptversion=2013-10-28.13; # UTC -# Copyright (C) 1996-2013 Free Software Foundation, Inc. +# Copyright (C) 1996-2014 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard <[email protected]>, 1996. # This program is free software; you can redistribute it and/or modify @@ -160,7 +160,7 @@ ;; autom4te*) echo "You might have modified some maintainer files that require" - echo "the 'automa4te' program to be rebuilt." + echo "the 'autom4te' program to be rebuilt." program_details 'autom4te' ;; bison*|yacc*) -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
