Hello community, here is the log from the commit of package libXfixes for openSUSE:Factory checked in at 2013-06-05 11:56:32 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libXfixes (Old) and /work/SRC/openSUSE:Factory/.libXfixes.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libXfixes" Changes: -------- --- /work/SRC/openSUSE:Factory/libXfixes/libXfixes.changes 2013-04-14 10:34:29.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.libXfixes.new/libXfixes.changes 2013-06-05 11:56:34.000000000 +0200 @@ -1,0 +2,7 @@ +Wed May 29 22:45:00 UTC 2013 - [email protected] + +- Update to version 5.0.1: + This bug fix release includes the fix for the recently announced + CVE-2013-1983, along with some other cleanups & warning fixes. + +------------------------------------------------------------------- Old: ---- libXfixes-5.0.tar.bz2 New: ---- libXfixes-5.0.1.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libXfixes.spec ++++++ --- /var/tmp/diff_new_pack.zkfsls/_old 2013-06-05 11:56:35.000000000 +0200 +++ /var/tmp/diff_new_pack.zkfsls/_new 2013-06-05 11:56:35.000000000 +0200 @@ -18,7 +18,7 @@ Name: libXfixes %define lname libXfixes3 -Version: 5.0 +Version: 5.0.1 Release: 0 Summary: X11 miscellaneous "fixes" extension library License: MIT ++++++ libXfixes-5.0.tar.bz2 -> libXfixes-5.0.1.tar.bz2 ++++++ ++++ 40142 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/libXfixes-5.0/ChangeLog new/libXfixes-5.0.1/ChangeLog --- old/libXfixes-5.0/ChangeLog 2011-03-08 17:29:32.000000000 +0100 +++ new/libXfixes-5.0.1/ChangeLog 2013-05-29 06:11:47.000000000 +0200 @@ -1,3 +1,123 @@ +commit 0cb446962381f750e05d97bfb974ca1e32481d5d +Author: Alan Coopersmith <[email protected]> +Date: Tue May 28 21:11:10 2013 -0700 + + libXfixes 5.0.1 + + Signed-off-by: Alan Coopersmith <[email protected]> + +commit c480fe3271873ec7471b0cbd680f4dac18ca8904 +Author: Alan Coopersmith <[email protected]> +Date: Sat Apr 13 10:24:08 2013 -0700 + + integer overflow in XFixesGetCursorImage() [CVE-2013-1983] + + If the reported cursor dimensions or name length are too large, the + calculations to allocate memory for them may overflow, leaving us + writing beyond the bounds of the allocation. + + Reported-by: Ilja Van Sprundel <[email protected]> + Signed-off-by: Alan Coopersmith <[email protected]> + +commit b031e3b60fa1af9e49449f23d4a84395868be3ab +Author: Alan Coopersmith <[email protected]> +Date: Sat Apr 13 10:20:59 2013 -0700 + + Use _XEatDataWords to avoid overflow of _XEatData calculations + + rep.length is a CARD32, so rep.length << 2 could overflow in 32-bit builds + + Signed-off-by: Alan Coopersmith <[email protected]> + +commit f870dfb47da9d43d1750ea5e5fc9288c4158f7ad +Author: Alan Coopersmith <[email protected]> +Date: Sat Mar 9 09:26:05 2013 -0800 + + XFixesFetchRegionAndBounds: use nread in call to XReadPad + + We already went through the trouble of calculating a variable with the + amount to read, might as well use it instead of recalculating it. + + Also move initialization of the variable to the point it's needed/used + + Signed-off-by: Alan Coopersmith <[email protected]> + Reviewed-by: Peter Hutterer <[email protected]> + +commit ad2a06d4d3c60198bc40116623153f71a208a240 +Author: Alan Coopersmith <[email protected]> +Date: Sat Mar 9 09:18:14 2013 -0800 + + Remove duplicate declaration of XFixesExtensionName in Xfixesint.h + + Silences gcc warnings: + In file included from Region.c:26:0: + Xfixesint.h:52:13: warning: redundant redeclaration of 'XFixesExtensionName' [-Wredundant-decls] + Xfixesint.h:34:13: note: previous declaration of 'XFixesExtensionName' was here + + In file included from Cursor.c:49:0: + Xfixesint.h:52:13: warning: redundant redeclaration of 'XFixesExtensionName' [-Wredundant-decls] + Xfixesint.h:34:13: note: previous declaration of 'XFixesExtensionName' was here + + Signed-off-by: Alan Coopersmith <[email protected]> + Reviewed-by: Peter Hutterer <[email protected]> + +commit 73a0fbb479f5b7806a3dd0741be55c9abda76220 +Author: Alan Coopersmith <[email protected]> +Date: Fri Jan 18 23:10:01 2013 -0800 + + Replace deprecated Automake INCLUDES variable with AM_CPPFLAGS + + Excerpt https://lists.gnu.org/archive/html/automake/2012-12/msg00038.html + + - Support for the long-deprecated INCLUDES variable will be removed + altogether in Automake 1.14. The AM_CPPFLAGS variable should be + used instead. + + This variable was deprecated in Automake releases prior to 1.10, which is + the current minimum level required to build X. + + Signed-off-by: Alan Coopersmith <[email protected]> + +commit d6931eda2fe86566823437507b5d818458cfd002 +Author: Colin Walters <[email protected]> +Date: Wed Jan 4 17:37:06 2012 -0500 + + autogen.sh: Implement GNOME Build API + + http://people.gnome.org/~walters/docs/build-api.txt + + Signed-off-by: Adam Jackson <[email protected]> + +commit 945803cdf3442f60ea25763a84b940e11653a205 +Author: Adam Jackson <[email protected]> +Date: Tue Jan 15 14:28:48 2013 -0500 + + configure: Remove AM_MAINTAINER_MODE + + Signed-off-by: Adam Jackson <[email protected]> + +commit 991eb6dad335f4915de8bb2d36d82f0346ae88fb +Author: Peter Hutterer <[email protected]> +Date: Fri Feb 11 15:36:33 2011 +1000 + + man: remove "current", we're way past 1.0. + + Claiming "the current 1.0 release" when the library is already past version + 4 is a tad confusing. + + Signed-off-by: Peter Hutterer <[email protected]> + +commit ca7b0066fe6f315d2499338cd133e5b1e9d11236 +Author: Alan Coopersmith <[email protected]> +Date: Fri Sep 16 22:19:59 2011 -0700 + + Strip trailing whitespace + + Performed with: find * -type f | xargs perl -i -p -e 's{[ \t]+$}{}' + git diff -w & git diff -b show no diffs from this change + + Signed-off-by: Alan Coopersmith <[email protected]> + commit 54926675a9bbb732d3317316db4958e22922ea3f Author: Adam Jackson <[email protected]> Date: Mon Nov 22 14:50:13 2010 -0500 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/libXfixes-5.0/INSTALL new/libXfixes-5.0.1/INSTALL --- old/libXfixes-5.0/INSTALL 2011-03-08 17:29:32.000000000 +0100 +++ new/libXfixes-5.0.1/INSTALL 2013-05-29 06:11:47.000000000 +0200 @@ -0,0 +1,291 @@ +Installation Instructions +************************* + +Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, +2006, 2007, 2008 Free Software Foundation, Inc. + + This file is free documentation; the Free Software Foundation gives +unlimited permission to copy, distribute and modify it. + +Basic Installation +================== + + 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. + + The `configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a `Makefile' in each directory of the package. +It may also create one or more `.h' files containing system-dependent +definitions. Finally, it creates a shell script `config.status' that +you can run in the future to recreate the current configuration, and a +file `config.log' containing compiler output (useful mainly for +debugging `configure'). + + It can also use an optional file (typically called `config.cache' +and enabled with `--cache-file=config.cache' or simply `-C') that saves +the results of its tests to speed up reconfiguring. Caching is +disabled by default to prevent problems with accidental use of stale +cache files. + + If you need to do unusual things to compile the package, please try +to figure out how `configure' could check whether to do them, and mail +diffs or instructions to the address given in the `README' so they can +be considered for the next release. If you are using the cache, and at +some point `config.cache' contains results you don't want to keep, you +may remove or edit it. + + The file `configure.ac' (or `configure.in') is used to create +`configure' by a program called `autoconf'. You need `configure.ac' if +you want to change it or regenerate `configure' using a newer version +of `autoconf'. + +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. + + Running `configure' might take a while. While running, it prints + some messages telling which features it is checking for. + + 2. Type `make' to compile the package. + + 3. Optionally, type `make check' to run any self-tests that come with + the package. + + 4. Type `make install' to install the programs and any data files and + documentation. + + 5. 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 + also a `make maintainer-clean' target, but that is intended mainly + for the package's developers. If you use it, you may have to get + 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. + +Compilers and Options +===================== + + Some systems require unusual options for compilation or linking that +the `configure' script does not know about. Run `./configure --help' +for details on some of the pertinent environment variables. + + You can give `configure' initial values for configuration parameters +by setting variables in the command line or in the environment. Here +is an example: + + ./configure CC=c99 CFLAGS=-g LIBS=-lposix + + *Note Defining Variables::, for more details. + +Compiling For Multiple Architectures +==================================== + + You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +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 `..'. + + 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 +installed the package for one architecture, use `make distclean' before +reconfiguring for another architecture. + + On MacOS X 10.5 and later systems, you can create libraries and +executables that work on multiple system types--known as "fat" or +"universal" binaries--by specifying multiple `-arch' options to the +compiler but only a single `-arch' option to the preprocessor. Like +this: + + ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CPP="gcc -E" CXXCPP="g++ -E" + + This is not guaranteed to produce working output in all cases, you +may have to build one architecture at a time and combine the results +using the `lipo' tool if you have problems. + +Installation Names +================== + + 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'. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +pass the option `--exec-prefix=PREFIX' to `configure', the package uses +PREFIX as the prefix for installing programs and libraries. +Documentation and other data files still use the regular prefix. + + 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. + + 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 +is something like `gnu-as' or `x' (for the X Window System). The +`README' should mention any `--enable-' and `--with-' options that the +package recognizes. + + For packages that use the X Window System, `configure' can usually +find the X include and library files automatically, but if it doesn't, +you can use the `configure' options `--x-includes=DIR' and +`--x-libraries=DIR' to specify their locations. + +Particular systems +================== + + On HP-UX, the default C compiler is not ANSI C compatible. If GNU +CC is not installed, it is recommended to use the following options in +order to use an ANSI C compiler: + + ./configure CC="cc -Ae" + +and if that doesn't work, install pre-built binaries of GCC for HP-UX. + + 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 +to try + + ./configure CC="cc" + +and if that doesn't work, try + + ./configure CC="cc -nodtk" + +Specifying the System Type +========================== + + There may be some features `configure' cannot figure out +automatically, but needs to determine by the type of machine the package +will run on. Usually, assuming the package is built to be run on the +_same_ architectures, `configure' can figure that out, but if it prints +a message saying it cannot guess the machine type, give it the +`--build=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name which has the form: + + CPU-COMPANY-SYSTEM + +where SYSTEM can have one of these forms: + + 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 +need to know the machine type. + + If you are _building_ compiler tools for cross-compiling, you should +use the option `--target=TYPE' to select the type of system they will +produce code for. + + If you want to _use_ a cross compiler, that generates code for a +platform different from the build platform, you should specify the +"host" platform (i.e., that on which the generated programs will +eventually be run) with `--host=TYPE'. + +Sharing Defaults +================ + + If you want to set default values for `configure' scripts to share, +you can create a site shell script called `config.site' that gives +default values for variables like `CC', `cache_file', and `prefix'. +`configure' looks for `PREFIX/share/config.site' if it exists, then +`PREFIX/etc/config.site' if it exists. Or, you can set the +`CONFIG_SITE' environment variable to the location of the site script. +A warning: not all `configure' scripts look for a site script. + +Defining Variables +================== + + Variables not defined in a site shell script can be set in the +environment passed to `configure'. However, some packages may run +configure again during the build, and the customized values of these +variables may be lost. In order to avoid this problem, you should set +them in the `configure' command line, using `VAR=value'. For example: + + ./configure CC=/usr/local2/bin/gcc + +causes the specified `gcc' to be used as the C compiler (unless it is +overridden in the site shell script). + +Unfortunately, this technique does not work for `CONFIG_SHELL' due to +an Autoconf bug. Until the bug is fixed you can use this workaround: + + CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash + +`configure' Invocation +====================== + + `configure' recognizes the following options to control how it +operates. + +`--help' +`-h' + Print a summary of all of the options to `configure', and exit. + +`--help=short' +`--help=recursive' + Print a summary of the options unique to this package's + `configure', and exit. The `short' variant lists options used + only in the top level, while the `recursive' variant lists options + also present in any nested packages. + +`--version' +`-V' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`--cache-file=FILE' + Enable the cache: use and save the results of the tests in FILE, + traditionally `config.cache'. FILE defaults to `/dev/null' to + disable caching. + +`--config-cache' +`-C' + Alias for `--cache-file=config.cache'. + +`--quiet' +`--silent' +`-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to `/dev/null' (any error + messages will still be shown). + +`--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. + +`--prefix=DIR' + Use DIR as the installation prefix. *Note Installation Names:: + for more details, including other options available for fine-tuning + the installation locations. + +`--no-create' +`-n' + Run the configure checks, but stop before creating any output + files. + +`configure' also accepts some other, not widely useful, options. Run +`configure --help' for more details. + 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/libXfixes-5.0/Makefile.am new/libXfixes-5.0.1/Makefile.am --- old/libXfixes-5.0/Makefile.am 2010-11-22 17:57:43.000000000 +0100 +++ new/libXfixes-5.0.1/Makefile.am 2013-05-29 06:11:24.000000000 +0200 @@ -1,6 +1,6 @@ -# +# # Copyright © 2003 Keith Packard, Noah Levitt -# +# # Permission to use, copy, modify, distribute, and sell this software and its # documentation for any purpose is hereby granted without fee, provided that # the above copyright notice appear in all copies and that both that @@ -10,7 +10,7 @@ # specific, written prior permission. Keith Packard makes no # representations about the suitability of this software for any purpose. It # is provided "as is" without express or implied warranty. -# +# # KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, # INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO # EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR 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/libXfixes-5.0/config.h.in new/libXfixes-5.0.1/config.h.in --- old/libXfixes-5.0/config.h.in 2011-03-08 17:29:32.000000000 +0100 +++ new/libXfixes-5.0.1/config.h.in 2013-05-29 06:11:33.000000000 +0200 @@ -30,6 +30,9 @@ /* Define to 1 if you have the <unistd.h> header file. */ #undef HAVE_UNISTD_H +/* Define to 1 if you have the `_XEatDataWords' function. */ +#undef HAVE__XEATDATAWORDS + /* Define to the sub-directory in which libtool stores uninstalled libraries. */ #undef LT_OBJDIR 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/libXfixes-5.0/configure.ac new/libXfixes-5.0.1/configure.ac --- old/libXfixes-5.0/configure.ac 2011-03-08 17:27:53.000000000 +0100 +++ new/libXfixes-5.0.1/configure.ac 2013-05-29 06:11:24.000000000 +0200 @@ -32,14 +32,13 @@ # that 'revision' number appears in Xfixes.h and has to be manually # synchronized. # -AC_INIT(libXfixes, [5.0], +AC_INIT(libXfixes, [5.0.1], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [libXfixes]) AC_CONFIG_SRCDIR([Makefile.am]) AC_CONFIG_HEADERS([config.h]) # Initialize Automake AM_INIT_AUTOMAKE([foreign dist-bzip2]) -AM_MAINTAINER_MODE # Initialize libtool AC_PROG_LIBTOOL @@ -58,6 +57,13 @@ # Obtain compiler/linker options for depedencies PKG_CHECK_MODULES(FIXESEXT, xproto [fixesproto >= $FIXESEXT_VERSION] xextproto x11) +# Check for _XEatDataWords function that may be patched into older Xlib releases +SAVE_LIBS="$LIBS" +LIBS="$FIXESEXT_LIBS" +AC_CHECK_FUNCS([_XEatDataWords]) +LIBS="$SAVE_LIBS" + + AC_CONFIG_FILES([Makefile src/Makefile man/Makefile 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/libXfixes-5.0/include/X11/extensions/Xfixes.h new/libXfixes-5.0.1/include/X11/extensions/Xfixes.h --- old/libXfixes-5.0/include/X11/extensions/Xfixes.h 2011-03-08 17:27:53.000000000 +0100 +++ new/libXfixes-5.0.1/include/X11/extensions/Xfixes.h 2013-05-29 06:11:24.000000000 +0200 @@ -133,7 +133,7 @@ void XFixesSelectSelectionInput (Display *dpy, Window win, - Atom selection, + Atom selection, unsigned long eventMask); void @@ -198,12 +198,12 @@ XFixesFetchRegion (Display *dpy, XserverRegion region, int *nrectanglesRet); XRectangle * -XFixesFetchRegionAndBounds (Display *dpy, XserverRegion region, +XFixesFetchRegionAndBounds (Display *dpy, XserverRegion region, int *nrectanglesRet, XRectangle *bounds); void -XFixesSetGCClipRegion (Display *dpy, GC gc, +XFixesSetGCClipRegion (Display *dpy, GC gc, int clip_x_origin, int clip_y_origin, XserverRegion region); 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/libXfixes-5.0/man/Xfixes.man new/libXfixes-5.0.1/man/Xfixes.man --- old/libXfixes-5.0/man/Xfixes.man 2010-11-22 17:57:43.000000000 +0100 +++ new/libXfixes-5.0.1/man/Xfixes.man 2013-05-29 06:11:24.000000000 +0200 @@ -31,9 +31,9 @@ XFixes \- Augmented versions of core protocol requests .SH SYNTAX \&#include <X11/extensions/Xfixes.h> -.nf +.nf .sp -Bool XFixesQueryExtension \^(\^Display *\fIdpy\fP, +Bool XFixesQueryExtension \^(\^Display *\fIdpy\fP, int *\fIevent_base_return\fP, int *\fIerror_base_return\fP\^); .sp Status XFixesQueryVersion \^(\^Display *\fIdpy\fP, @@ -69,7 +69,7 @@ various limitations in the core protocol. .SH RESTRICTIONS .B Xfixes -will remain upward compatible after the current 1.0 release. +will remain upward compatible after the 1.0 release. .SH AUTHORS Keith Packard, member of the XFree86 Project, Inc. and HP, Owen Taylor, member of the Gnome Foundation and Redhat, Inc. 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/libXfixes-5.0/missing new/libXfixes-5.0.1/missing --- old/libXfixes-5.0/missing 2011-02-09 23:52:46.000000000 +0100 +++ new/libXfixes-5.0.1/missing 2013-05-29 06:11:34.000000000 +0200 @@ -1,11 +1,10 @@ #! /bin/sh -# Common stub for a few missing GNU programs while installing. +# Common wrapper for a few potentially missing GNU programs. -scriptversion=2009-04-28.21; # UTC +scriptversion=2012-06-26.16; # UTC -# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, -# 2008, 2009 Free Software Foundation, Inc. -# Originally by Fran,cois Pinard <[email protected]>, 1996. +# Copyright (C) 1996-2013 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 # it under the terms of the GNU General Public License as published by @@ -26,69 +25,40 @@ # the same distribution terms that you use for the rest of that program. if test $# -eq 0; then - echo 1>&2 "Try \`$0 --help' for more information" + echo 1>&2 "Try '$0 --help' for more information" exit 1 fi -run=: -sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' -sed_minuso='s/.* -o \([^ ]*\).*/\1/p' - -# In the cases where this matters, `missing' is being run in the -# srcdir already. -if test -f configure.ac; then - configure_ac=configure.ac -else - configure_ac=configure.in -fi +case $1 in -msg="missing on your system" + --is-lightweight) + # Used by our autoconf macros to check whether the available missing + # script is modern enough. + exit 0 + ;; -case $1 in ---run) - # Try to run requested program, and just exit if it succeeds. - run= - shift - "$@" && exit 0 - # Exit code 63 means version mismatch. This often happens - # when the user try to use an ancient version of a tool on - # a file that requires a minimum version. In this case we - # we should proceed has if the program had been absent, or - # if --run hadn't been passed. - if test $? = 63; then - run=: - msg="probably too old" - fi - ;; + --run) + # Back-compat with the calling convention used by older automake. + shift + ;; -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... -Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an -error status if there is no known handling for PROGRAM. +Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due +to PROGRAM being missing or too old. Options: -h, --help display this help and exit -v, --version output version information and exit - --run try to run the given command, and emulate it if it fails Supported PROGRAM values: - aclocal touch file \`aclocal.m4' - autoconf touch file \`configure' - autoheader touch file \`config.h.in' - autom4te touch the output file, or create a stub one - automake touch all \`Makefile.in' files - bison create \`y.tab.[ch]', if possible, from existing .[ch] - flex create \`lex.yy.c', if possible, from existing .c - help2man touch the output file - lex create \`lex.yy.c', if possible, from existing .c - makeinfo touch the output file - tar try tar, gnutar, gtar, then tar without non-portable flags - yacc create \`y.tab.[ch]', if possible, from existing .[ch] + aclocal autoconf autoheader autom4te automake makeinfo + bison yacc flex lex help2man -Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and -\`g' are ignored when checking the name. +Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and +'g' are ignored when checking the name. Send bug reports to <[email protected]>." exit $? @@ -100,272 +70,141 @@ ;; -*) - echo 1>&2 "$0: Unknown \`$1' option" - echo 1>&2 "Try \`$0 --help' for more information" + echo 1>&2 "$0: unknown '$1' option" + echo 1>&2 "Try '$0 --help' for more information" exit 1 ;; esac -# normalize program name to check for. -program=`echo "$1" | sed ' - s/^gnu-//; t - s/^gnu//; t - s/^g//; t'` - -# Now exit if we have it, but it failed. Also exit now if we -# don't have it and --version was passed (most likely to detect -# the program). This is about non-GNU programs, so use $1 not -# $program. -case $1 in - lex*|yacc*) - # Not GNU programs, they don't have --version. - ;; - - tar*) - if test -n "$run"; then - echo 1>&2 "ERROR: \`tar' requires --run" - exit 1 - elif test "x$2" = "x--version" || test "x$2" = "x--help"; then - exit 1 - fi - ;; +# Run the given program, remember its exit status. +"$@"; st=$? - *) - if test -z "$run" && ($1 --version) > /dev/null 2>&1; then - # We have it, but it failed. - exit 1 - elif test "x$2" = "x--version" || test "x$2" = "x--help"; then - # Could not run --version or --help. This is probably someone - # running `$TOOL --version' or `$TOOL --help' to check whether - # $TOOL exists and not knowing $TOOL uses missing. - exit 1 - fi - ;; -esac - -# If it does not exist, or fails to run (possibly an outdated version), -# try to emulate it. -case $program in - aclocal*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`acinclude.m4' or \`${configure_ac}'. You might want - to install the \`Automake' and \`Perl' packages. Grab them from - any GNU archive site." - touch aclocal.m4 - ;; - - autoconf*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`${configure_ac}'. You might want to install the - \`Autoconf' and \`GNU m4' packages. Grab them from any GNU - archive site." - touch configure - ;; - - autoheader*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`acconfig.h' or \`${configure_ac}'. You might want - to install the \`Autoconf' and \`GNU m4' packages. Grab them - from any GNU archive site." - files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` - test -z "$files" && files="config.h" - touch_files= - for f in $files; do - case $f in - *:*) touch_files="$touch_files "`echo "$f" | - sed -e 's/^[^:]*://' -e 's/:.*//'`;; - *) touch_files="$touch_files $f.in";; - esac - done - touch $touch_files - ;; - - automake*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. - You might want to install the \`Automake' and \`Perl' packages. - Grab them from any GNU archive site." - find . -type f -name Makefile.am -print | - sed 's/\.am$/.in/' | - while read f; do touch "$f"; done - ;; +# If it succeeded, we are done. +test $st -eq 0 && exit 0 - autom4te*) - echo 1>&2 "\ -WARNING: \`$1' is needed, but is $msg. - You might have modified some files without having the - proper tools for further handling them. - You can get \`$1' as part of \`Autoconf' from any GNU - archive site." - - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -f "$file"; then - touch $file - else - test -z "$file" || exec >$file - echo "#! /bin/sh" - echo "# Created by GNU Automake missing as a replacement of" - echo "# $ $@" - echo "exit 0" - chmod +x $file - exit 1 - fi - ;; - - bison*|yacc*) - echo 1>&2 "\ -WARNING: \`$1' $msg. You should only need it if - you modified a \`.y' file. You may need the \`Bison' package - in order for those modifications to take effect. You can get - \`Bison' from any GNU archive site." - rm -f y.tab.c y.tab.h - if test $# -ne 1; then - eval LASTARG="\${$#}" - case $LASTARG in - *.y) - SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" y.tab.c - fi - SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" y.tab.h - fi - ;; - esac - fi - if test ! -f y.tab.h; then - echo >y.tab.h - fi - if test ! -f y.tab.c; then - echo 'main() { return 0; }' >y.tab.c - fi - ;; - - lex*|flex*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a \`.l' file. You may need the \`Flex' package - in order for those modifications to take effect. You can get - \`Flex' from any GNU archive site." - rm -f lex.yy.c - if test $# -ne 1; then - eval LASTARG="\${$#}" - case $LASTARG in - *.l) - SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" lex.yy.c - fi - ;; - esac - fi - if test ! -f lex.yy.c; then - echo 'main() { return 0; }' >lex.yy.c - fi - ;; - - help2man*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a dependency of a manual page. You may need the - \`Help2man' package in order for those modifications to take - effect. You can get \`Help2man' from any GNU archive site." - - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -f "$file"; then - touch $file - else - test -z "$file" || exec >$file - echo ".ab help2man is required to generate this page" - exit $? - fi - ;; - - makeinfo*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a \`.texi' or \`.texinfo' file, or any other file - indirectly affecting the aspect of the manual. The spurious - call might also be the consequence of using a buggy \`make' (AIX, - DU, IRIX). You might want to install the \`Texinfo' package or - the \`GNU make' package. Grab either from any GNU archive site." - # The file to touch is that specified with -o ... - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -z "$file"; then - # ... or it is the one specified with @setfilename ... - infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` - file=`sed -n ' - /^@setfilename/{ - s/.* \([^ ]*\) *$/\1/ - p - q - }' $infile` - # ... or it is derived from the source name (dir/f.texi becomes f.info) - test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info - fi - # If the file does not exist, the user really needs makeinfo; - # let's fail without touching anything. - test -f $file || exit 1 - touch $file - ;; - - tar*) - shift - - # We have already tried tar in the generic part. - # Look for gnutar/gtar before invocation to avoid ugly error - # messages. - if (gnutar --version > /dev/null 2>&1); then - gnutar "$@" && exit 0 - fi - if (gtar --version > /dev/null 2>&1); then - gtar "$@" && exit 0 - fi - firstarg="$1" - if shift; then - case $firstarg in - *o*) - firstarg=`echo "$firstarg" | sed s/o//` - tar "$firstarg" "$@" && exit 0 - ;; - esac - case $firstarg in - *h*) - firstarg=`echo "$firstarg" | sed s/h//` - tar "$firstarg" "$@" && exit 0 - ;; - esac - fi - - echo 1>&2 "\ -WARNING: I can't seem to be able to run \`tar' with the given arguments. - You may want to install GNU tar or Free paxutils, or check the - command line arguments." - exit 1 - ;; - - *) - echo 1>&2 "\ -WARNING: \`$1' is needed, and is $msg. - You might have modified some files without having the - proper tools for further handling them. Check the \`README' file, - it often tells you about the needed prerequisites for installing - this package. You may also peek at any GNU archive site, in case - some other package would contain this missing \`$1' program." - exit 1 - ;; -esac +# Also exit now if we it failed (or wasn't found), and '--version' was +# passed; such an option is passed most likely to detect whether the +# program is present and works. +case $2 in --version|--help) exit $st;; esac + +# Exit code 63 means version mismatch. This often happens when the user +# tries to use an ancient version of a tool on a file that requires a +# minimum version. +if test $st -eq 63; then + msg="probably too old" +elif test $st -eq 127; then + # Program was missing. + msg="missing on your system" +else + # Program was found and executed, but failed. Give up. + exit $st +fi -exit 0 +perl_URL=http://www.perl.org/ +flex_URL=http://flex.sourceforge.net/ +gnu_software_URL=http://www.gnu.org/software + +program_details () +{ + case $1 in + aclocal|automake) + echo "The '$1' program is part of the GNU Automake package:" + echo "<$gnu_software_URL/automake>" + echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" + echo "<$gnu_software_URL/autoconf>" + echo "<$gnu_software_URL/m4/>" + echo "<$perl_URL>" + ;; + autoconf|autom4te|autoheader) + echo "The '$1' program is part of the GNU Autoconf package:" + echo "<$gnu_software_URL/autoconf/>" + echo "It also requires GNU m4 and Perl in order to run:" + echo "<$gnu_software_URL/m4/>" + echo "<$perl_URL>" + ;; + esac +} + +give_advice () +{ + # Normalize program name to check for. + normalized_program=`echo "$1" | sed ' + s/^gnu-//; t + s/^gnu//; t + s/^g//; t'` + + printf '%s\n' "'$1' is $msg." + + configure_deps="'configure.ac' or m4 files included by 'configure.ac'" + case $normalized_program in + autoconf*) + echo "You should only need it if you modified 'configure.ac'," + echo "or m4 files included by it." + program_details 'autoconf' + ;; + autoheader*) + echo "You should only need it if you modified 'acconfig.h' or" + echo "$configure_deps." + program_details 'autoheader' + ;; + automake*) + echo "You should only need it if you modified 'Makefile.am' or" + echo "$configure_deps." + program_details 'automake' + ;; + aclocal*) + echo "You should only need it if you modified 'acinclude.m4' or" + echo "$configure_deps." + program_details 'aclocal' + ;; + autom4te*) + echo "You might have modified some maintainer files that require" + echo "the 'automa4te' program to be rebuilt." + program_details 'autom4te' + ;; + bison*|yacc*) + echo "You should only need it if you modified a '.y' file." + echo "You may want to install the GNU Bison package:" + echo "<$gnu_software_URL/bison/>" + ;; + lex*|flex*) + echo "You should only need it if you modified a '.l' file." + echo "You may want to install the Fast Lexical Analyzer package:" + echo "<$flex_URL>" + ;; + help2man*) + echo "You should only need it if you modified a dependency" \ + "of a man page." + echo "You may want to install the GNU Help2man package:" + echo "<$gnu_software_URL/help2man/>" + ;; + makeinfo*) + echo "You should only need it if you modified a '.texi' file, or" + echo "any other file indirectly affecting the aspect of the manual." + echo "You might want to install the Texinfo package:" + echo "<$gnu_software_URL/texinfo/>" + echo "The spurious makeinfo call might also be the consequence of" + echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might" + echo "want to install GNU make:" + echo "<$gnu_software_URL/make/>" + ;; + *) + echo "You might have modified some files without having the proper" + echo "tools for further handling them. Check the 'README' file, it" + echo "often tells you about the needed prerequisites for installing" + echo "this package. You may also peek at any GNU archive site, in" + echo "case some other package contains this missing '$1' program." + ;; + esac +} + +give_advice "$1" | sed -e '1s/^/WARNING: /' \ + -e '2,$s/^/ /' >&2 + +# Propagate the correct exit status (expected to be 127 for a program +# not found, 63 for a program that failed due to version mismatch). +exit $st # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) 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/libXfixes-5.0/src/Cursor.c new/libXfixes-5.0.1/src/Cursor.c --- old/libXfixes-5.0/src/Cursor.c 2011-03-08 17:27:53.000000000 +0100 +++ new/libXfixes-5.0.1/src/Cursor.c 2013-05-29 06:11:24.000000000 +0200 @@ -47,6 +47,7 @@ #include <config.h> #endif #include "Xfixesint.h" +#include <limits.h> void XFixesSelectCursorInput (Display *dpy, @@ -74,9 +75,9 @@ XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy); xXFixesGetCursorImageAndNameReq *req; xXFixesGetCursorImageAndNameReply rep; - int npixels; - int nbytes_name; - int nbytes, nread, rlength; + size_t npixels; + size_t nbytes_name; + size_t nbytes, nread, rlength; XFixesCursorImage *image; char *name; @@ -101,19 +102,24 @@ } npixels = rep.width * rep.height; nbytes_name = rep.nbytes; - /* reply data length */ - nbytes = (long) rep.length << 2; - /* bytes of actual data in the reply */ - nread = (npixels << 2) + nbytes_name; - /* size of data returned to application */ - rlength = (sizeof (XFixesCursorImage) + - npixels * sizeof (unsigned long) + - nbytes_name + 1); - - image = (XFixesCursorImage *) Xmalloc (rlength); + if ((rep.length < (INT_MAX >> 2)) && + npixels < (((INT_MAX >> 3) - sizeof (XFixesCursorImage) - 1) + - nbytes_name)) { + /* reply data length */ + nbytes = (size_t) rep.length << 2; + /* bytes of actual data in the reply */ + nread = (npixels << 2) + nbytes_name; + /* size of data returned to application */ + rlength = (sizeof (XFixesCursorImage) + + npixels * sizeof (unsigned long) + + nbytes_name + 1); + + image = Xmalloc (rlength); + } else + image = NULL; if (!image) { - _XEatData (dpy, nbytes); + _XEatDataWords(dpy, rep.length); UnlockDisplay (dpy); SyncHandle (); return NULL; @@ -191,7 +197,7 @@ _XReadPad(dpy, name, (long)rep.nbytes); name[rep.nbytes] = '\0'; } else { - _XEatData(dpy, (unsigned long) (rep.nbytes + 3) & ~3); + _XEatDataWords(dpy, rep.length); name = (char *) NULL; } UnlockDisplay(dpy); 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/libXfixes-5.0/src/Makefile.am new/libXfixes-5.0.1/src/Makefile.am --- old/libXfixes-5.0/src/Makefile.am 2010-11-22 17:57:43.000000000 +0100 +++ new/libXfixes-5.0.1/src/Makefile.am 2013-05-29 06:11:24.000000000 +0200 @@ -8,13 +8,12 @@ Xfixes.c \ Xfixesint.h -libXfixes_la_LIBADD = @FIXESEXT_LIBS@ AM_CFLAGS = $(CWARNFLAGS) @FIXESEXT_CFLAGS@ +AM_CPPFLAGS = -I$(top_srcdir)/include/X11/extensions -INCLUDES = -I$(top_srcdir)/include/X11/extensions - +libXfixes_la_LIBADD = @FIXESEXT_LIBS@ libXfixes_la_LDFLAGS = -version-number 3:1:0 -no-undefined libXfixesincludedir = $(includedir)/X11/extensions -libXfixesinclude_HEADERS = $(top_srcdir)/include/X11/extensions/Xfixes.h +libXfixesinclude_HEADERS = $(top_srcdir)/include/X11/extensions/Xfixes.h 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/libXfixes-5.0/src/Region.c new/libXfixes-5.0.1/src/Region.c --- old/libXfixes-5.0/src/Region.c 2010-11-22 17:57:43.000000000 +0100 +++ new/libXfixes-5.0.1/src/Region.c 2013-05-29 06:11:24.000000000 +0200 @@ -303,8 +303,8 @@ } XRectangle * -XFixesFetchRegionAndBounds (Display *dpy, - XserverRegion region, +XFixesFetchRegionAndBounds (Display *dpy, + XserverRegion region, int *nrectanglesRet, XRectangle *bounds) { @@ -335,16 +335,16 @@ bounds->height = rep.height; nbytes = (long) rep.length << 2; nrects = rep.length >> 1; - nread = nrects << 3; rects = Xmalloc (nrects * sizeof (XRectangle)); if (!rects) { - _XEatData (dpy, nbytes); + _XEatDataWords(dpy, rep.length); UnlockDisplay (dpy); SyncHandle (); return NULL; } - _XRead16 (dpy, (short *) rects, nrects << 3); + nread = nrects << 3; + _XRead16 (dpy, (short *) rects, nread); /* skip any padding */ if(nbytes > nread) { @@ -357,7 +357,7 @@ } void -XFixesSetGCClipRegion (Display *dpy, GC gc, +XFixesSetGCClipRegion (Display *dpy, GC gc, int clip_x_origin, int clip_y_origin, XserverRegion region) { 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/libXfixes-5.0/src/SaveSet.c new/libXfixes-5.0.1/src/SaveSet.c --- old/libXfixes-5.0/src/SaveSet.c 2010-11-22 17:57:43.000000000 +0100 +++ new/libXfixes-5.0.1/src/SaveSet.c 2013-05-29 06:11:24.000000000 +0200 @@ -26,7 +26,7 @@ #endif #include "Xfixesint.h" -void +void XFixesChangeSaveSet (Display *dpy, Window win, int mode, int target, int map) { XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy); 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/libXfixes-5.0/src/Selection.c new/libXfixes-5.0.1/src/Selection.c --- old/libXfixes-5.0/src/Selection.c 2010-11-22 17:57:43.000000000 +0100 +++ new/libXfixes-5.0.1/src/Selection.c 2013-05-29 06:11:24.000000000 +0200 @@ -29,7 +29,7 @@ void XFixesSelectSelectionInput (Display *dpy, Window win, - Atom selection, + Atom selection, unsigned long eventMask) { XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy); 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/libXfixes-5.0/src/Xfixes.c new/libXfixes-5.0.1/src/Xfixes.c --- old/libXfixes-5.0/src/Xfixes.c 2010-11-22 17:57:43.000000000 +0100 +++ new/libXfixes-5.0.1/src/Xfixes.c 2013-05-29 06:11:24.000000000 +0200 @@ -31,7 +31,7 @@ static int XFixesCloseDisplay (Display *dpy, XExtCodes *codes); - + static Bool XFixesWireToEvent(Display *dpy, XEvent *event, xEvent *wire); @@ -57,13 +57,13 @@ info->codes = XInitExtension (dpy, ext_name); /* - * if the server has the extension, then we can initialize the + * if the server has the extension, then we can initialize the * appropriate function vectors */ if (info->codes) { xXFixesQueryVersionReply rep; xXFixesQueryVersionReq *req; - XESetCloseDisplay (dpy, info->codes->extension, + XESetCloseDisplay (dpy, info->codes->extension, XFixesCloseDisplay); for (ev = info->codes->first_event; ev < info->codes->first_event + XFixesNumberEvents; @@ -81,7 +81,7 @@ req->xfixesReqType = X_XFixesQueryVersion; req->majorVersion = XFIXES_MAJOR; req->minorVersion = XFIXES_MINOR; - if (!_XReply (dpy, (xReply *) &rep, 0, xTrue)) + if (!_XReply (dpy, (xReply *) &rep, 0, xTrue)) { UnlockDisplay (dpy); SyncHandle (); @@ -123,7 +123,7 @@ * XFixesExtRemoveDisplay - remove the indicated display from the * extension object. (Replaces XextRemoveDisplay.) */ -static int +static int XFixesExtRemoveDisplay (XFixesExtInfo *extinfo, Display *dpy) { XFixesExtDisplayInfo *info, *prev; @@ -164,7 +164,7 @@ * XextFindDisplay.) */ static XFixesExtDisplayInfo * -XFixesExtFindDisplay (XFixesExtInfo *extinfo, +XFixesExtFindDisplay (XFixesExtInfo *extinfo, Display *dpy) { XFixesExtDisplayInfo *info; @@ -172,7 +172,7 @@ /* * see if this was the most recently accessed display */ - if ((info = extinfo->cur) && info->display == dpy) + if ((info = extinfo->cur) && info->display == dpy) return info; /* @@ -198,11 +198,11 @@ info = XFixesExtFindDisplay (&XFixesExtensionInfo, dpy); if (!info) - info = XFixesExtAddDisplay (&XFixesExtensionInfo, dpy, + info = XFixesExtAddDisplay (&XFixesExtensionInfo, dpy, XFixesExtensionName); return info; } - + static int XFixesCloseDisplay (Display *dpy, XExtCodes *codes) { @@ -296,24 +296,24 @@ return False; } -Bool +Bool XFixesQueryExtension (Display *dpy, int *event_base_return, int *error_base_return) { XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy); - if (XFixesHasExtension(info)) + if (XFixesHasExtension(info)) { *event_base_return = info->codes->first_event; *error_base_return = info->codes->first_error; return True; - } + } else return False; } -Status +Status XFixesQueryVersion (Display *dpy, int *major_version_return, int *minor_version_return) 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/libXfixes-5.0/src/Xfixesint.h new/libXfixes-5.0.1/src/Xfixesint.h --- old/libXfixes-5.0/src/Xfixesint.h 2010-11-22 17:57:43.000000000 +0100 +++ new/libXfixes-5.0.1/src/Xfixesint.h 2013-05-29 06:11:24.000000000 +0200 @@ -31,8 +31,6 @@ #include "Xfixes.h" #include <X11/extensions/xfixesproto.h> -extern char XFixesExtensionName[]; - typedef struct _XFixesExtDisplayInfo { struct _XFixesExtDisplayInfo *next; /* keep a linked list */ Display *display; /* which display this is */ @@ -62,4 +60,18 @@ #define XFixesSimpleCheckExtension(dpy,i) \ if (!XFixesHasExtension(i)) { return; } +#ifndef HAVE__XEATDATAWORDS +#include <X11/Xmd.h> /* for LONG64 on 64-bit platforms */ +#include <limits.h> + +static inline void _XEatDataWords(Display *dpy, unsigned long n) +{ +# ifndef LONG64 + if (n >= (ULONG_MAX >> 2)) + _XIOError(dpy); +# endif + _XEatData (dpy, n << 2); +} +#endif + #endif /* _XFIXESINT_H_ */ -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
