upload tizen2.0 source 2.0alpha master 2.0_alpha submit/master/20120920.151134
authorBoram Park <boram1288.park@samsung.com>
Tue, 21 Aug 2012 09:04:22 +0000 (18:04 +0900)
committerBoram Park <boram1288.park@samsung.com>
Tue, 21 Aug 2012 09:04:22 +0000 (18:04 +0900)
64 files changed:
ChangeLog [changed mode: 0755->0644]
INSTALL [changed mode: 0755->0644]
Makefile.am [changed mode: 0755->0644]
NEWS [deleted file]
autogen.sh [deleted file]
configure.ac [changed mode: 0755->0644]
debian/README.source [deleted file]
debian/changelog [deleted file]
debian/compat [deleted file]
debian/control [deleted file]
debian/copyright [deleted file]
debian/libxcursor-dev.install [deleted file]
debian/libxcursor-dev.manpages [deleted file]
debian/libxcursor1-udeb.install [deleted file]
debian/libxcursor1.install [deleted file]
debian/rules [deleted file]
debian/watch [deleted file]
debian/xsfbs/repack.sh [deleted file]
debian/xsfbs/xsfbs.mk [deleted file]
debian/xsfbs/xsfbs.sh [deleted file]
include/X11/Xcursor/Xcursor.h
include/X11/Xcursor/Xcursor.h.in [new file with mode: 0644]
man/Makefile.am
man/Xcursor.man
man/XcursorCursorsCreate.man [changed mode: 0755->0644]
man/XcursorCursorsDestroy.man [changed mode: 0755->0644]
man/XcursorFilenameLoad.man [changed mode: 0755->0644]
man/XcursorFilenameLoadAllImages.man [changed mode: 0755->0644]
man/XcursorFilenameLoadCursor.man [changed mode: 0755->0644]
man/XcursorFilenameLoadImage.man [changed mode: 0755->0644]
man/XcursorFilenameLoadImages.man [changed mode: 0755->0644]
man/XcursorFilenameSave.man [changed mode: 0755->0644]
man/XcursorFilenameSaveImages.man [changed mode: 0755->0644]
man/XcursorGetDefaultSize.man [changed mode: 0755->0644]
man/XcursorGetTheme.man [changed mode: 0755->0644]
man/XcursorImageCreate.man [changed mode: 0755->0644]
man/XcursorImageDestroy.man [changed mode: 0755->0644]
man/XcursorImagesCreate.man [changed mode: 0755->0644]
man/XcursorImagesDestroy.man [changed mode: 0755->0644]
man/XcursorLibraryLoadCursor.man [changed mode: 0755->0644]
man/XcursorLibraryLoadCursors.man [changed mode: 0755->0644]
man/XcursorLibraryLoadImage.man [changed mode: 0755->0644]
man/XcursorLibraryLoadImages.man [changed mode: 0755->0644]
man/XcursorSetDefaultSize.man [changed mode: 0755->0644]
man/XcursorSetTheme.man [changed mode: 0755->0644]
man/XcursorShapeLoadCursor.man [changed mode: 0755->0644]
man/XcursorShapeLoadCursors.man [changed mode: 0755->0644]
man/XcursorShapeLoadImage.man [changed mode: 0755->0644]
man/XcursorShapeLoadImages.man [changed mode: 0755->0644]
man/XcursorSupportsARGB.man [changed mode: 0755->0644]
man/XcursorXcFileLoad.man [changed mode: 0755->0644]
man/XcursorXcFileLoadAllImages.man [changed mode: 0755->0644]
man/XcursorXcFileLoadImage.man [changed mode: 0755->0644]
man/XcursorXcFileLoadImages.man [changed mode: 0755->0644]
man/XcursorXcFileSave.man [changed mode: 0755->0644]
packaging/libXcursor.spec [new file with mode: 0644]
packaging/libxcursor.spec [deleted file]
src/Makefile.am [changed mode: 0755->0644]
src/cursor.c
src/display.c
src/file.c
src/library.c
src/xcursorint.h
src/xlib.c

old mode 100755 (executable)
new mode 100644 (file)
index 0dd5ca2..95b6b1a
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,211 @@
+commit 2a9eaf3305d1577ad763d56dddd46e10f8d0676b
+Author: Alan Coopersmith <alan.coopersmith@oracle.com>
+Date:   Wed Mar 7 18:54:15 2012 -0800
+
+    libXcursor 1.1.13
+    
+    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+
+commit 8229cf75b34c2991eaf973f05326be9bfa16ef0c
+Author: Alan Coopersmith <alan.coopersmith@oracle.com>
+Date:   Thu Nov 24 13:10:15 2011 -0800
+
+    XcursorImageLoadCursor: return failure if _XcursorGetDisplayInfo fails
+    
+    Error: Null pointer dereference (CWE 476)
+       Read from null pointer 'info'
+            at line 615 of src/cursor.c in function 'XcursorImageLoadCursor'.
+              Function '_XcursorGetDisplayInfo' may return constant 'NULL' at line 134, called at line 597.
+              Null pointer introduced at line 134 of src/display.c in function '_XcursorGetDisplayInfo'.
+    
+    [ This bug was found by the Parfait 0.3.7 bug checking tool.
+      For more information see http://labs.oracle.com/projects/parfait/ ]
+    
+    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+    Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
+
+commit 2b8d373bddf427bcd95e2595cb64740ebd1d0d30
+Author: Alan Coopersmith <alan.coopersmith@oracle.com>
+Date:   Thu Nov 24 12:59:56 2011 -0800
+
+    XcursorFileSaveImages: plug memory leak on invalid input
+    
+    Error: Memory leak (CWE 401)
+       Memory leak of pointer 'comments' allocated with XcursorCommentsCreate(0)
+            at line 982 of src/file.c in function 'XcursorFileSaveImages'.
+              'comments' allocated at line 978 with XcursorCommentsCreate(0).
+              comments leaks when comments != 0 at line 981.
+    
+    [ This bug was found by the Parfait 0.3.7 bug checking tool.
+      For more information see http://labs.oracle.com/projects/parfait/ ]
+    
+    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+    Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
+
+commit bcfb8e8ce56cf47bc6a61bd8c896bafba9e2a9c2
+Author: Jon TURNEY <jon.turney@dronecode.org.uk>
+Date:   Thu Sep 22 14:43:38 2011 +0100
+
+    Add generated Xcursor.h to .gitignore
+    
+    Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
+    Reviewed-by:  Gaetan Nadon <memsize@videotron.ca>
+    Tested-by: Gaetan Nadon <memsize@videotron.ca>
+    Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+
+commit 862b9ce4aa819bf87b6e24db9d7d5867cbaa577c
+Author: Jon TURNEY <jon.turney@dronecode.org.uk>
+Date:   Wed Sep 21 20:50:46 2011 +0100
+
+    Fix install of generated Xcursor.h when builddir != srcdir
+    
+    Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
+    Reviewed-by:  Gaetan Nadon <memsize@videotron.ca>
+    Tested-by: Gaetan Nadon <memsize@videotron.ca>
+    Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+
+commit 334dc4f4df69d780f312f23b860df11bee5e9009
+Author: Alan Coopersmith <alan.coopersmith@oracle.com>
+Date:   Fri Sep 16 21:41:41 2011 -0700
+
+    Set Xcursor.h version numbers from configure.ac
+    
+    Based on similar commit dac73a519816 to libXft
+    
+    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+    Reviewed-by: Gaetan Nadon <memsize@videotron.ca>
+
+commit e086eb1bf49f2a8c270eaebd5beb595c1dc2973e
+Author: Alan Coopersmith <alan.coopersmith@oracle.com>
+Date:   Fri Sep 16 21:26:17 2011 -0700
+
+    Strip trailing whitespace
+    
+    Performed with: find * -type f | xargs perl -i -p -e 's{\s+$}{\n}'
+    git diff -w & git diff -b show no diffs from this change
+    
+    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+
+commit d79ddc01e4b247ae95af3581b93aef2b93e76888
+Author: Alan Coopersmith <alan.coopersmith@oracle.com>
+Date:   Wed Jun 29 21:41:09 2011 -0700
+
+    libXcursor 1.1.12
+    
+    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+
+commit 4ce23fcd978ed389ea30315c0e02629a31bda265
+Author: Alan Coopersmith <alan.coopersmith@oracle.com>
+Date:   Sun May 22 12:55:31 2011 -0700
+
+    Mark bitmasks as unsigned ints
+    
+    Clears Sun compiler warnings from shifting 8 bits by 24 bits:
+    "cursor.c", line 215: warning: integer overflow detected: op "<<"
+    "cursor.c", line 280: warning: integer overflow detected: op "<<"
+    
+    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+
+commit 047993c76a677ca12a2b575990b99e3ddbc0dd58
+Author: Jeremy Huddleston <jeremyhu@apple.com>
+Date:   Sat May 7 10:16:18 2011 -0700
+
+    Correct error handling in _XcursorAverageColor
+    
+    Previously it would either div-zero or get stuck in a loop until int overflow
+    if called with a bad value.
+    
+    cursor.c:214:32: warning: Division by zero
+        return (0xff << 24) | ((red/npixels) << 16) | ((green/npixels) << 8) | (blue/npixels);
+    
+    Found-by: clang static analyzer
+    Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
+
+commit bee68e54e5c3a4b9f46c81366a720531e3e07a82
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Fri Apr 1 12:16:23 2011 +0100
+
+    Free the FontInfo structure after loading the cursor from it.
+    
+    References: https://bugs.freedesktop.org/show_bug.cgi?id=2731
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit f49e7e1608f2dac140f60bcae21d5c37f79fc41b
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Fri Apr 1 12:15:46 2011 +0100
+
+    Free the partial header after failing to open the cursor.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 073eb2c56f4794275eee40a825dbfe1232bb2690
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Fri Apr 1 12:14:51 2011 +0100
+
+    Free list on shutdown.
+    
+    We freed the parent structure without freeing the list contained within,
+    making valgrind unhappy.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit de50317ec4e0e8da7de84e85d1f7a6d2e184d58b
+Author: Gaetan Nadon <memsize@videotron.ca>
+Date:   Wed Feb 2 17:08:19 2011 -0500
+
+    config: perform XCURSORPATH formatting in man/Makefile.am
+    
+    We can skip the extra step of using XCURSORPATH_LIST in configure.ac.
+    
+    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
+
+commit a929c3621b9da8e56ce1223afd3e487fc488fa47
+Author: Gaetan Nadon <memsize@videotron.ca>
+Date:   Wed Feb 2 11:43:41 2011 -0500
+
+    config: comment, minor upgrade, quote and layout configure.ac
+    
+    Group statements per section as per Autoconf standard layout
+    Quote statements where appropriate.
+    Autoconf recommends not using dnl instead of # for comments
+    
+    Use AC_CONFIG_FILES to replace the deprecated AC_OUTPUT with parameters.
+    
+    This helps automated maintenance and release activities.
+    Details can be found in http://wiki.x.org/wiki/NewModuleGuidelines
+    
+    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
+
+commit 96c5877fd7ebc59569f140d9e2cb30fdb8371ef1
+Author: Gaetan Nadon <memsize@videotron.ca>
+Date:   Fri Jan 28 19:41:37 2011 -0500
+
+    config: replace deprecated AM_CONFIG_HEADER with AC_CONFIG_HEADERS
+    
+    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
+
+commit 4f7a749fcb7a8e93d40a7621fa1c159e003b2f5c
+Author: Gaetan Nadon <memsize@videotron.ca>
+Date:   Fri Jan 28 16:07:07 2011 -0500
+
+    config: replace deprecated AC_HELP_STRING with AS_HELP_STRING
+    
+    This silences an Automake warning.
+    
+    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
+
+commit c38adc6bf116146fa1e291b9f4deed45497e5c2e
+Author: Gaetan Nadon <memsize@videotron.ca>
+Date:   Thu Jan 27 18:50:14 2011 -0500
+
+    config: remove AC_PROG_CC as it overrides AC_PROG_C_C99
+    
+    XORG_STRICT_OPTION from XORG_DEFAULT_OPTIONS calls
+    AC_PROG_C_C99. This sets gcc with -std=gnu99.
+    If AC_PROG_CC macro is called afterwards, it resets CC to gcc.
+    
+    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
+
 commit 731e84d79e83b59d022d0f453b245696b4d2750f
 Author: Alan Coopersmith <alan.coopersmith@oracle.com>
 Date:   Wed Oct 27 22:48:19 2010 -0700
diff --git a/INSTALL b/INSTALL
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index 976151e..e67a693
@@ -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 --git a/NEWS b/NEWS
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/autogen.sh b/autogen.sh
deleted file mode 100755 (executable)
index 218197d..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-#! /bin/sh
-
-srcdir=`dirname $0`
-test -z "$srcdir" && srcdir=.
-
-ORIGDIR=`pwd`
-cd $srcdir
-
-autoreconf -v --install || exit 1
-cd $ORIGDIR || exit $?
-
-#$srcdir/configure --enable-maintainer-mode "$@"
old mode 100755 (executable)
new mode 100644 (file)
index 185303f..16c753b
@@ -1,39 +1,42 @@
-dnl 
-dnl  Copyright Â© 2003 Keith Packard
-dnl 
-dnl  Permission to use, copy, modify, distribute, and sell this software and its
-dnl  documentation for any purpose is hereby granted without fee, provided that
-dnl  the above copyright notice appear in all copies and that both that
-dnl  copyright notice and this permission notice appear in supporting
-dnl  documentation, and that the name of Keith Packard not be used in
-dnl  advertising or publicity pertaining to distribution of the software without
-dnl  specific, written prior permission.  Keith Packard makes no
-dnl  representations about the suitability of this software for any purpose.  It
-dnl  is provided "as is" without express or implied warranty.
-dnl 
-dnl  KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
-dnl  INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
-dnl  EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
-dnl  CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
-dnl  DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
-dnl  TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
-dnl  PERFORMANCE OF THIS SOFTWARE.
-dnl
-dnl Process this file with autoconf to create configure.
+#
+#  Copyright Â© 2003 Keith Packard
+#
+#  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
+#  copyright notice and this permission notice appear in supporting
+#  documentation, and that the name of Keith Packard not be used in
+#  advertising or publicity pertaining to distribution of the software without
+#  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
+#  CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+#  DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+#  TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+#  PERFORMANCE OF THIS SOFTWARE.
+#
 
+# Initialize Autoconf
 AC_PREREQ([2.60])
-dnl
-dnl This is the package version number, not the shared library
-dnl version.  This same version number must appear in Xcursor.h
-dnl Yes, it is a pain to synchronize version numbers.  Unfortunately, it's
-dnl not possible to extract the version number here from Xcursor.h
-dnl
-AC_INIT([libXcursor], [1.1.11],
+#
+# This is the package version number, not the shared library
+# version.  This version number will be substituted into Xcursor.h
+#
+AC_INIT([libXcursor], [1.1.13],
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],[libXcursor])
-AM_INIT_AUTOMAKE([foreign dist-bzip2])
 AC_CONFIG_SRCDIR([Makefile.am])
+AC_CONFIG_HEADERS([config.h include/X11/Xcursor/Xcursor.h])
+
+# Initialize Automake
+AM_INIT_AUTOMAKE([foreign dist-bzip2])
 AM_MAINTAINER_MODE
-AM_CONFIG_HEADER(config.h)
+
+# Initialize libtool
+AC_PROG_LIBTOOL
 
 # Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS
 m4_ifndef([XORG_MACROS_VERSION],
@@ -41,12 +44,21 @@ m4_ifndef([XORG_MACROS_VERSION],
 XORG_MACROS_VERSION(1.8)
 XORG_DEFAULT_OPTIONS
 
-# Check for progs
-AC_PROG_CC
-AC_PROG_LIBTOOL
+# Set library version for Xcursor.h from package version set in AC_INIT
+# copied from PACKAGE_VERSION_* settings in XORG_VERSION
+AC_DEFINE_UNQUOTED([XCURSOR_LIB_MAJOR],
+                   [`echo $PACKAGE_VERSION | cut -d . -f 1`],
+                   [Major version of libXcursor])
+AC_DEFINE_UNQUOTED([XCURSOR_LIB_MINOR],
+                   [`echo $PACKAGE_VERSION | cut -d . -f 2 | cut -d - -f 1`],
+                   [Minor version of libXcursor])
+AC_DEFINE_UNQUOTED([XCURSOR_LIB_REVISION],
+                   [`echo $PACKAGE_VERSION | cut -d . -f 3 | cut -d - -f 1`],
+                   [Micro revision of libXcursor])
+
 
 AC_ARG_WITH(icondir,
-        AC_HELP_STRING([--with-icondir=<path>],
+        AS_HELP_STRING([--with-icondir=<path>],
                        [Set default icon directory (default: ${datadir}/icons)]),
         [ICONDIR="$withval"],
         [ICONDIR=${datadir}/icons])
@@ -57,24 +69,21 @@ if test "x${ICONDIR}" != "x${datadir}/icons"; then
        DEF_CURSORPATH="${DEF_CURSORPATH}:${ICONDIR}"
 fi
 AC_ARG_WITH(cursorpath,
-        AC_HELP_STRING([--with-cursorpath=<paths>],
+        AS_HELP_STRING([--with-cursorpath=<paths>],
                        [Set default search path for cursors]),
         [XCURSORPATH="$withval"],
         [XCURSORPATH=$DEF_CURSORPATH])
 AC_SUBST([XCURSORPATH])
 
-# Reformat cursor path for man page
-XCURSORPATH_LIST=`echo $XCURSORPATH | sed 's/:/, /g'`
-AC_SUBST([XCURSORPATH_LIST])
-
-# Check for X
+# Obtain compiler/linker options for depedencies
 PKG_CHECK_MODULES(XCURSOR, xrender >= 0.8.2 xfixes x11 fixesproto)
 AC_DEFINE(HAVE_XFIXES, 1, [Define to 1 if you have Xfixes])
 
-dnl Allow checking code with lint, sparse, etc.
+# Allow checking code with lint, sparse, etc.
 XORG_WITH_LINT
 
-AC_OUTPUT([Makefile
-          src/Makefile
-          man/Makefile
-           xcursor.pc])
+AC_CONFIG_FILES([Makefile
+               src/Makefile
+               man/Makefile
+               xcursor.pc])
+AC_OUTPUT
diff --git a/debian/README.source b/debian/README.source
deleted file mode 100644 (file)
index 34ab4bf..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-------------------------------------------------------
-Quick Guide To Patching This Package For The Impatient
-------------------------------------------------------
-
-1. Make sure you have quilt installed
-2. Unpack the package as usual with "dpkg-source -x"
-3. Run the "patch" target in debian/rules
-4. Create a new patch with "quilt new" (see quilt(1))
-5. Edit all the files you want to include in the patch with "quilt edit" 
-   (see quilt(1)).
-6. Write the patch with "quilt refresh" (see quilt(1))
-7. Run the "clean" target in debian/rules
-
-Alternatively, instead of using quilt directly, you can drop the patch in to 
-debian/patches and add the name of the patch to debian/patches/series.
-
-------------------------------------
-Guide To The X Strike Force Packages
-------------------------------------
-
-The X Strike Force team maintains X packages in git repositories on
-git.debian.org in the pkg-xorg subdirectory. Most upstream packages
-are actually maintained in git repositories as well, so they often
-just need to be pulled into git.debian.org in a "upstream-*" branch.
-Otherwise, the upstream sources are manually installed in the Debian
-git repository.
-
-The .orig.tar.gz upstream source file could be generated this
-"upstream-*" branch in the Debian git repository but it is actually
-copied from upstream tarballs directly.
-
-Due to X.org being highly modular, packaging all X.org applications
-as their own independent packages would have created too many Debian
-packages. For this reason, some X.org applications have been grouped
-into larger packages: xutils, xutils-dev, x11-apps, x11-session-utils,
-x11-utils, x11-xfs-utils, x11-xkb-utils, x11-xserver-utils.
-Most packages, including the X.org server itself and all libraries
-and drivers are, however maintained independently.
-
-The Debian packaging is added by creating the "debian-*" git branch
-which contains the aforementioned "upstream-*" branch plus the debian/
-repository files.
-When a patch has to be applied to the Debian package, two solutions
-are involved:
-* If the patch is available in one of the upstream branches, it
-  may be git'cherry-picked into the Debian repository. In this
-  case, it appears directly in the .diff.gz.
-* Otherwise, the patch is added to debian/patches/ which is managed
-  with quilt as documented in /usr/share/doc/quilt/README.source.
-
-quilt is actually invoked by the Debian X packaging through a larger
-set of scripts called XSFBS. XSFBS brings some other X specific
-features such as managing dependencies and conflicts due to the video
-and input driver ABIs.
-XSFBS itself is maintained in a separate repository at
-  git://git.debian.org/pkg-xorg/xsfbs.git
-and it is pulled inside the other Debian X repositories when needed.
-
-The XSFBS patching system requires a build dependency on quilt. Also
-a dependency on $(STAMP_DIR)/patch has to be added to debian/rules
-so that the XSFBS patching occurs before the actual build. So the
-very first target of the build (likely the one running autoreconf)
-should depend on $(STAMP_DIR)/patch. It should also not depend on
-anything so that parallel builds are correctly supported (nothing
-should probably run while patching is being done). And finally, the
-clean target should depend on the xsfclean target so that patches
-are unapplied on clean.
-
-When the upstream sources contain some DFSG-nonfree files, they are
-listed in text files in debian/prune/ in the "debian-*" branch of
-the Debian repository. XSFBS' scripts then take care of removing
-these listed files during the build so as to generate a modified
-DFSG-free .orig.tar.gz tarball.
diff --git a/debian/changelog b/debian/changelog
deleted file mode 100755 (executable)
index 3476c8d..0000000
+++ /dev/null
@@ -1,386 +0,0 @@
-libxcursor (1:1.1.11-1slp2) unstable; urgency=low
-
-  * [X11R7.6] upgrade package
-  * Git: 165.213.180.234:slp/pkgs/xorg/lib/libxcursor
-  * Tag: libxcursor_1.1.11-1slp2
-
- -- SooChan Lim <sc1.lim@samsung.com>  Tue, 04 Jan 2011 10:44:23 +0900
-
-libxcursor (1:1.1.10-2) unstable; urgency=low
-
-  [ Julien Cristau ]
-  * Rename the build directory to not include DEB_BUILD_GNU_TYPE for no
-    good reason.  Thanks, Colin Watson!
-  * Remove myself from Uploaders
-
-  [ Cyril Brulebois ]
-  * Add udeb needed for the graphical installer: libxcursor1-udeb.
-  * Version/Bump some B-D to make sure the udeb gets its dependencies on
-    the (recently-added) udebs rather than on the libraries:
-     - libx11-dev
-     - libxfixes-dev
-     - libxrender-dev
-  * Bump Standards-Version from 3.8.3 to 3.8.4 (no changes needed).
-  * Add myself to Uploaders.
-  * Add ${misc:Depends} to non-udeb binaries, and wrap Depends.
-
- -- Cyril Brulebois <kibi@debian.org>  Thu, 11 Mar 2010 05:05:33 +0100
-
-libxcursor (1:1.1.10-1) unstable; urgency=low
-
-  [ Julien Cristau ]
-  * Drop the -1 debian revisions from build-depends.
-  * Bump Standards-Version to 3.7.3.
-  * Drop the XS- prefix from Vcs-* control fields.
-  * Remove /usr/X11R6/lib/X11/icons from the cursor path (closes: #557292).
-  * Kill vim modeline from debian changelog, it makes lintian angry.
-
-  [ Brice Goglin ]
-  * Add README.source, bump Standards-Version to 3.8.2.
-  * Use updated xsfbs, closes: #538582.
-  * Move -dbg package to section debug.
-
-  [ Timo Aaltonen ]
-  * New upstream release (closes: #554238).
-  * Run autoreconf on build. Add build-deps on automake, libtool
-    and xutils-dev.
-  * Parse space-separated DEB_BUILD_OPTIONS, and handle parallel=N.
-  * Bump Standards-Version to 3.8.3.
-  * Drop pre-dependency on x11-common from libxcursor-dev. This was needed
-    for upgrades from sarge.
-
- -- Julien Cristau <jcristau@debian.org>  Wed, 25 Nov 2009 15:30:10 +0100
-
-libxcursor (1:1.1.9-1) unstable; urgency=low
-
-  * New upstream release.
-  * Update URL in debian/copyright.
-  * Add myself to Uploaders, and remove ISHIKAWA Mutsumi and Branden.
-  * Replace deprecated Source-Version with binary:Version.
-
- -- Julien Cristau <jcristau@debian.org>  Sat, 25 Aug 2007 11:37:23 +0200
-
-libxcursor (1:1.1.8-2) unstable; urgency=low
-
-  * Upload to unstable.
-  * Add XS-Vcs-Browser to debian/control.
-
- -- Julien Cristau <jcristau@debian.org>  Wed, 11 Apr 2007 12:39:57 +0200
-
-libxcursor (1:1.1.8-1) experimental; urgency=low
-
-  * New upstream release.
-    + drop patch applied upstream.
-  * Add XS-Vcs-Git in debian/control.
-
- -- Julien Cristau <jcristau@debian.org>  Tue, 13 Feb 2007 10:07:38 +0100
-
-libxcursor (1.1.7-4) unstable; urgency=low
-
-  * Pull leak fixes from upstream (01_leak_fixes.diff)
-
- -- David Nusinow <dnusinow@debian.org>  Wed, 30 Aug 2006 16:41:34 -0400
-
-libxcursor (1.1.7-3) unstable; urgency=low
-
-  * Recompile for unstable's libxfixes3 3.0.1.
-
- -- Drew Parsons <dparsons@debian.org>  Sat, 26 Aug 2006 09:31:19 +1000
-
-libxcursor (1.1.7-2) unstable; urgency=low
-
-  * Bring X11R7.1 into unstable.
-
- -- Drew Parsons <dparsons@debian.org>  Sat, 26 Aug 2006 09:17:06 +1000
-
-libxcursor (1.1.7-1) experimental; urgency=low
-
-  * New upstream version (X11R7.1).
-  * Install man pages with dh_installman.
-  * Exclude .la and man files from dh_install.
-  * Remove libxcursor1-dbg.install. Somehow debhelper just knows where
-    to put the files (ooh, spooky).
-
- -- Drew Parsons <dparsons@debian.org>  Sat, 12 Aug 2006 22:39:03 +1000
-
-libxcursor (1.1.5.2-6) UNRELEASED; urgency=low
-
-  * Test for obj-$(DEB_BUILD_GNU_TYPE) before creating it during build;
-    idempotency fix.
-  * Run dh_install w/ --list-missing.
-  * Bump standards version to 3.7.2.0.
-  * Version x11-common pre-dep in -dev package to 1:7.0.0 to match
-    the rest of Debian.
-  * Bump debhelper compat to 5.
-  * Fix dh_strip call to skip the -dbg package.
-  * Remove daniels from uploaders.
-
- -- Andres Salomon <dilinger@debian.org>  Mon, 17 Jul 2006 01:20:47 -0400
-
-libxcursor (1.1.5.2-5) unstable; urgency=low
-
-  * Reorder makeshlib command in rules file so that ldconfig is run
-    properly. Thanks Drew Parsons and Steve Langasek.
-
- -- David Nusinow <dnusinow@debian.org>  Wed, 19 Apr 2006 00:06:24 -0400
-
-libxcursor (1.1.5.2-4) UNRELEASED; urgency=low
-
-  * Append /usr/X11R6/lib/X11/icons to the icon search path for
-    backwards compatibility.
-
- -- Steve Langasek <vorlon@debian.org>  Tue, 18 Apr 2006 16:27:59 -0700
-
-libxcursor (1.1.5.2-3) unstable; urgency=low
-
-  * Add libxfixes-dev to the depends of libxcursor-dev
-
- -- David Nusinow <dnusinow@debian.org>  Wed, 12 Apr 2006 20:52:24 -0400
-
-libxcursor (1.1.5.2-2) unstable; urgency=low
-
-  * Upload to unstable
-
- -- David Nusinow <dnusinow@debian.org>  Thu, 23 Mar 2006 22:44:31 -0500
-
-libxcursor (1.1.5.2-1) experimental; urgency=low
-
-  * First upload to Debian
-
- -- David Nusinow <dnusinow@debian.org>  Mon, 23 Jan 2006 22:43:51 -0500
-
-libxcursor (1.1.5.2-0ubuntu2) dapper; urgency=low
-
-  * Change dependency on x-common to x11-common.
-
- -- Daniel Stone <daniel.stone@ubuntu.com>  Thu, 19 Jan 2006 18:24:22 +1100
-
-libxcursor (1.1.5.2-0ubuntu1) dapper; urgency=low
-
-  * New upstream release.
-  * Repackage in line with all the other X libraries.
-
- -- Daniel Stone <daniel.stone@ubuntu.com>  Mon, 12 Dec 2005 15:14:52 +1100
-
-xcursor (1.1.5-0ubuntu1) breezy; urgency=low
-
-  * New upstream release.
-
- -- Daniel Stone <daniel.stone@ubuntu.com>  Wed, 16 Nov 2005 10:09:16 +1100
-
-xcursor (1.1.4-0ubuntu5) breezy; urgency=low
-
-  * Bump Build-Depends on x11proto-core-dev, libx11-dev and libxfixes-dev
-    high enough that we don't see _XOPEN_SOURCE again.
-  * Remove libc6-dev | libc-dev dependency from libxcursor-dev (???), change
-    x-dev to x11proto-core-dev.
-  * Stop installing libXcursor.la.
-  * Clean up libxcursor-dev.install.
-
- -- Daniel Stone <daniel.stone@ubuntu.com>  Fri, 22 Jul 2005 23:48:13 +1000
-
-xcursor (1.1.4-0ubuntu4) breezy; urgency=low
-
-  * Make the xrender build-dep versioned, to rid us of libXrender.la.
-
- -- Adam Conrad <adconrad@ubuntu.com>  Tue, 19 Jul 2005 14:54:02 +1000
-
-xcursor (1.1.4-0ubuntu3) breezy; urgency=low
-
-  * Rebuild with the current libXrender.
-
- -- Sebastien Bacher <seb128@canonical.com>  Fri, 15 Jul 2005 15:52:32 +0200
-
-xcursor (1.1.4-0ubuntu2) breezy; urgency=low
-
-  * Add missing build-deps on libxfixes-dev and make it correctly
-    versioned so we will have the xfixes.pc file in the correct place.
-
- -- Tollef Fog Heen <tfheen@canonical.com>  Thu, 30 Jun 2005 16:54:15 +0200
-
-xcursor (1.1.4-0ubuntu1) breezy; urgency=low
-
-  * New upstream release.
-
- -- Daniel Stone <daniel.stone@ubuntu.com>  Thu, 30 Jun 2005 04:36:17 +1000
-
-xcursor (1.1.3-1ubuntu2) breezy; urgency=low
-
-  * Add Pre-Depends on x-common to libxcursor-dev to avoid files getting stuck
-    in /usr/X11R6 thanks to symlink treachery.
-
- -- Daniel Stone <daniel.stone@ubuntu.com>  Thu, 19 May 2005 00:50:18 +1000
-
-xcursor (1.1.3-1ubuntu1) breezy; urgency=low
-
-  * Move files from /usr/X11R6 to /usr.
-
- -- Fabio M. Di Nitto <fabbione@ubuntu.com>  Tue, 17 May 2005 19:20:26 +0200
-
-xcursor (1.1.3-1) unstable; urgency=medium
-
-  * Urgency due to fix for release-critical bug.
-
-  * New upstream version.
-    + Invokes AC_SUBST() on X_CFLAGS and X_LIBS, unbreaking xcursor.pc file.
-      (Closes: #241249)
-
-  * Add versioning to libxcursor1's shlibs information, since Xcursor 1.1.2
-    added a member to the XcursorImages structure and added the
-    XcursorImagesSetName() and XcursorLibraryPath() functions.
-
-  * Disable upstream autoconf check for the XFIXES library, as this library is
-    not packaged for Debian yet, and upstream supports no option to the
-    configure script to avoid checking (neverthless, the source is designed to
-    be buildable without it).  Regenerate related files with autogen.sh
-    script.
-
-  * Modify AC_PATH_XTRA invocation to take advantage of Debian's enhancements
-    (from autoconf 2.59-3); don't use the macro's defaults, which look for the
-    Xt library which we don't use.  Instead search for the X11 library, the
-    Xlib.h header file, and the XInternAtom() function, all of which are
-    actually used by the Xcursor library.  Regenerate related files with the
-    autogen.sh script.
-
-  * Update config.guess, config.sub, and ltmain.sh with libtoolize --force
-    --copy.
-
-  * Update package descriptions.
-
- -- Branden Robinson <branden@debian.org>  Mon, 19 Apr 2004 15:39:41 -0500
-
-xcursor (1.0.2-5) unstable; urgency=low
-
-  * Make package compatible with the XFree86 4.3.0 package reorganization.
-    - debian/control
-      + package build-depends on x-dev and libx11-dev instead of xlibs-dev
-      + libxcursor-dev depends on x-dev and libx11-dev instead of xlibs-dev
-
-  * Remove README.Debian; the release of xfree86 4.3.0-1 to unstable renders
-    advice about installing these xcursor packages in conjunction with
-    experimental XFree86 4.3.0 packages unecessary.
-    - debian/README.Debian
-
-  * Give source package a section ("devel", just like xft) to shut up
-    complaints from dpkg-genchanges.
-    - debian/control
-
-  * Remove AC_PATH_X and subsequent bailout logic from configure.ac; the
-    mechanism used to find the Xrender suffices to configure the build
-    environment.  Run aclocal && automake --foreign && autoconf.
-    - configure
-    - Makefile.in
-    - config.h.in
-    - configure.ac
-    - aclocal.m4
-
- -- Branden Robinson <branden@debian.org>  Fri, 12 Mar 2004 12:51:55 -0500
-
-xcursor (1.0.2-4) unstable; urgency=medium
-
-  * urgency due to fix for FTBFS
-
-  * Set priority of libxcursor1-dbg package to extra (resolves override
-    disparity).
-    - debian/control
-
-  * Restore build-dependency on pkg-config; AM_MAINTAINER_MODE doesn't prevent
-    the ./configure script from running during a package build, and the
-    ./configure script does indeed invoke pkg-config (fixes FTBFS).
-    (Closes: #225433)
-    - debian/control
-
- -- Branden Robinson <branden@debian.org>  Tue, 30 Dec 2003 11:46:15 -0500
-
-xcursor (1.0.2-3) unstable; urgency=low
-
-  * Update copyright file to refer to new canonical upstream URL for source
-    archive.
-    - debian/copyright
-
-  * Elaborate and clarify README.Debian as regards Daniel Stone's experimental
-    xfree86 packages.
-    - debian/README.Debian
-
-  * Set AM_MAINTAINER_MODE because we do not want automake running during
-    Debian package builds.
-    - configure.ac
-
-  * Run aclocal && automake --foreign && autoconf to resynchronize with
-    change to configure.ac.
-    - Makefile.in
-    - aclocal.m4
-    - configure
-
-  * Stop passing arguments to dh_makeshlibs; there has not yet been a version
-    of xcursor released to Debian that has not been forwards-compatible.
-    - debian/rules
-
-  * Bump package's standards-version to 3.6.1; no changes necessary.
-    - debian/control
-
-  * Clean up package's build-dependencies and -dev package's dependencies.
-    - debian/control:
-      + add versioning of (>= 0.4.12) to build-dependency on cdbs for proper
-        support of debugging libraries
-      + tweak versioned build-dependency on debhelper (>> 4.0.0) to be a >=
-        instead
-      + drop versioning of build-dependency on xlibs-dev; libXcursor1 links
-        only against libX11, thus no versioning is necessary
-      + drop build-dependencies on autotools-dev and pkg-config since we now
-        use AM_MAINTAINER_MODE
-      + drop libxcursor-dev's dependency on ${shlibs:Depends}; it's not
-        necessary
-      + add dependencies on xlibs-dev and libxrender-dev to libxcursor-dev
-
-  * Remove extraneous and possibly misleading wording in libxcursor1-dbg's
-    extended description.
-    - debian/control
-
-  * Add Daniel Stone to list of uploaders.
-    - debian/control
-
- -- Branden Robinson <branden@debian.org>  Mon, 13 Oct 2003 00:12:31 -0500
-
-xcursor (1.0.2-2) unstable; urgency=low
-
-  * add missing Build-Depends: pkg-config, closes: #198584
-
- -- ISHIKAWA Mutsumi <ishikawa@debian.org>  Tue, 24 Jun 2003 16:05:57 +0900
-
-xcursor (1.0.2-1) unstable; urgency=low
-
-  * I'm back and Initial official upload release.
-  * libraries moved into /usr/lib/{,debug} instead of
-    /usr/X11R6/lib/{,debug} (adapt Debian policy section 12.8.7.)
-  * drop conflicts: xlibs* (>> 4.3.0-0), xlibs* (<< 4.3.0-0pre1v1)
-    because versioned AND conflicts are not supported.
-
- -- ISHIKAWA Mutsumi <ishikawa@debian.org>  Tue,  3 Jun 2003 00:35:13 +0900
-
-xcursor (1.0.2-0beta4) unstable; urgency=low
-
-  * only conflicts: xlibs* (>> 4.3.0-0), xlibs* (<< 4.3.0-0pre1v1)
-
- -- ISHIKAWA Mutsumi <ishikawa@debian.org>  Fri, 30 May 2003 01:35:26 +0900
-
-xcursor (1.0.2-0beta3) unstable; urgency=low
-
-  * migrate to use cdbs
-  * add Build-Depends: cdbs
-  * remove Daniel Stone from uploaders (because he is not DD, yet)
-  * Bump Standards-Version: 3.5.10
-
- -- ISHIKAWA Mutsumi <ishikawa@debian.org>  Wed, 28 May 2003 03:10:50 +0900
-
-xcursor (1.0.2-0beta2) unstable; urgency=low
-
-  * fix to install Xcursor.h into correct place
-
- -- ISHIKAWA Mutsumi <ishikawa@debian.org>  Sat, 24 May 2003 03:55:44 +0900
-
-xcursor (1.0.2-0beta1) unstable; urgency=low
-
-  * Initial Beta Release.
-
- -- ISHIKAWA Mutsumi <ishikawa@debian.org>  Thu, 22 May 2003 02:31:37 +0900
diff --git a/debian/compat b/debian/compat
deleted file mode 100644 (file)
index 7ed6ff8..0000000
+++ /dev/null
@@ -1 +0,0 @@
-5
diff --git a/debian/control b/debian/control
deleted file mode 100755 (executable)
index 9e668b2..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-Source: libxcursor
-Section: devel
-Priority: optional
-Maintainer: SooChan Lim <sc.lim@samsung.com>, Sangjin Lee <lsj119@samsung.com>, Debian X Strike Force <debian-x@lists.debian.org>
-Uploaders: SooChan Lim <sc1.lim@samsung.com>, Sung-Jin Park <sj76.park@samsung.com>, David Nusinow <dnusinow@debian.org>, Drew Parsons <dparsons@debian.org>, Cyril Brulebois <kibi@debian.org>
-Build-Depends: debhelper (>= 5.0.0), x11proto-core-dev (>= 6.2.1+cvs.20050722), libx11-dev (>= 2:1.3.3-2), libxrender-dev (>= 1:0.9.5-2), libxfixes-dev (>= 1:4.0.4-2), pkg-config, quilt, automake, libtool, xutils-dev (>= 1:7.4+4)
-Standards-Version: 3.8.4
-Vcs-Git: git://git.debian.org/git/pkg-xorg/lib/libxcursor
-Vcs-Browser: http://git.debian.org/?p=pkg-xorg/lib/libxcursor.git
-
-Package: libxcursor1
-Section: libs
-Architecture: any
-Depends: ${shlibs:Depends}
-Description: X cursor management library
- Xcursor is a simple library designed to help locate and load cursors for the
- X Window System.  Cursors can be loaded from files or memory and can exist in
- several sizes; the library automatically picks the best size.  When using
- images loaded from files, Xcursor prefers to use the Render extension's
- CreateCursor request for rendering cursors.  Where the Render extension is
- not supported, Xcursor maps the cursor image to a standard X cursor and uses
- the core X protocol CreateCursor request.
-
-#Package: libxcursor1-udeb
-#XC-Package-Type: udeb
-#Section: debian-installer
-#Architecture: any
-#Depends: ${shlibs:Depends},
-#Description: X cursor management library
-# This is a udeb, or a microdeb, for the debian-installer.
-
-Package: libxcursor1-dbg
-Section: debug
-Priority: extra
-Architecture: any
-Depends: libxcursor1 (= ${binary:Version}), ${shlibs:Depends}, 
-Description: X cursor management library (unstripped)
- This package provides an unstripped shared object with debugging symbols,
- useful to provide a backtrace with symbol names in a debugger; this
- facilitates interpretation of core dumps, and aids in finding logic errors in
- programs using this library (or the library itself).  The library is
- installed in /usr/lib/debug and can be used by placing that directory in the
- LD_LIBRARY_PATH environment variable when the code to be debugged is
- executed.  Non-programmers will likely have little use for this package.
- .
- Non-programmers will likely have little use for this package.  See the
- libxcursor1 package for further information.
-
-Package: libxcursor-dev
-Section: libdevel
-Architecture: any
-Depends: libxcursor1 (= ${binary:Version}), x11proto-core-dev, libx11-dev, libxrender-dev, libxfixes-dev,
-Description: X cursor management library (development files)
- Header files and a static version of the X cursor management library are
- provided by this package.
- .
- See the libxcursor1 package for further information.
diff --git a/debian/copyright b/debian/copyright
deleted file mode 100644 (file)
index d3cfb2b..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-This package was debianized by ISHIKAWA Mutsumi <ishikawa@debian.org> on
-Mon, 12 May 2003 05:14:45 +0900.
-
-It was downloaded from
-http://xorg.freedesktop.org/releases/individual/lib/
-
-Upstream copyright:
-
-  Copyright Â© 2001,2003 Keith Packard
-
-Upstream license:
-
-  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 copyright
-  notice and this permission notice appear in supporting documentation, and
-  that the name of Keith Packard not be used in advertising or publicity
-  pertaining to distribution of the software without 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 CONSEQUENTIAL
-  DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
-  PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
-  ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
-  SOFTWARE.
-
-The Debian packaging infrastructure in the debian/ directory of the source
-package is independently authored and copyrighted.
-
-Debian copyright:
-
-  Copyright 2003 Software in the Public Interest, Inc.
-
-Debian license:
-
-  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 copyright
-  notice and this permission notice appear in supporting documentation, and
-  that the name of Software in the Public Interest, Inc. not be used in
-  advertising or publicity pertaining to distribution of the software without
-  specific, written prior permission.  Software in the Public Interest, Inc.
-  makes no representations about the suitability of this software for any
-  purpose.  It is provided "as is" without express or implied warranty.
-
-  SOFTWARE IN THE PUBLIC INTEREST, INC. DISCLAIMS ALL WARRANTIES WITH REGARD
-  TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
-  FITNESS, IN NO EVENT SHALL SOFTWARE IN THE PUBLIC INTEREST, INC. BE LIABLE
-  FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
-  RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
-  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
-  CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/debian/libxcursor-dev.install b/debian/libxcursor-dev.install
deleted file mode 100755 (executable)
index 47e4cb6..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-usr/include/X11/Xcursor/Xcursor.h
-usr/lib/libXcursor.a
-usr/lib/libXcursor.la
-usr/lib/libXcursor.so
-usr/lib/pkgconfig/*.pc
-
diff --git a/debian/libxcursor-dev.manpages b/debian/libxcursor-dev.manpages
deleted file mode 100755 (executable)
index 8b13789..0000000
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/debian/libxcursor1-udeb.install b/debian/libxcursor1-udeb.install
deleted file mode 100644 (file)
index 400d2d7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-usr/lib/libXcursor.so.*
diff --git a/debian/libxcursor1.install b/debian/libxcursor1.install
deleted file mode 100644 (file)
index 400d2d7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-usr/lib/libXcursor.so.*
diff --git a/debian/rules b/debian/rules
deleted file mode 100755 (executable)
index d1b3643..0000000
+++ /dev/null
@@ -1,104 +0,0 @@
-#!/usr/bin/make -f
-# debian/rules for the Debian libxcursor package.
-# Copyright Â© 2004 Scott James Remnant <scott@netsplit.com>
-# Copyright Â© 2005 Daniel Stone <daniel@fooishbar.org>
-# Copyright Â© 2005 David Nusinow <dnusinow@debian.org>
-
-# Uncomment this to turn on verbose mode.
-#export DH_VERBOSE=1
-
-# set this to the name of the main shlib's binary package
-PACKAGE = libxcursor1
-
-include debian/xsfbs/xsfbs.mk
-
-CFLAGS = -Wall -g
-LDFLAGS +=  -Wl,--hash-style=both -Wl,--as-needed
-ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS)))
-       CFLAGS += -O0
-else
-       CFLAGS += -O2
-endif
-ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
-       NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
-       MAKEFLAGS += -j$(NUMJOBS)
-endif
-
-DEB_HOST_ARCH      ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
-DEB_HOST_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
-DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
-ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
-       confflags += --build=$(DEB_HOST_GNU_TYPE)
-else
-       confflags += --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE)
-endif
-
-autogen:
-       dh_testdir
-
-       ./autogen.sh
-
-#build: patch build-stamp
-build: autogen build-stamp
-build-stamp:
-       dh_testdir
-       test -d obj-$(DEB_BUILD_GNU_TYPE) || mkdir obj-$(DEB_BUILD_GNU_TYPE)
-       cd obj-$(DEB_BUILD_GNU_TYPE) && \
-       ../configure --prefix=/usr CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"
-       cd obj-$(DEB_BUILD_GNU_TYPE) && $(MAKE)
-
-       touch build-stamp
-
-clean: xsfclean
-       dh_testdir
-       dh_testroot
-       rm -f build-stamp
-
-       rm -f config.cache config.log config.status
-       rm -f */config.cache */config.log */config.status
-       rm -f conftest* */conftest*
-       rm -rf autom4te.cache */autom4te.cache
-       rm -rf obj-*
-       rm -f aclocal.m4 config.guess config.h.in config.sub configure
-       rm -f depcomp install-sh missing mkinstalldirs ltmain.sh
-       #rm -f ltmain.sh
-       find -name Makefile.in -exec rm -f {} \;
-       #find -name Makefile.in -delete
-
-       dh_clean
-
-install: build
-       dh_testdir
-       dh_testroot
-       dh_clean -k
-       dh_installdirs
-
-       cd obj-$(DEB_BUILD_GNU_TYPE) && $(MAKE) DESTDIR=$(CURDIR)/debian/tmp install
-
-# Build architecture-dependent files here.
-binary-arch: build install
-       dh_testdir
-       dh_testroot
-
-#      dh_installdocs
-       dh_install --sourcedir=debian/tmp --list-missing --exclude=usr/share/man/man3
-#      dh_installman
-#      dh_installchangelogs
-       dh_link
-       dh_strip --dbg-package=$(PACKAGE)-dbg
-       dh_compress
-       dh_fixperms
-       dh_makeshlibs -V "libxcursor1 (>> 1.1.2)"
-#      dh_makeshlibs -V "libxcursor1 (>> 1.1.2)" --add-udeb=$(PACKAGE)-udeb
-       dh_shlibdeps
-       dh_installdeb
-       dh_gencontrol
-       dh_md5sums
-       dh_builddeb
-
-# Build architecture-independent files here.
-binary-indep: build install
-# Nothing to do
-
-binary: binary-indep binary-arch
-.PHONY: build clean binary-indep binary-arch binary install
diff --git a/debian/watch b/debian/watch
deleted file mode 100644 (file)
index 9f1353a..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-version=3
-http://xorg.freedesktop.org/releases/individual/lib/ libXcursor-(.*)\.tar\.gz
diff --git a/debian/xsfbs/repack.sh b/debian/xsfbs/repack.sh
deleted file mode 100644 (file)
index 5935cc9..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/sh
-
-set -e
-
-if ! [ -d debian/prune ]; then
-       exit 0
-fi
-
-if [ "x$1" != x--upstream-version ]; then
-       exit 1
-fi
-
-version="$2"
-filename="$3"
-
-if [ -z "$version" ] || ! [ -f "$filename" ]; then
-       exit 1
-fi
-
-dir="$(pwd)"
-tempdir="$(mktemp -d)"
-
-cd "$tempdir"
-tar xf "$dir/$filename"
-cat "$dir"/debian/prune/* | while read file; do rm -f */$file; done
-
-tar czf "$dir/$filename" *
-cd "$dir"
-rm -rf "$tempdir"
-echo "Done pruning upstream tarball"
-
-exit 0
diff --git a/debian/xsfbs/xsfbs.mk b/debian/xsfbs/xsfbs.mk
deleted file mode 100644 (file)
index 5e16b10..0000000
+++ /dev/null
@@ -1,276 +0,0 @@
-#!/usr/bin/make -f
-
-# Debian X Strike Force Build System (XSFBS): Make portion
-
-# Copyright 1996 Stephen Early
-# Copyright 1997 Mark Eichin
-# Copyright 1998-2005, 2007 Branden Robinson
-# Copyright 2005 David Nusinow
-#
-# Licensed under the GNU General Public License, version 2.  See the file
-# /usr/share/common-licenses/GPL or <http://www.gnu.org/copyleft/gpl.txt>.
-
-# Originally by Stephen Early <sde1000@debian.org>
-# Modified by Mark W. Eichin <eichin@kitten.gen.ma.us>
-# Modified by Adam Heath <doogie@debian.org>
-# Modified by Branden Robinson <branden@debian.org>
-# Modified by Fabio Massimo Di Nitto <fabbione@fabbione.net>
-# Modified by David Nusinow <dnusinow@debian.org>
-# Acknowledgements to Manoj Srivastava.
-
-# Pass $(DH_OPTIONS) into the environment for debhelper's benefit.
-export DH_OPTIONS
-
-# force quilt to not use ~/.quiltrc and to use debian/patches
-QUILT = QUILT_PATCHES=debian/patches quilt --quiltrc /dev/null
-
-# Set up parameters for the upstream build environment.
-
-# Determine (source) package name from Debian changelog.
-SOURCE_NAME:=$(shell dpkg-parsechangelog -ldebian/changelog \
-                        | grep '^Source:' | awk '{print $$2}')
-
-# Determine package version from Debian changelog.
-SOURCE_VERSION:=$(shell dpkg-parsechangelog -ldebian/changelog \
-                        | grep '^Version:' | awk '{print $$2}')
-
-# Determine upstream version number.
-UPSTREAM_VERSION:=$(shell echo $(SOURCE_VERSION) | sed 's/-.*//')
-
-# Determine the source version without the epoch for make-orig-tar-gz
-NO_EPOCH_VER:=$(shell echo $(UPSTREAM_VERSION) | sed 's/^.://')
-
-# Figure out who's building this package.
-BUILDER:=$(shell echo $${DEBEMAIL:-$${EMAIL:-$$(echo $$LOGNAME@$$(cat /etc/mailname 2>/dev/null))}})
-
-# Find out if this is an official build; an official build has nothing but
-# digits, dots, and/or the codename of a release in the Debian part of the
-# version number.  Anything else indicates an unofficial build.
-OFFICIAL_BUILD:=$(shell VERSION=$(SOURCE_VERSION); if ! expr "$$(echo $${VERSION\#\#*-} | sed 's/\(woody\|sarge\|etch\|lenny\)//g')" : ".*[^0-9.].*" >/dev/null 2>&1; then echo yes; fi)
-
-# Set up parameters for the Debian build environment.
-
-# Determine our architecture.
-BUILD_ARCH:=$(shell dpkg-architecture -qDEB_BUILD_ARCH)
-# Work around some old-time dpkg braindamage.
-BUILD_ARCH:=$(subst i486,i386,$(BUILD_ARCH))
-# The DEB_HOST_ARCH variable may be set per the Debian cross-compilation policy.
-ifdef DEB_HOST_ARCH
- ARCH:=$(DEB_HOST_ARCH)
-else
- # dpkg-cross sets the ARCH environment variable; if set, use it.
- ifdef ARCH
-  ARCH:=$(ARCH)
- else
-  ARCH:=$(BUILD_ARCH)
- endif
-endif
-
-# $(STAMP_DIR) houses stamp files for complex targets.
-STAMP_DIR:=stampdir
-
-# $(DEBTREEDIR) is where all install rules are told (via $(DESTDIR)) to place
-# their files.
-DEBTREEDIR:=$(CURDIR)/debian/tmp
-
-# All "important" targets have four lines:
-#   1) A target name that is invoked by a package-building tool or the user.
-#      This consists of a dependency on a "$(STAMP_DIR)/"-prefixed counterpart.
-#   2) A line delcaring 1) as a phony target (".PHONY:").
-#   3) A "$(STAMP_DIR)/"-prefixed target which does the actual work, and may
-#   depend on other targets.
-#   4) A line declaring 3) as a member of the $(stampdir_targets) variable; the
-#   "$(STAMP_DIR)/" prefix is omitted.
-#
-# This indirection is needed so that the "stamp" files that signify when a rule
-# is done can be located in a separate "stampdir".  Recall that make has no way
-# to know when a goal has been met for a phony target (like "build" or
-# "install").
-#
-# At the end of each "$(STAMP_DIR)/" target, be sure to run the command ">$@"
-# so that the target will not be run again.  Removing the file will make Make
-# run the target over.
-
-# All phony targets should be declared as dependencies of .PHONY, even if they
-# do not have "($STAMP_DIR)/"-prefixed counterparts.
-
-# Define a harmless default rule to keep things from going nuts by accident.
-.PHONY: default
-default:
-
-# Set up the $(STAMP_DIR) directory.
-.PHONY: stampdir
-stampdir_targets+=stampdir
-stampdir: $(STAMP_DIR)/stampdir
-$(STAMP_DIR)/stampdir:
-       mkdir $(STAMP_DIR)
-       >$@
-
-# Set up the package build directory as quilt expects to find it.
-.PHONY: prepare
-stampdir_targets+=prepare
-prepare: $(STAMP_DIR)/prepare
-$(STAMP_DIR)/prepare: $(STAMP_DIR)/log $(STAMP_DIR)/genscripts
-       >$@
-
-.PHONY: log
-stampdir_targets+=log
-log: $(STAMP_DIR)/log
-$(STAMP_DIR)/log: $(STAMP_DIR)/stampdir
-       mkdir -p $(STAMP_DIR)/log
-
-# Apply all patches to the upstream source.
-.PHONY: patch
-stampdir_targets+=patch
-patch: $(STAMP_DIR)/patch
-$(STAMP_DIR)/patch: $(STAMP_DIR)/prepare
-       if ! [ `which quilt` ]; then \
-               echo "Couldn't find quilt. Please install it or add it to the build-depends for this package."; \
-               exit 1; \
-       fi; \
-       if $(QUILT) next >/dev/null 2>&1; then \
-         echo -n "Applying patches..."; \
-         if $(QUILT) push -a -v >$(STAMP_DIR)/log/patch 2>&1; then \
-           cat $(STAMP_DIR)/log/patch; \
-           echo "successful."; \
-         else \
-           cat $(STAMP_DIR)/log/patch; \
-           echo "failed! (check $(STAMP_DIR)/log/patch for details)"; \
-           exit 1; \
-         fi; \
-       else \
-         echo "No patches to apply"; \
-       fi; \
-       >$@
-
-# Revert all patches to the upstream source.
-.PHONY: unpatch
-unpatch: $(STAMP_DIR)/log
-       rm -f $(STAMP_DIR)/patch
-       @echo -n "Unapplying patches..."; \
-       if $(QUILT) applied >/dev/null 2>/dev/null; then \
-         if $(QUILT) pop -a -v >$(STAMP_DIR)/log/unpatch 2>&1; then \
-           cat $(STAMP_DIR)/log/unpatch; \
-           echo "successful."; \
-         else \
-           cat $(STAMP_DIR)/log/unpatch; \
-           echo "failed! (check $(STAMP_DIR)/log/unpatch for details)"; \
-           exit 1; \
-         fi; \
-       else \
-         echo "nothing to do."; \
-       fi
-
-# Clean the generated maintainer scripts.
-.PHONY: cleanscripts
-cleanscripts:
-       rm -f $(STAMP_DIR)/genscripts
-       rm -f debian/*.config \
-             debian/*.postinst \
-             debian/*.postrm \
-             debian/*.preinst \
-             debian/*.prerm
-
-# Clean the package build tree.
-.PHONY: xsfclean
-xsfclean: cleanscripts unpatch
-       dh_testdir
-       rm -rf .pc
-       rm -rf $(STAMP_DIR)
-       dh_clean
-
-# Remove files from the upstream source tree that we don't need, or which have
-# licensing problems.  It must be run before creating the .orig.tar.gz.
-#
-# Note: This rule is for Debian package maintainers' convenience, and is not
-# needed for conventional build scenarios.
-.PHONY: prune-upstream-tree
-prune-upstream-tree:
-       # Ensure we're in the correct directory.
-       dh_testdir
-       grep -rvh '^#' debian/prune/ | xargs --no-run-if-empty rm -rf
-
-# Verify that there are no offsets or fuzz in the patches we apply.
-#
-# Note: This rule is for Debian package maintainers' convenience, and is not
-# needed for conventional build scenarios.
-.PHONY: patch-audit
-patch-audit: prepare unpatch
-       @echo -n "Auditing patches..."; \
-       >$(STAMP_DIR)/log/patch; \
-       FUZZY=; \
-       while [ -n "$$($(QUILT) next)" ]; do \
-         RESULT=$$($(QUILT) push -v | tee -a $(STAMP_DIR)/log/patch | grep ^Hunk | sed 's/^Hunk.*\(succeeded\|FAILED\).*/\1/');\
-         case "$$RESULT" in \
-           succeeded) \
-             echo "fuzzy patch: $$($(QUILT) top)" \
-               | tee -a $(STAMP_DIR)/log/$$($(QUILT) top); \
-             FUZZY=yes; \
-             ;; \
-           FAILED) \
-             echo "broken patch: $$($(QUILT) next)" \
-               | tee -a $(STAMP_DIR)/log/$$($(QUILT) next); \
-             exit 1; \
-             ;; \
-         esac; \
-       done; \
-       if [ -n "$$FUZZY" ]; then \
-         echo "there were fuzzy patches; please fix."; \
-         exit 1; \
-       else \
-         echo "done."; \
-       fi
-
-# Generate the maintainer scripts.
-.PHONY: genscripts
-stampdir_targets+=genscripts
-genscripts: $(STAMP_DIR)/genscripts
-$(STAMP_DIR)/genscripts: $(STAMP_DIR)/stampdir
-       for FILE in debian/*.config.in \
-                   debian/*.postinst.in \
-                   debian/*.postrm.in \
-                   debian/*.preinst.in \
-                   debian/*.prerm.in; do \
-         if [ -e "$$FILE" ]; then \
-           MAINTSCRIPT=$$(echo $$FILE | sed 's/.in$$//'); \
-           sed -n '1,/^#INCLUDE_SHELL_LIB#$$/p' <$$FILE \
-             | sed -e '/^#INCLUDE_SHELL_LIB#$$/d' >$$MAINTSCRIPT.tmp; \
-           cat debian/xsfbs/xsfbs.sh >>$$MAINTSCRIPT.tmp; \
-           sed -n '/^#INCLUDE_SHELL_LIB#$$/,$$p' <$$FILE \
-             | sed -e '/^#INCLUDE_SHELL_LIB#$$/d' >>$$MAINTSCRIPT.tmp; \
-           sed -e 's/@SOURCE_VERSION@/$(SOURCE_VERSION)/' \
-               -e 's/@OFFICIAL_BUILD@/$(OFFICIAL_BUILD)/' \
-             <$$MAINTSCRIPT.tmp >$$MAINTSCRIPT; \
-           rm $$MAINTSCRIPT.tmp; \
-         fi; \
-       done
-       # Validate syntax of generated shell scripts.
-       #sh debian/scripts/validate-posix-sh debian/*.config \
-       #                                    debian/*.postinst \
-       #                                    debian/*.postrm \
-       #                                    debian/*.preinst \
-       #                                    debian/*.prerm
-       >$@
-
-SERVERMINVERS = $(shell cat /usr/share/xserver-xorg/serverminver 2>/dev/null)
-VIDEOABI = $(shell cat /usr/share/xserver-xorg/videoabiver 2>/dev/null)
-INPUTABI = $(shell cat /usr/share/xserver-xorg/inputabiver 2>/dev/null)
-SERVER_DEPENDS = xserver-xorg-core (>= $(SERVERMINVERS))
-VIDDRIVER_PROVIDES = xserver-xorg-video-$(VIDEOABI)
-INPDRIVER_PROVIDES = xserver-xorg-input-$(INPUTABI)
-ifeq ($(PACKAGE),)
-PACKAGE=$(shell awk '/^Package:/ { print $$2; exit }' < debian/control)
-endif
-
-.PHONY: serverabi
-serverabi: install
-ifeq ($(SERVERMINVERS),)
-       @echo error: xserver-xorg-dev needs to be installed
-       @exit 1
-else
-       echo "xserver:Depends=$(SERVER_DEPENDS)" >> debian/$(PACKAGE).substvars
-       echo "xviddriver:Provides=$(VIDDRIVER_PROVIDES)" >> debian/$(PACKAGE).substvars
-       echo "xinpdriver:Provides=$(INPDRIVER_PROVIDES)" >> debian/$(PACKAGE).substvars
-endif
-
-# vim:set noet ai sts=8 sw=8 tw=0:
diff --git a/debian/xsfbs/xsfbs.sh b/debian/xsfbs/xsfbs.sh
deleted file mode 100644 (file)
index 813fd8d..0000000
+++ /dev/null
@@ -1,622 +0,0 @@
-# This is the X Strike Force shell library for X Window System package
-# maintainer scripts.  It serves to define shell functions commonly used by
-# such packages, and performs some error checking necessary for proper operation
-# of those functions.  By itself, it does not "do" much; the maintainer scripts
-# invoke the functions defined here to accomplish package installation and
-# removal tasks.
-
-# If you are reading this within a Debian package maintainer script (e.g.,
-# /var/lib/dpkg/info/PACKAGE.{config,preinst,postinst,prerm,postrm}), you can
-# skip past this library by scanning forward in this file to the string
-# "GOBSTOPPER".
-
-SOURCE_VERSION=@SOURCE_VERSION@
-OFFICIAL_BUILD=@OFFICIAL_BUILD@
-
-# Use special abnormal exit codes so that problems with this library are more
-# easily tracked down.
-SHELL_LIB_INTERNAL_ERROR=86
-SHELL_LIB_THROWN_ERROR=74
-SHELL_LIB_USAGE_ERROR=99
-
-# old -> new variable names
-if [ -z "$DEBUG_XORG_PACKAGE" ] && [ -n "$DEBUG_XFREE86_PACKAGE" ]; then
-  DEBUG_XORG_PACKAGE="$DEBUG_XFREE86_PACKAGE"
-fi
-if [ -z "$DEBUG_XORG_DEBCONF" ] && [ -n "$DEBUG_XFREE86_DEBCONF" ]; then
-  DEBUG_XORG_DEBCONF="$DEBUG_XFREE86_DEBCONF"
-fi
-
-# initial sanity checks
-if [ -z "$THIS_PACKAGE" ]; then
-  cat >&2 <<EOF
-Error: package maintainer script attempted to use shell library without
-definining \$THIS_PACKAGE shell variable.  Please report the package name,
-version, and the text of this error message to the Debian Bug Tracking System.
-Visit <http://www.debian.org/Bugs/Reporting> on the World Wide Web for
-instructions, read the file /usr/share/doc/debian/bug-reporting.txt from the
-"doc-debian" package, or install the "reportbug" package and use the command of
-the same name to file a report against version $SOURCE_VERSION of this package.
-EOF
-  exit $SHELL_LIB_USAGE_ERROR
-fi
-
-if [ -z "$THIS_SCRIPT" ]; then
-  cat >&2 <<EOF
-Error: package maintainer script attempted to use shell library without
-definining \$THIS_SCRIPT shell variable.  Please report the package name,
-version, and the text of this error message to the Debian Bug Tracking System.
-Visit <http://www.debian.org/Bugs/Reporting> on the World Wide Web for
-instructions, read the file /usr/share/doc/debian/bug-reporting.txt from the
-"doc-debian" package, or install the "reportbug" package and use the command of
-the same name to file a report against version $SOURCE_VERSION of the
-"$THIS_PACKAGE" package.
-EOF
-  exit $SHELL_LIB_USAGE_ERROR
-fi
-
-if [ "$1" = "reconfigure" ] || [ -n "$DEBCONF_RECONFIGURE" ]; then
-  RECONFIGURE="true"
-else
-  RECONFIGURE=
-fi
-
-if ([ "$1" = "install" ] || [ "$1" = "configure" ]) && [ -z "$2" ]; then
-  FIRSTINST="yes"
-fi
-
-if [ -z "$RECONFIGURE" ] && [ -z "$FIRSTINST" ]; then
-  UPGRADE="yes"
-fi
-
-trap "message;\
-      message \"Received signal.  Aborting $THIS_PACKAGE package $THIS_SCRIPT script.\";\
-      message;\
-      exit 1" HUP INT QUIT TERM
-
-reject_nondigits () {
-  # syntax: reject_nondigits [ operand ... ]
-  #
-  # scan operands (typically shell variables whose values cannot be trusted) for
-  # characters other than decimal digits and barf if any are found
-  while [ -n "$1" ]; do
-    # does the operand contain anything but digits?
-    if ! expr "$1" : "[[:digit:]]\+$" > /dev/null 2>&1; then
-      # can't use die(), because it wraps message() which wraps this function
-      echo "$THIS_PACKAGE $THIS_SCRIPT error: reject_nondigits() encountered" \
-           "possibly malicious garbage \"$1\"" >&2
-      exit $SHELL_LIB_THROWN_ERROR
-    fi
-    shift
-  done
-}
-
-reject_unlikely_path_chars () {
-  # syntax: reject_unlikely_path_chars [ operand ... ]
-  #
-  # scan operands (typically shell variables whose values cannot be trusted) for
-  # characters unlikely to be seen in a path and which the shell might
-  # interpret and barf if any are found
-  while [ -n "$1" ]; do
-    # does the operand contain any funny characters?
-    if expr "$1" : '.*[!$&()*;<>?|].*' > /dev/null 2>&1; then
-      # can't use die(), because I want to avoid forward references
-      echo "$THIS_PACKAGE $THIS_SCRIPT error: reject_unlikely_path_chars()" \
-           "encountered possibly malicious garbage \"$1\"" >&2
-      exit $SHELL_LIB_THROWN_ERROR
-    fi
-    shift
-  done
-}
-
-# Query the terminal to establish a default number of columns to use for
-# displaying messages to the user.  This is used only as a fallback in the
-# event the COLUMNS variable is not set.  ($COLUMNS can react to SIGWINCH while
-# the script is running, and this cannot, only being calculated once.)
-DEFCOLUMNS=$(stty size 2> /dev/null | awk '{print $2}') || true
-if ! expr "$DEFCOLUMNS" : "[[:digit:]]\+$" > /dev/null 2>&1; then
-  DEFCOLUMNS=80
-fi
-
-message () {
-  # pretty-print messages of arbitrary length
-  reject_nondigits "$COLUMNS"
-  echo "$*" | fmt -t -w ${COLUMNS:-$DEFCOLUMNS} >&2
-}
-
-observe () {
-  # syntax: observe message ...
-  #
-  # issue observational message suitable for logging someday when support for
-  # it exists in dpkg
-  if [ -n "$DEBUG_XORG_PACKAGE" ]; then
-    message "$THIS_PACKAGE $THIS_SCRIPT note: $*"
-  fi
-}
-
-warn () {
-  # syntax: warn message ...
-  #
-  # issue warning message suitable for logging someday when support for
-  # it exists in dpkg; also send to standard error
-  message "$THIS_PACKAGE $THIS_SCRIPT warning: $*"
-}
-
-die () {
-  # syntax: die message ...
-  #
-  # exit script with error message
-  message "$THIS_PACKAGE $THIS_SCRIPT error: $*"
-  exit $SHELL_LIB_THROWN_ERROR
-}
-
-internal_error () {
-  # exit script with error; essentially a "THIS SHOULD NEVER HAPPEN" message
-  message "internal error: $*"
-  if [ -n "$OFFICIAL_BUILD" ]; then
-    message "Please report a bug in the $THIS_SCRIPT script of the" \
-            "$THIS_PACKAGE package, version $SOURCE_VERSION to the Debian Bug" \
-            "Tracking System.  Include all messages above that mention the" \
-            "$THIS_PACKAGE package.  Visit " \
-            "<http://www.debian.org/Bugs/Reporting> on the World Wide Web for" \
-            "instructions, read the file" \
-            "/usr/share/doc/debian/bug-reporting.txt from the doc-debian" \
-            "package, or install the reportbug package and use the command of" \
-            "the same name to file a report."
-  fi
-  exit $SHELL_LIB_INTERNAL_ERROR
-}
-
-usage_error () {
-  message "usage error: $*"
-  message "Please report a bug in the $THIS_SCRIPT script of the" \
-          "$THIS_PACKAGE package, version $SOURCE_VERSION to the Debian Bug" \
-          "Tracking System.  Include all messages above that mention the" \
-          "$THIS_PACKAGE package.  Visit " \
-          "<http://www.debian.org/Bugs/Reporting> on the World Wide Web for" \
-          "instructions, read the file" \
-          "/usr/share/doc/debian/bug-reporting.txt from the doc-debian" \
-          "package, or install the reportbug package and use the command of" \
-          "the same name to file a report."
-  exit $SHELL_LIB_USAGE_ERROR
-}
-
-font_update () {
-  # run $UPDATECMDS in $FONTDIRS
-
-  local dir cmd shortcmd x_font_dir_prefix
-
-  x_font_dir_prefix="/usr/share/fonts/X11"
-
-  if [ -z "$UPDATECMDS" ]; then
-    usage_error "font_update() called but \$UPDATECMDS not set"
-  fi
-  if [ -z "$FONTDIRS" ]; then
-    usage_error "font_update() called but \$FONTDIRS not set"
-  fi
-
-  reject_unlikely_path_chars "$UPDATECMDS"
-  reject_unlikely_path_chars "$FONTDIRS"
-
-  for dir in $FONTDIRS; do
-    if [ -d "$x_font_dir_prefix/$dir" ]; then
-      for cmd in $UPDATECMDS; do
-        if which "$cmd" > /dev/null 2>&1; then
-          shortcmd=${cmd##*/}
-          observe "running $shortcmd in $dir font directory"
-         cmd_opts=
-          if [ "$shortcmd" = "update-fonts-alias" ]; then
-            cmd_opts=--x11r7-layout
-          fi
-          if [ "$shortcmd" = "update-fonts-dir" ]; then
-            cmd_opts=--x11r7-layout
-          fi
-          if [ "$shortcmd" = "update-fonts-scale" ]; then
-            cmd_opts=--x11r7-layout
-          fi
-          $cmd $cmd_opts $dir || warn "$cmd $cmd_opts $dir" \
-                              "failed; font directory data may not" \
-                              "be up to date"
-        else
-          warn "$cmd not found; not updating corresponding $dir font" \
-               "directory data"
-        fi
-      done
-    else
-      warn "$dir is not a directory; not updating font directory data"
-    fi
-  done
-}
-
-remove_conffile_prepare () {
-  # syntax: remove_conffile_prepare filename official_md5sum ...
-  #
-  # Check a conffile "filename" against a list of canonical MD5 checksums.
-  # If the file's current MD5 checksum matches one of the "official_md5sum"
-  # operands provided, then prepare the conffile for removal from the system.
-  # We defer actual deletion until the package is configured so that we can
-  # roll this operation back if package installation fails.
-  #
-  # Call this function from a preinst script in the event $1 is "upgrade" or
-  # "install" and verify $2 to ensure the package is being upgraded from a
-  # version (or installed over a version removed-but-not-purged) prior to the
-  # one in which the conffile was obsoleted.
-
-  local conffile current_checksum
-
-  # validate arguments
-  if [ $# -lt 2 ]; then
-    usage_error "remove_conffile_prepare() called with wrong number of" \
-                "arguments; expected at least 2, got $#"
-    exit $SHELL_LIB_USAGE_ERROR
-  fi
-
-  conffile="$1"
-  shift
-
-  # does the conffile even exist?
-  if [ -e "$conffile" ]; then
-    # calculate its checksum
-    current_checksum=$(md5sum < "$conffile" | sed 's/[[:space:]].*//')
-    # compare it to each supplied checksum
-    while [ -n "$1" ]; do
-      if [ "$current_checksum" = "$1" ]; then
-        # we found a match; move the confffile and stop looking
-        observe "preparing obsolete conffile $conffile for removal"
-        mv "$conffile" "$conffile.$THIS_PACKAGE-tmp"
-        break
-      fi
-      shift
-    done
-  fi
-}
-
-remove_conffile_lookup () {
-  # syntax: remove_conffile_lookup package filename
-  #
-  # Lookup the md5sum of a conffile in dpkg's database, and prepare for removal
-  # if it matches the actual file's md5sum.
-  #
-  # Call this function when you would call remove_conffile_prepare but only
-  # want to check against dpkg's status database instead of known checksums.
-
-  local package conffile old_md5sum
-
-  # validate arguments
-  if [ $# -ne 2 ]; then
-    usage_error "remove_conffile_lookup() called with wrong number of" \
-                "arguments; expected 1, got $#"
-    exit $SHELL_LIB_USAGE_ERROR
-  fi
-
-  package="$1"
-  conffile="$2"
-
-  if ! [ -e "$conffile" ]; then
-    return
-  fi
-  old_md5sum="$(dpkg-query -W -f='${Conffiles}' "$package" | \
-    awk '{ if (match($0, "^ '"$conffile"' ")) print $2}')"
-  if [ -n "$old_md5sum" ]; then
-    remove_conffile_prepare "$conffile" "$old_md5sum"
-  fi
-}
-
-remove_conffile_commit () {
-  # syntax: remove_conffile_commit filename
-  #
-  # Complete the removal of a conffile "filename" that has become obsolete.
-  #
-  # Call this function from a postinst script after having used
-  # remove_conffile_prepare() in the preinst.
-
-  local conffile
-
-  # validate arguments
-  if [ $# -ne 1 ]; then
-    usage_error "remove_conffile_commit() called with wrong number of" \
-                "arguments; expected 1, got $#"
-    exit $SHELL_LIB_USAGE_ERROR
-  fi
-
-  conffile="$1"
-
-  # if the temporary file created by remove_conffile_prepare() exists, remove it
-  if [ -e "$conffile.$THIS_PACKAGE-tmp" ]; then
-    observe "committing removal of obsolete conffile $conffile"
-    rm "$conffile.$THIS_PACKAGE-tmp"
-  fi
-}
-
-remove_conffile_rollback () {
-  # syntax: remove_conffile_rollback filename
-  #
-  # Roll back the removal of a conffile "filename".
-  #
-  # Call this function from a postrm script in the event $1 is "abort-upgrade"
-  # or "abort-install" is  after having used remove_conffile_prepare() in the
-  # preinst.
-
-  local conffile
-
-  # validate arguments
-  if [ $# -ne 1 ]; then
-    usage_error "remove_conffile_rollback() called with wrong number of" \
-                "arguments; expected 1, got $#"
-    exit $SHELL_LIB_USAGE_ERROR
-  fi
-
-  conffile="$1"
-
-  # if the temporary file created by remove_conffile_prepare() exists, move it
-  # back
-  if [ -e "$conffile.$THIS_PACKAGE-tmp" ]; then
-    observe "rolling back removal of obsolete conffile $conffile"
-    mv "$conffile.$THIS_PACKAGE-tmp" "$conffile"
-  fi
-}
-
-replace_conffile_with_symlink_prepare () {
-  # syntax: replace_conffile_with_symlink_prepare oldfilename newfilename \
-  # official_md5sum ...
-  #
-  # Check a conffile "oldfilename" against a list of canonical MD5 checksums.
-  # If the file's current MD5 checksum matches one of the "official_md5sum"
-  # operands provided, then prepare the conffile for removal from the system.
-  # We defer actual deletion until the package is configured so that we can
-  # roll this operation back if package installation fails. Otherwise copy it
-  # to newfilename and let dpkg handle it through conffiles mechanism.
-  #
-  # Call this function from a preinst script in the event $1 is "upgrade" or
-  # "install" and verify $2 to ensure the package is being upgraded from a
-  # version (or installed over a version removed-but-not-purged) prior to the
-  # one in which the conffile was obsoleted.
-
-  local conffile current_checksum
-
-  # validate arguments
-  if [ $# -lt 3 ]; then
-    usage_error "replace_conffile_with_symlink_prepare() called with wrong" \
-                " number of arguments; expected at least 3, got $#"
-    exit $SHELL_LIB_USAGE_ERROR
-  fi
-
-  oldconffile="$1"
-  shift
-  newconffile="$1"
-  shift
-
-  remove_conffile_prepare "$_oldconffile" "$@"
-  # If $oldconffile still exists, then md5sums didn't match.
-  # Copy it to new one.
-  if [ -f "$oldconffile" ]; then
-    cp "$oldconffile" "$newconffile"
-  fi
-
-}
-
-replace_conffile_with_symlink_commit () {
-  # syntax: replace_conffile_with_symlink_commit oldfilename
-  #
-  # Complete the removal of a conffile "oldfilename" that has been
-  # replaced by a symlink.
-  #
-  # Call this function from a postinst script after having used
-  # replace_conffile_with_symlink_prepare() in the preinst.
-
-  local conffile
-
-  # validate arguments
-  if [ $# -ne 1 ]; then
-    usage_error "replace_conffile_with_symlink_commit() called with wrong" \
-                "number of arguments; expected 1, got $#"
-    exit $SHELL_LIB_USAGE_ERROR
-  fi
-
-  conffile="$1"
-
-  remove_conffile_commit "$conffile"
-}
-
-replace_conffile_with_symlink_rollback () {
-  # syntax: replace_conffile_with_symlink_rollback oldfilename newfilename
-  #
-  # Roll back the replacing of a conffile "oldfilename" with symlink to
-  # "newfilename".
-  #
-  # Call this function from a postrm script in the event $1 is "abort-upgrade"
-  # or "abort-install" and verify $2 to ensure the package failed to upgrade
-  # from a version (or install over a version removed-but-not-purged) prior
-  # to the one in which the conffile was obsoleted.
-  # You should have  used replace_conffile_with_symlink_prepare() in the
-  # preinst.
-
-  local conffile
-
-  # validate arguments
-  if [ $# -ne 2 ]; then
-    usage_error "replace_conffile_with_symlink_rollback() called with wrong" \
-                "number of arguments; expected 2, got $#"
-    exit $SHELL_LIB_USAGE_ERROR
-  fi
-
-  oldconffile="$1"
-  newconffile="$2"
-
-  remove_conffile_rollback "$_oldconffile"
-  if [ -f "$newconffile" ]; then
-    rm "$newconffile"
-  fi
-}
-
-run () {
-  # syntax: run command [ argument ... ]
-  #
-  # Run specified command with optional arguments and report its exit status.
-  # Useful for commands whose exit status may be nonzero, but still acceptable,
-  # or commands whose failure is not fatal to us.
-  #
-  # NOTE: Do *not* use this function with db_get or db_metaget commands; in
-  # those cases the return value of the debconf command *must* be checked
-  # before the string returned by debconf is used for anything.
-
-  local retval
-
-  # validate arguments
-  if [ $# -lt 1 ]; then
-    usage_error "run() called with wrong number of arguments; expected at" \
-                "least 1, got $#"
-    exit $SHELL_LIB_USAGE_ERROR
-  fi
-
-  "$@" || retval=$?
-
-  if [ ${retval:-0} -ne 0 ]; then
-    observe "command \"$*\" exited with status $retval"
-  fi
-}
-
-make_symlink_sane () {
-  # syntax: make_symlink_sane symlink target
-  #
-  # Ensure that the symbolic link symlink exists, and points to target.
-  #
-  # If symlink does not exist, create it and point it at target.
-  #
-  # If symlink exists but is not a symbolic link, back it up.
-  #
-  # If symlink exists, is a symbolic link, but points to the wrong location, fix
-  # it.
-  #
-  # If symlink exists, is a symbolic link, and already points to target, do
-  # nothing.
-  #
-  # This function wouldn't be needed if ln had an -I, --idempotent option.
-
-  # Validate arguments.
-  if [ $# -ne 2 ]; then
-    usage_error "make_symlink_sane() called with wrong number of arguments;" \
-      "expected 2, got $#"
-    exit $SHELL_LIB_USAGE_ERROR
-  fi
-
-  # We could just use the positional parameters as-is, but that makes things
-  # harder to follow.
-  local symlink target
-
-  symlink="$1"
-  target="$2"
-
-  if [ -L "$symlink" ] && [ "$(readlink "$symlink")" = "$target" ]; then
-      observe "link from $symlink to $target already exists"
-  else
-    observe "creating symbolic link from $symlink to $target"
-    mkdir -p "${target%/*}" "${symlink%/*}"
-    ln -s -b -S ".dpkg-old" "$target" "$symlink"
-  fi
-}
-
-migrate_dir_to_symlink () {
-  # syntax: migrate_dir_to_symlink old_location new_location
-  #
-  # Per Debian Policy section 6.5.4, "A directory will never be replaced by a
-  # symbolic link to a directory or vice versa; instead, the existing state
-  # (symlink or not) will be left alone and dpkg will follow the symlink if
-  # there is one."
-  #
-  # We have to do it ourselves.
-  #
-  # This function moves the contents of old_location, a directory, into
-  # new_location, a directory, then makes old_location a symbolic link to
-  # new_location.
-  #
-  # old_location need not exist, but if it does, it must be a directory (or a
-  # symlink to a directory).  If it is not, it is backed up.  If new_location
-  # exists already and is not a directory, it is backed up.
-  #
-  # This function should be called from a package's preinst so that other
-  # packages unpacked after this one --- but before this package's postinst runs
-  # --- are unpacked into new_location even if their payloads contain
-  # old_location filespecs.
-
-  # Validate arguments.
-  if [ $# -ne 2 ]; then
-    usage_error "migrate_dir_to_symlink() called with wrong number of"
-                "arguments; expected 2, got $#"
-    exit $SHELL_LIB_USAGE_ERROR
-  fi
-
-  # We could just use the positional parameters as-is, but that makes things
-  # harder to follow.
-  local new old
-
-  old="$1"
-  new="$2"
-
-  # Is old location a symlink?
-  if [ -L "$old" ]; then
-    # Does it already point to new location?
-    if [ "$(readlink "$old")" = "$new" ]; then
-      # Nothing to do; migration has already been done.
-      observe "migration of $old to $new already done"
-      return 0
-    else
-      # Back it up.
-      warn "backing up symbolic link $old as $old.dpkg-old"
-      mv -b "$old" "$old.dpkg-old"
-    fi
-  fi
-
-  # Does old location exist, but is not a directory?
-  if [ -e "$old" ] && ! [ -d "$old" ]; then
-      # Back it up.
-      warn "backing up non-directory $old as $old.dpkg-old"
-      mv -b "$old" "$old.dpkg-old"
-  fi
-
-  observe "migrating $old to $new"
-
-  # Is new location a symlink?
-  if [ -L "$new" ]; then
-    # Does it point the wrong way, i.e., back to where we're migrating from?
-    if [ "$(readlink "$new")" = "$old" ]; then
-      # Get rid of it.
-      observe "removing symbolic link $new which points to $old"
-      rm "$new"
-    else
-      # Back it up.
-      warn "backing up symbolic link $new as $new.dpkg-old"
-      mv -b "$new" "$new.dpkg-old"
-    fi
-  fi
-
-  # Does new location exist, but is not a directory?
-  if [ -e "$new" ] && ! [ -d "$new" ]; then
-    warn "backing up non-directory $new as $new.dpkg-old"
-    mv -b "$new" "$new.dpkg-old"
-  fi
-
-  # Create new directory if it does not yet exist.
-  if ! [ -e "$new" ]; then
-    observe "creating $new"
-    mkdir -p "$new"
-  fi
-
-  # Copy files in old location to new location.  Back up any filenames that
-  # already exist in the new location with the extension ".dpkg-old".
-  observe "copying files from $old to $new"
-  if ! (cd "$old" && cp -a -b -S ".dpkg-old" . "$new"); then
-    die "error(s) encountered while copying files from $old to $new"
-  fi
-
-  # Remove files at old location.
-  observe "removing $old"
-  rm -r "$old"
-
-  # Create symlink from old location to new location.
-  make_symlink_sane "$old" "$new"
-}
-
-# vim:set ai et sw=2 ts=2 tw=80:
-
-# GOBSTOPPER: The X Strike Force shell library ends here.
index 90bfdd6..d0cae62 100644 (file)
@@ -1,3 +1,4 @@
+/* include/X11/Xcursor/Xcursor.h.  Generated from Xcursor.h.in by configure.  */
 /*
  * Copyright Â© 2002 Keith Packard
  *
@@ -69,14 +70,13 @@ typedef XcursorUInt XcursorPixel;
 #define XCURSOR_MAGIC  0x72756358  /* "Xcur" LSBFirst */
 
 /*
- * Current Xcursor version number.  This same number
- * must appear in the Xcursor configure.ac file. Yes,
- * it'a a pain to synchronize version numbers like this.
+ * Current Xcursor version number.  Will be substituted by configure
+ * from the version in the libXcursor configure.ac file.
  */
 
-#define XCURSOR_LIB_MAJOR      1
-#define XCURSOR_LIB_MINOR      1
-#define XCURSOR_LIB_REVISION   9
+#define XCURSOR_LIB_MAJOR 1
+#define XCURSOR_LIB_MINOR 1
+#define XCURSOR_LIB_REVISION 13
 #define XCURSOR_LIB_VERSION    ((XCURSOR_LIB_MAJOR * 10000) + \
                                 (XCURSOR_LIB_MINOR * 100) + \
                                 (XCURSOR_LIB_REVISION))
@@ -239,7 +239,7 @@ void
 XcursorImageDestroy (XcursorImage *image);
 
 /*
- * Manage Images objects 
+ * Manage Images objects
  */
 XcursorImages *
 XcursorImagesCreate (int size);
@@ -304,7 +304,7 @@ XcursorXcFileLoad (XcursorFile          *file,
                   XcursorImages    **imagesp);
 
 XcursorBool
-XcursorXcFileSave (XcursorFile             *file, 
+XcursorXcFileSave (XcursorFile             *file,
                   const XcursorComments    *comments,
                   const XcursorImages      *images);
 
@@ -321,15 +321,15 @@ XcursorImages *
 XcursorFileLoadAllImages (FILE *file);
 
 XcursorBool
-XcursorFileLoad (FILE              *file, 
-                XcursorComments    **commentsp, 
+XcursorFileLoad (FILE              *file,
+                XcursorComments    **commentsp,
                 XcursorImages      **imagesp);
 
 XcursorBool
 XcursorFileSaveImages (FILE *file, const XcursorImages *images);
 
 XcursorBool
-XcursorFileSave (FILE *                        file, 
+XcursorFileSave (FILE *                        file,
                 const XcursorComments  *comments,
                 const XcursorImages    *images);
 
@@ -354,7 +354,7 @@ XcursorBool
 XcursorFilenameSaveImages (const char *filename, const XcursorImages *images);
 
 XcursorBool
-XcursorFilenameSave (const char                    *file, 
+XcursorFilenameSave (const char                    *file,
                     const XcursorComments  *comments,
                     const XcursorImages    *images);
 
@@ -376,7 +376,7 @@ XcursorLibraryPath (void);
 
 int
 XcursorLibraryShape (const char *library);
-    
+
 /*
  * Image/Cursor APIs
  */
@@ -465,7 +465,7 @@ XcursorTryShapeBitmapCursor (Display                *dpy,
 #define XCURSOR_BITMAP_HASH_SIZE    16
 
 void
-XcursorImageHash (XImage       *image, 
+XcursorImageHash (XImage       *image,
                  unsigned char hash[XCURSOR_BITMAP_HASH_SIZE]);
 
 /*
diff --git a/include/X11/Xcursor/Xcursor.h.in b/include/X11/Xcursor/Xcursor.h.in
new file mode 100644 (file)
index 0000000..1a14386
--- /dev/null
@@ -0,0 +1,499 @@
+/*
+ * Copyright Â© 2002 Keith Packard
+ *
+ * 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
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of Keith Packard not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * 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
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#ifndef _XCURSOR_H_
+#define _XCURSOR_H_
+#include <stdio.h>
+#include <X11/Xfuncproto.h>
+#include <X11/Xlib.h>
+
+typedef int            XcursorBool;
+typedef unsigned int   XcursorUInt;
+
+typedef XcursorUInt    XcursorDim;
+typedef XcursorUInt    XcursorPixel;
+
+#define XcursorTrue    1
+#define XcursorFalse   0
+
+/*
+ * Cursor files start with a header.  The header
+ * contains a magic number, a version number and a
+ * table of contents which has type and offset information
+ * for the remaining tables in the file.
+ *
+ * File minor versions increment for compatible changes
+ * File major versions increment for incompatible changes (never, we hope)
+ *
+ * Chunks of the same type are always upward compatible.  Incompatible
+ * changes are made with new chunk types; the old data can remain under
+ * the old type.  Upward compatible changes can add header data as the
+ * header lengths are specified in the file.
+ *
+ *  File:
+ *     FileHeader
+ *     LISTofChunk
+ *
+ *  FileHeader:
+ *     CARD32          magic       magic number
+ *     CARD32          header      bytes in file header
+ *     CARD32          version     file version
+ *     CARD32          ntoc        number of toc entries
+ *     LISTofFileToc   toc         table of contents
+ *
+ *  FileToc:
+ *     CARD32          type        entry type
+ *     CARD32          subtype     entry subtype (size for images)
+ *     CARD32          position    absolute file position
+ */
+
+#define XCURSOR_MAGIC  0x72756358  /* "Xcur" LSBFirst */
+
+/*
+ * Current Xcursor version number.  Will be substituted by configure
+ * from the version in the libXcursor configure.ac file.
+ */
+
+#undef XCURSOR_LIB_MAJOR
+#undef XCURSOR_LIB_MINOR
+#undef XCURSOR_LIB_REVISION
+#define XCURSOR_LIB_VERSION    ((XCURSOR_LIB_MAJOR * 10000) + \
+                                (XCURSOR_LIB_MINOR * 100) + \
+                                (XCURSOR_LIB_REVISION))
+
+/*
+ * This version number is stored in cursor files; changes to the
+ * file format require updating this version number
+ */
+#define XCURSOR_FILE_MAJOR     1
+#define XCURSOR_FILE_MINOR     0
+#define XCURSOR_FILE_VERSION   ((XCURSOR_FILE_MAJOR << 16) | (XCURSOR_FILE_MINOR))
+#define XCURSOR_FILE_HEADER_LEN        (4 * 4)
+#define XCURSOR_FILE_TOC_LEN   (3 * 4)
+
+typedef struct _XcursorFileToc {
+    XcursorUInt            type;       /* chunk type */
+    XcursorUInt            subtype;    /* subtype (size for images) */
+    XcursorUInt            position;   /* absolute position in file */
+} XcursorFileToc;
+
+typedef struct _XcursorFileHeader {
+    XcursorUInt            magic;      /* magic number */
+    XcursorUInt            header;     /* byte length of header */
+    XcursorUInt            version;    /* file version number */
+    XcursorUInt            ntoc;       /* number of toc entries */
+    XcursorFileToc  *tocs;     /* table of contents */
+} XcursorFileHeader;
+
+/*
+ * The rest of the file is a list of chunks, each tagged by type
+ * and version.
+ *
+ *  Chunk:
+ *     ChunkHeader
+ *     <extra type-specific header fields>
+ *     <type-specific data>
+ *
+ *  ChunkHeader:
+ *     CARD32      header      bytes in chunk header + type header
+ *     CARD32      type        chunk type
+ *     CARD32      subtype     chunk subtype
+ *     CARD32      version     chunk type version
+ */
+
+#define XCURSOR_CHUNK_HEADER_LEN    (4 * 4)
+
+typedef struct _XcursorChunkHeader {
+    XcursorUInt            header;     /* bytes in chunk header */
+    XcursorUInt            type;       /* chunk type */
+    XcursorUInt            subtype;    /* chunk subtype (size for images) */
+    XcursorUInt            version;    /* version of this type */
+} XcursorChunkHeader;
+
+/*
+ * Here's a list of the known chunk types
+ */
+
+/*
+ * Comments consist of a 4-byte length field followed by
+ * UTF-8 encoded text
+ *
+ *  Comment:
+ *     ChunkHeader header      chunk header
+ *     CARD32      length      bytes in text
+ *     LISTofCARD8 text        UTF-8 encoded text
+ */
+
+#define XCURSOR_COMMENT_TYPE       0xfffe0001
+#define XCURSOR_COMMENT_VERSION            1
+#define XCURSOR_COMMENT_HEADER_LEN  (XCURSOR_CHUNK_HEADER_LEN + (1 *4))
+#define XCURSOR_COMMENT_COPYRIGHT   1
+#define XCURSOR_COMMENT_LICENSE            2
+#define XCURSOR_COMMENT_OTHER      3
+#define XCURSOR_COMMENT_MAX_LEN            0x100000
+
+typedef struct _XcursorComment {
+    XcursorUInt            version;
+    XcursorUInt            comment_type;
+    char           *comment;
+} XcursorComment;
+
+/*
+ * Each cursor image occupies a separate image chunk.
+ * The length of the image header follows the chunk header
+ * so that future versions can extend the header without
+ * breaking older applications
+ *
+ *  Image:
+ *     ChunkHeader     header  chunk header
+ *     CARD32          width   actual width
+ *     CARD32          height  actual height
+ *     CARD32          xhot    hot spot x
+ *     CARD32          yhot    hot spot y
+ *     CARD32          delay   animation delay
+ *     LISTofCARD32    pixels  ARGB pixels
+ */
+
+#define XCURSOR_IMAGE_TYPE         0xfffd0002
+#define XCURSOR_IMAGE_VERSION      1
+#define XCURSOR_IMAGE_HEADER_LEN    (XCURSOR_CHUNK_HEADER_LEN + (5*4))
+#define XCURSOR_IMAGE_MAX_SIZE     0x7fff      /* 32767x32767 max cursor size */
+
+typedef struct _XcursorImage {
+    XcursorUInt            version;    /* version of the image data */
+    XcursorDim     size;       /* nominal size for matching */
+    XcursorDim     width;      /* actual width */
+    XcursorDim     height;     /* actual height */
+    XcursorDim     xhot;       /* hot spot x (must be inside image) */
+    XcursorDim     yhot;       /* hot spot y (must be inside image) */
+    XcursorUInt            delay;      /* animation delay to next frame (ms) */
+    XcursorPixel    *pixels;   /* pointer to pixels */
+} XcursorImage;
+
+/*
+ * Other data structures exposed by the library API
+ */
+typedef struct _XcursorImages {
+    int                    nimage;     /* number of images */
+    XcursorImage    **images;  /* array of XcursorImage pointers */
+    char           *name;      /* name used to load images */
+} XcursorImages;
+
+typedef struct _XcursorCursors {
+    Display        *dpy;       /* Display holding cursors */
+    int                    ref;        /* reference count */
+    int                    ncursor;    /* number of cursors */
+    Cursor         *cursors;   /* array of cursors */
+} XcursorCursors;
+
+typedef struct _XcursorAnimate {
+    XcursorCursors   *cursors; /* list of cursors to use */
+    int                    sequence;   /* which cursor is next */
+} XcursorAnimate;
+
+typedef struct _XcursorFile XcursorFile;
+
+struct _XcursorFile {
+    void    *closure;
+    int            (*read)  (XcursorFile *file, unsigned char *buf, int len);
+    int            (*write) (XcursorFile *file, unsigned char *buf, int len);
+    int            (*seek)  (XcursorFile *file, long offset, int whence);
+};
+
+typedef struct _XcursorComments {
+    int                    ncomment;   /* number of comments */
+    XcursorComment  **comments;        /* array of XcursorComment pointers */
+} XcursorComments;
+
+#define XCURSOR_CORE_THEME  "core"
+
+_XFUNCPROTOBEGIN
+
+/*
+ * Manage Image objects
+ */
+XcursorImage *
+XcursorImageCreate (int width, int height);
+
+void
+XcursorImageDestroy (XcursorImage *image);
+
+/*
+ * Manage Images objects
+ */
+XcursorImages *
+XcursorImagesCreate (int size);
+
+void
+XcursorImagesDestroy (XcursorImages *images);
+
+void
+XcursorImagesSetName (XcursorImages *images, const char *name);
+
+/*
+ * Manage Cursor objects
+ */
+XcursorCursors *
+XcursorCursorsCreate (Display *dpy, int size);
+
+void
+XcursorCursorsDestroy (XcursorCursors *cursors);
+
+/*
+ * Manage Animate objects
+ */
+XcursorAnimate *
+XcursorAnimateCreate (XcursorCursors *cursors);
+
+void
+XcursorAnimateDestroy (XcursorAnimate *animate);
+
+Cursor
+XcursorAnimateNext (XcursorAnimate *animate);
+
+/*
+ * Manage Comment objects
+ */
+XcursorComment *
+XcursorCommentCreate (XcursorUInt comment_type, int length);
+
+void
+XcursorCommentDestroy (XcursorComment *comment);
+
+XcursorComments *
+XcursorCommentsCreate (int size);
+
+void
+XcursorCommentsDestroy (XcursorComments *comments);
+
+/*
+ * XcursorFile/Image APIs
+ */
+XcursorImage *
+XcursorXcFileLoadImage (XcursorFile *file, int size);
+
+XcursorImages *
+XcursorXcFileLoadImages (XcursorFile *file, int size);
+
+XcursorImages *
+XcursorXcFileLoadAllImages (XcursorFile *file);
+
+XcursorBool
+XcursorXcFileLoad (XcursorFile     *file,
+                  XcursorComments  **commentsp,
+                  XcursorImages    **imagesp);
+
+XcursorBool
+XcursorXcFileSave (XcursorFile             *file,
+                  const XcursorComments    *comments,
+                  const XcursorImages      *images);
+
+/*
+ * FILE/Image APIs
+ */
+XcursorImage *
+XcursorFileLoadImage (FILE *file, int size);
+
+XcursorImages *
+XcursorFileLoadImages (FILE *file, int size);
+
+XcursorImages *
+XcursorFileLoadAllImages (FILE *file);
+
+XcursorBool
+XcursorFileLoad (FILE              *file,
+                XcursorComments    **commentsp,
+                XcursorImages      **imagesp);
+
+XcursorBool
+XcursorFileSaveImages (FILE *file, const XcursorImages *images);
+
+XcursorBool
+XcursorFileSave (FILE *                        file,
+                const XcursorComments  *comments,
+                const XcursorImages    *images);
+
+/*
+ * Filename/Image APIs
+ */
+XcursorImage *
+XcursorFilenameLoadImage (const char *filename, int size);
+
+XcursorImages *
+XcursorFilenameLoadImages (const char *filename, int size);
+
+XcursorImages *
+XcursorFilenameLoadAllImages (const char *filename);
+
+XcursorBool
+XcursorFilenameLoad (const char                *file,
+                    XcursorComments    **commentsp,
+                    XcursorImages      **imagesp);
+
+XcursorBool
+XcursorFilenameSaveImages (const char *filename, const XcursorImages *images);
+
+XcursorBool
+XcursorFilenameSave (const char                    *file,
+                    const XcursorComments  *comments,
+                    const XcursorImages    *images);
+
+/*
+ * Library/Image APIs
+ */
+XcursorImage *
+XcursorLibraryLoadImage (const char *library, const char *theme, int size);
+
+XcursorImages *
+XcursorLibraryLoadImages (const char *library, const char *theme, int size);
+
+/*
+ * Library/shape API
+ */
+
+const char *
+XcursorLibraryPath (void);
+
+int
+XcursorLibraryShape (const char *library);
+
+/*
+ * Image/Cursor APIs
+ */
+
+Cursor
+XcursorImageLoadCursor (Display *dpy, const XcursorImage *image);
+
+XcursorCursors *
+XcursorImagesLoadCursors (Display *dpy, const XcursorImages *images);
+
+Cursor
+XcursorImagesLoadCursor (Display *dpy, const XcursorImages *images);
+
+/*
+ * Filename/Cursor APIs
+ */
+Cursor
+XcursorFilenameLoadCursor (Display *dpy, const char *file);
+
+XcursorCursors *
+XcursorFilenameLoadCursors (Display *dpy, const char *file);
+
+/*
+ * Library/Cursor APIs
+ */
+Cursor
+XcursorLibraryLoadCursor (Display *dpy, const char *file);
+
+XcursorCursors *
+XcursorLibraryLoadCursors (Display *dpy, const char *file);
+
+/*
+ * Shape/Image APIs
+ */
+
+XcursorImage *
+XcursorShapeLoadImage (unsigned int shape, const char *theme, int size);
+
+XcursorImages *
+XcursorShapeLoadImages (unsigned int shape, const char *theme, int size);
+
+/*
+ * Shape/Cursor APIs
+ */
+Cursor
+XcursorShapeLoadCursor (Display *dpy, unsigned int shape);
+
+XcursorCursors *
+XcursorShapeLoadCursors (Display *dpy, unsigned int shape);
+
+/*
+ * This is the function called by Xlib when attempting to
+ * load cursors from XCreateGlyphCursor.  The interface must
+ * not change as Xlib loads 'libXcursor.so' instead of
+ * a specific major version
+ */
+Cursor
+XcursorTryShapeCursor (Display     *dpy,
+                      Font         source_font,
+                      Font         mask_font,
+                      unsigned int source_char,
+                      unsigned int mask_char,
+                      XColor _Xconst *foreground,
+                      XColor _Xconst *background);
+
+void
+XcursorNoticeCreateBitmap (Display     *dpy,
+                          Pixmap       pid,
+                          unsigned int width,
+                          unsigned int height);
+
+void
+XcursorNoticePutBitmap (Display            *dpy,
+                       Drawable    draw,
+                       XImage      *image);
+
+Cursor
+XcursorTryShapeBitmapCursor (Display           *dpy,
+                            Pixmap             source,
+                            Pixmap             mask,
+                            XColor             *foreground,
+                            XColor             *background,
+                            unsigned int       x,
+                            unsigned int       y);
+
+#define XCURSOR_BITMAP_HASH_SIZE    16
+
+void
+XcursorImageHash (XImage       *image,
+                 unsigned char hash[XCURSOR_BITMAP_HASH_SIZE]);
+
+/*
+ * Display information APIs
+ */
+XcursorBool
+XcursorSupportsARGB (Display *dpy);
+
+XcursorBool
+XcursorSupportsAnim (Display *dpy);
+
+XcursorBool
+XcursorSetDefaultSize (Display *dpy, int size);
+
+int
+XcursorGetDefaultSize (Display *dpy);
+
+XcursorBool
+XcursorSetTheme (Display *dpy, const char *theme);
+
+char *
+XcursorGetTheme (Display *dpy);
+
+XcursorBool
+XcursorGetThemeCore (Display *dpy);
+
+XcursorBool
+XcursorSetThemeCore (Display *dpy, XcursorBool theme_core);
+
+_XFUNCPROTOEND
+
+#endif
index abb555d..f3f4599 100644 (file)
@@ -1,73 +1,53 @@
 libmandir = $(LIB_MAN_DIR)
 
-libman_PRE = Xcursor.man
-libman_DATA = $(libman_PRE:man=@LIB_MAN_SUFFIX@)
+libman_PRE =                           \
+       Xcursor.man                     \
+       $(Xcursor_shadows:=.man)
+
+Xcursor_shadows =                      \
+       XcursorImageCreate              \
+       XcursorImageDestroy             \
+       XcursorImagesCreate             \
+       XcursorImagesDestroy            \
+       XcursorCursorsCreate            \
+       XcursorCursorsDestroy           \
+       XcursorXcFileLoadImage          \
+       XcursorXcFileLoadImages         \
+       XcursorXcFileLoadAllImages      \
+       XcursorXcFileLoad               \
+       XcursorXcFileSave               \
+       XcursorFilenameLoadImage        \
+       XcursorFilenameLoadImages       \
+       XcursorFilenameLoadAllImages    \
+       XcursorFilenameLoad             \
+       XcursorFilenameSaveImages       \
+       XcursorFilenameSave             \
+       XcursorLibraryLoadImage         \
+       XcursorLibraryLoadImages        \
+       XcursorFilenameLoadCursor       \
+       XcursorLibraryLoadCursor        \
+       XcursorLibraryLoadCursors       \
+       XcursorShapeLoadImage           \
+       XcursorShapeLoadImages          \
+       XcursorShapeLoadCursor          \
+       XcursorShapeLoadCursors         \
+       XcursorSupportsARGB             \
+       XcursorSetDefaultSize           \
+       XcursorGetDefaultSize           \
+       XcursorSetTheme                 \
+       XcursorGetTheme
 
-all-local: $(libman_DATA)
+libman_DATA = $(libman_PRE:man=@LIB_MAN_SUFFIX@)
 
 EXTRA_DIST = $(libman_PRE)
 CLEANFILES = $(libman_DATA)
 
 SUFFIXES = .$(LIB_MAN_SUFFIX) .man
 
-# Strings to replace in man pages
-XORGRELSTRING = @PACKAGE_STRING@
-
-MAN_SUBSTS = \
-       -e 's|__xorgversion__|"$(XORGRELSTRING)"|' \
-       -e 's|__XCURSORPATH__|$(XCURSORPATH_LIST)|g' \
-       -e 's|__appmansuffix__|$(APP_MAN_SUFFIX)|g' \
-       -e 's|__libmansuffix__|$(LIB_MAN_SUFFIX)|g' \
-       -e 's|__adminmansuffix__|$(ADMIN_MAN_SUFFIX)|g' \
-       -e 's|__miscmansuffix__|$(MISC_MAN_SUFFIX)|g' \
-       -e 's|__filemansuffix__|$(FILE_MAN_SUFFIX)|g'
+# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure
+# 's/:/, /g' will add comma and a space to help path formatting
+MAN_SUBSTS += -e 's|__XCURSORPATH__|$(XCURSORPATH)|g' \
+             -e '\|$(XCURSORPATH)| s/:/, /g'
 
 .man.$(LIB_MAN_SUFFIX):
-       -rm -f $@
-       sed $(MAN_SUBSTS) < $< > $@
-
-# Generate man page shadow files
-
-LIB_MAN_DIR_SUFFIX = $(LIB_MAN_DIR:@mandir@/man%=%)
-libman_DATA += $(Xcursor_shadows:=.@LIB_MAN_SUFFIX@)
-BUILT_SOURCES = shadows.DONE
-CLEANFILES += shadows.DONE
-
-Xcursor_shadows = \
-       XcursorImageCreate \
-       XcursorImageDestroy \
-       XcursorImagesCreate \
-       XcursorImagesDestroy \
-       XcursorCursorsCreate \
-       XcursorCursorsDestroy \
-       XcursorXcFileLoadImage \
-       XcursorXcFileLoadImages \
-       XcursorXcFileLoadAllImages \
-       XcursorXcFileLoad \
-       XcursorXcFileSave \
-       XcursorFilenameLoadImage \
-       XcursorFilenameLoadImages \
-       XcursorFilenameLoadAllImages \
-       XcursorFilenameLoad \
-       XcursorFilenameSaveImages \
-       XcursorFilenameSave \
-       XcursorLibraryLoadImage \
-       XcursorLibraryLoadImages \
-       XcursorFilenameLoadCursor \
-       XcursorLibraryLoadCursor \
-       XcursorLibraryLoadCursors \
-       XcursorShapeLoadImage \
-       XcursorShapeLoadImages \
-       XcursorShapeLoadCursor \
-       XcursorShapeLoadCursors \
-       XcursorSupportsARGB \
-       XcursorSetDefaultSize \
-       XcursorGetDefaultSize \
-       XcursorSetTheme \
-       XcursorGetTheme
-
-shadows.DONE:
-       -rm -f $(Xcursor_shadows:=.@LIB_MAN_SUFFIX@)
-       (for i in $(Xcursor_shadows:=.@LIB_MAN_SUFFIX@) ; do \
-        echo .so man$(LIB_MAN_DIR_SUFFIX)/Xcursor.$(LIB_MAN_SUFFIX) > $$i; \
-        done)
+       $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
index a16a7c1..4f01c7e 100644 (file)
@@ -276,7 +276,7 @@ XcursorBool XcursorXcFileLoad (XcursorFile *file, XcursorComments **commentsp, X
 XcursorBool XcursorXcFileSave (XcursorFile *file, const XcursorComments *comments, const XcursorImages *images)
 These read and write cursors from an XcursorFile handle.  After reading, the
 file pointer will be left at some random place in the file.
-                  
+
 .TP
 XcursorImage *XcursorFileLoadImage (FILE *file, int size)
 .TQ
@@ -372,7 +372,7 @@ Gets the current theme name.
 .SH "ENVIRONMENT VARIABLES"
 .TP 15
 .B XCURSOR_PATH
-This variable sets the list of paths to look for cursors in.   
+This variable sets the list of paths to look for cursors in.
 Directories in this path are separated by colons (:).
 
 .SH RESTRICTIONS
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
diff --git a/packaging/libXcursor.spec b/packaging/libXcursor.spec
new file mode 100644 (file)
index 0000000..210f5d4
--- /dev/null
@@ -0,0 +1,85 @@
+Summary: Cursor management library
+Name: libXcursor
+Version: 1.1.13
+Release: 1
+License: MIT
+Group: System Environment/Libraries
+URL: http://www.x.org
+#VCS: git:git://anongit.freedesktop.org/xorg/lib/libXcursor
+Source0: %{name}-%{version}.tar.gz
+
+BuildRequires: xorg-x11-xutils-dev
+BuildRequires:  pkgconfig(xorg-macros)
+BuildRequires:  pkgconfig(xproto)
+BuildRequires: libX11-devel
+BuildRequires: libXfixes-devel
+BuildRequires: libXrender-devel >= 0.8.2
+
+
+%description
+This is  a simple library designed to help locate and load cursors.
+Cursors can be loaded from files or memory. A library of common cursors
+exists which map to the standard X cursor names.Cursors can exist in
+several sizes and the library automatically picks the best size.
+
+%package devel
+Summary: Development files for %{name}
+Group: Development/Libraries
+Provides: libxcursor-devel 
+Requires: %{name} = %{version}-%{release}
+
+%description devel
+libXcursor development package.
+
+%prep
+%setup -q
+iconv --from=ISO-8859-2 --to=UTF-8 COPYING > COPYING.new && \
+touch -r COPYING COPYING.new && \
+mv COPYING.new COPYING
+
+# Disable static library creation by default.
+%define with_static 0
+
+%build
+#export CFLAGS="${CFLAGS} $RPM_OPT_FLAGS -DICONDIR=\"%{_datadir}/icons\""
+%reconfigure --disable-static \
+           LDFLAGS="${LDFLAGS} -Wl,--hash-style=both -Wl,--as-needed"
+make %{?jobs:-j%jobs}
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p"
+
+mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/default
+
+# We intentionally don't ship *.la files
+rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
+
+%remove_docs
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post -p /sbin/ldconfig
+%postun -p /sbin/ldconfig
+
+%files
+%defattr(-,root,root,-)
+%doc AUTHORS COPYING README ChangeLog
+%{_libdir}/libXcursor.so.1
+%{_libdir}/libXcursor.so.1.0.2
+%dir %{_datadir}/icons/default
+#%{_datadir}/icons/default/index.theme
+
+%files devel
+%defattr(-,root,root,-)
+%dir %{_includedir}/X11/Xcursor
+%{_includedir}/X11/Xcursor/Xcursor.h
+%if %{with_static}
+%{_libdir}/libXcursor.a
+%endif
+%{_libdir}/libXcursor.so
+%{_libdir}/pkgconfig/xcursor.pc
+#%dir %{_mandir}/man3x
+#%{_mandir}/man3/Xcursor*.3*
\ No newline at end of file
diff --git a/packaging/libxcursor.spec b/packaging/libxcursor.spec
deleted file mode 100644 (file)
index 5776084..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-Name:       libxcursor
-Summary:    X cursor management library
-Version:    1.1.11
-Release:    2.7
-Group:      System/Libraries
-License:    MIT
-Source0:    libxcursor-%{version}.tar.gz
-Requires(post): /sbin/ldconfig
-Requires(postun): /sbin/ldconfig
-BuildRequires:  pkgconfig(x11)
-BuildRequires:  pkgconfig(xproto)
-BuildRequires:  pkgconfig(xfixes)
-BuildRequires:  pkgconfig(xrender)
-BuildRequires:  pkgconfig(xorg-macros)
-
-%description
-Xcursor is a simple library designed to help locate and load cursors for the
-X Window System. Cursors can be loaded from files or memory and can exist in
-several sizes; the library automatically picks the best size. When using
-images loaded from files, Xcursor prefers to use the Render extension's
-CreateCursor request for rendering cursors. Where the Render extension is
-not supported, Xcursor maps the cursor image to a standard X cursor and uses
-the core X protocol CreateCursor request.
-
-
-
-%package devel
-Summary:    X cursor management library (development files)
-Group:      TO_BE/FILLED
-Requires:   %{name} = %{version}-%{release}
-
-%description devel
-Header files and a static version of the X cursor management library are
-provided by this package.
-.
-See the libxcursor1 package for further information.
-
-
-
-%prep
-%setup -q -n %{name}-%{version}
-
-
-%build
-export LDFLAGS+="-lXrender -lXfixes"
-export LDFLAGS+=" -Wl,--hash-style=both -Wl,--as-needed"
-#chmod +x autogen.sh
-#libtoolize -f -c
-./autogen.sh
-%configure 
-
-make %{?jobs:-j%jobs}
-
-%install
-%make_install
-rm -rf %{buildroot}/usr/share/man
-
-%post -p /sbin/ldconfig
-
-%postun -p /sbin/ldconfig
-
-
-%files
-/usr/lib/*.so.*
-
-
-%files devel
-/usr/include/*
-/usr/lib/*.so
-/usr/lib/pkgconfig/xcursor.pc
-
old mode 100755 (executable)
new mode 100644 (file)
index a55b8d6..a44dcb3
@@ -20,7 +20,7 @@ INCLUDES = -I$(top_srcdir)/include/X11/Xcursor
 libXcursor_la_LDFLAGS = -version-number 1:0:2 -no-undefined
 
 libXcursorincludedir = $(includedir)/X11/Xcursor
-libXcursorinclude_HEADERS = $(top_srcdir)/include/X11/Xcursor/Xcursor.h 
+libXcursorinclude_HEADERS = $(top_builddir)/include/X11/Xcursor/Xcursor.h
 
 if LINT
 ALL_LINT_FLAGS=$(LINT_FLAGS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
index ac1b2c4..92bd417 100644 (file)
@@ -51,7 +51,7 @@ XcursorCursorsDestroy (XcursorCursors *cursors)
     --cursors->ref;
     if (cursors->ref > 0)
        return;
-    
+
     for (n = 0; n < cursors->ncursor; n++)
        XFreeCursor (cursors->dpy, cursors->cursors[n]);
     free (cursors);
@@ -201,6 +201,9 @@ _XcursorAverageColor (XcursorPixel *pixels, int npixels)
     XcursorPixel    red, green, blue;
     int                    n = npixels;
 
+    if (n < 1)
+       return 0;
+
     blue = green = red = 0;
     while (n--)
     {
@@ -209,9 +212,7 @@ _XcursorAverageColor (XcursorPixel *pixels, int npixels)
        green += (p >> 8) & 0xff;
        blue += (p >> 0) & 0xff;
     }
-    if (!n)
-       return 0;
-    return (0xff << 24) | ((red/npixels) << 16) | ((green/npixels) << 8) | (blue/npixels);
+    return (0xffU << 24) | ((red/npixels) << 16) | ((green/npixels) << 8) | (blue/npixels);
 }
 
 typedef struct XcursorCoreCursor {
@@ -237,17 +238,17 @@ _XcursorHeckbertMedianCut (const XcursorImage *image, XcursorCoreCursor *core)
     XcursorPixel    leftColor, centerColor, rightColor;
     int                    (*compare) (const void *, const void *);
     int                    x, y;
-    
+
     /*
      * Temp space for converted image and converted colors
      */
     temp = malloc (npixels * sizeof (XcursorPixel) * 2);
     if (!temp)
        return False;
-    
+
     pixels = temp;
     colors = pixels + npixels;
-    
+
     /*
      * Convert to 2-value alpha and build
      * array of opaque color values and an
@@ -276,7 +277,7 @@ _XcursorHeckbertMedianCut (const XcursorImage *image, XcursorCoreCursor *core)
            if (green > max_green) max_green = green;
            if (blue < min_blue) min_blue = blue;
            if (blue > max_blue) max_blue = blue;
-           p = ((0xff << 24) | (red << 16) | 
+           p = ((0xffU << 24) | (red << 16) |
                 (green << 8) | (blue << 0));
            *pc++ = p;
        }
@@ -285,7 +286,7 @@ _XcursorHeckbertMedianCut (const XcursorImage *image, XcursorCoreCursor *core)
        *pn++ = p;
     }
     ncolors = pc - colors;
-    
+
     /*
      * Compute longest dimension and sort
      */
@@ -467,16 +468,16 @@ _XcursorFloydSteinberg (const XcursorImage *image, XcursorCoreCursor *core)
            iErrorRight = (iError * 7) >> 4;
            iErrorBelowLeft = (iError * 3) >> 4;
            iErrorBelow = (iError * 5) >> 4;
-           iErrorBelowRight = (iError - iErrorRight - 
+           iErrorBelowRight = (iError - iErrorRight -
                                iErrorBelowLeft - iErrorBelow);
            aErrorRight = (aError * 7) >> 4;
            aErrorBelowLeft = (aError * 3) >> 4;
            aErrorBelow = (aError * 5) >> 4;
-           aErrorBelowRight = (aError - aErrorRight - 
+           aErrorBelowRight = (aError - aErrorRight -
                                aErrorBelowLeft - aErrorBelow);
            if (x < image->width - 1)
            {
-               iP[right] += iErrorRight; 
+               iP[right] += iErrorRight;
                aP[right] += aErrorRight;
            }
            if (y < image->height - 1)
@@ -499,9 +500,9 @@ _XcursorFloydSteinberg (const XcursorImage *image, XcursorCoreCursor *core)
        }
     free (iPicture);
     core->on_color.red =
-    core->on_color.green = 
+    core->on_color.green =
     core->on_color.blue = (min_inten | min_inten << 8);
-    core->off_color.red = 
+    core->off_color.red =
     core->off_color.green =
     core->off_color.blue = (max_inten | max_inten << 8);
     return True;
@@ -536,9 +537,9 @@ _XcursorThreshold (const XcursorImage *image, XcursorCoreCursor *core)
            }
        }
     core->on_color.red =
-    core->on_color.green = 
+    core->on_color.green =
     core->on_color.blue = 0;
-    core->off_color.red = 
+    core->off_color.red =
     core->off_color.green =
     core->off_color.blue = 0xffff;
     return True;
@@ -548,7 +549,7 @@ Cursor
 XcursorImageLoadCursor (Display *dpy, const XcursorImage *image)
 {
     Cursor  cursor;
-    
+
 #if RENDER_MAJOR > 0 || RENDER_MINOR >= 5
     if (XcursorSupportsARGB (dpy))
     {
@@ -580,13 +581,13 @@ XcursorImageLoadCursor (Display *dpy, const XcursorImage *image)
        pixmap = XCreatePixmap (dpy, RootWindow (dpy, screen),
                                image->width, image->height, 32);
        gc = XCreateGC (dpy, pixmap, 0, NULL);
-       XPutImage (dpy, pixmap, gc, &ximage, 
+       XPutImage (dpy, pixmap, gc, &ximage,
                   0, 0, 0, 0, image->width, image->height);
        XFreeGC (dpy, gc);
        format = XRenderFindStandardFormat (dpy, PictStandardARGB32);
        picture = XRenderCreatePicture (dpy, pixmap, format, 0, NULL);
        XFreePixmap (dpy, pixmap);
-       cursor = XRenderCreateCursor (dpy, picture, 
+       cursor = XRenderCreateCursor (dpy, picture,
                                      image->xhot, image->yhot);
        XRenderFreePicture (dpy, picture);
     }
@@ -600,15 +601,18 @@ XcursorImageLoadCursor (Display *dpy, const XcursorImage *image)
        GC                  gc;
        XGCValues           gcv;
 
+       if (!info)
+           return 0;
+
        core.src_image = XCreateImage (dpy, NULL, 1, ZPixmap,
                                       0, NULL, image->width, image->height,
                                       32, 0);
-       core.src_image->data = Xmalloc (image->height * 
+       core.src_image->data = Xmalloc (image->height *
                                        core.src_image->bytes_per_line);
        core.msk_image = XCreateImage (dpy, NULL, 1, ZPixmap,
                                       0, NULL, image->width, image->height,
                                       32, 0);
-       core.msk_image->data = Xmalloc (image->height * 
+       core.msk_image->data = Xmalloc (image->height *
                                        core.msk_image->bytes_per_line);
 
        switch (info->dither) {
@@ -641,16 +645,16 @@ XcursorImageLoadCursor (Display *dpy, const XcursorImage *image)
                                    image->width, image->height, 1);
        gcv.foreground = 1;
        gcv.background = 0;
-       gc = XCreateGC (dpy, src_pixmap, 
+       gc = XCreateGC (dpy, src_pixmap,
                        GCForeground|GCBackground,
                        &gcv);
        XPutImage (dpy, src_pixmap, gc, core.src_image,
                   0, 0, 0, 0, image->width, image->height);
-       
+
        XPutImage (dpy, msk_pixmap, gc, core.msk_image,
                   0, 0, 0, 0, image->width, image->height);
        XFreeGC (dpy, gc);
-       
+
 #ifdef DEBUG_IMAGE
        _XcursorDumpColor (&core.on_color, "on_color");
        _XcursorDumpColor (&core.off_color, "off_color");
@@ -701,7 +705,7 @@ XcursorImagesLoadCursor (Display *dpy, const XcursorImages *images)
        XcursorCursors  *cursors = XcursorImagesLoadCursors (dpy, images);
        XAnimCursor     *anim;
        int             n;
-       
+
        if (!cursors)
            return 0;
        anim = malloc (cursors->ncursor * sizeof (XAnimCursor));
@@ -733,7 +737,7 @@ XcursorFilenameLoadCursor (Display *dpy, const char *file)
     int                    size = XcursorGetDefaultSize (dpy);
     XcursorImages   *images = XcursorFilenameLoadImages (file, size);
     Cursor         cursor;
-    
+
     if (!images)
        return None;
     cursor = XcursorImagesLoadCursor (dpy, images);
@@ -747,7 +751,7 @@ XcursorFilenameLoadCursors (Display *dpy, const char *file)
     int                    size = XcursorGetDefaultSize (dpy);
     XcursorImages   *images = XcursorFilenameLoadImages (file, size);
     XcursorCursors  *cursors;
-    
+
     if (!images)
        return NULL;
     cursors = XcursorImagesLoadCursors (dpy, images);
@@ -767,7 +771,7 @@ _XcursorCreateGlyphCursor(Display       *dpy,
                          unsigned int      mask_char,
                          XColor _Xconst    *foreground,
                          XColor _Xconst    *background)
-{       
+{
     Cursor cid;
     register xCreateGlyphCursorReq *req;
 
@@ -799,21 +803,21 @@ _XcursorCreateFontCursor (Display *dpy, unsigned int shape)
     static XColor _Xconst foreground = { 0,    0,     0,     0  };  /* black */
     static XColor _Xconst background = { 0, 65535, 65535, 65535 };  /* white */
 
-    /* 
+    /*
      * the cursor font contains the shape glyph followed by the mask
      * glyph; so character position 0 contains a shape, 1 the mask for 0,
      * 2 a shape, etc.  <X11/cursorfont.h> contains hash define names
      * for all of these.
      */
 
-    if (dpy->cursor_font == None) 
+    if (dpy->cursor_font == None)
     {
        dpy->cursor_font = XLoadFont (dpy, CURSORFONT);
        if (dpy->cursor_font == None)
            return None;
     }
 
-    return _XcursorCreateGlyphCursor (dpy, dpy->cursor_font, dpy->cursor_font, 
+    return _XcursorCreateGlyphCursor (dpy, dpy->cursor_font, dpy->cursor_font,
                                      shape, shape + 1, &foreground, &background);
 }
 
index c296807..7998fe7 100644 (file)
@@ -35,6 +35,13 @@ _XcursorFreeDisplayInfo (XcursorDisplayInfo *info)
     if (info->theme_from_config)
        free (info->theme_from_config);
 
+    while (info->fonts)
+    {
+      XcursorFontInfo *fi = info->fonts;
+      info->fonts = fi->next;
+      free (fi);
+    }
+
     free (info);
 }
 
@@ -119,7 +126,7 @@ _XcursorGetDisplayInfo (Display *dpy)
        return NULL;
     info->next = NULL;
     info->display = dpy;
-    
+
     info->codes = XAddExtension (dpy);
     if (!info->codes)
     {
@@ -155,7 +162,7 @@ _XcursorGetDisplayInfo (Display *dpy)
                info->has_anim_cursor = XcursorFalse;
        }
     }
-    
+
     info->size = 0;
 
     /*
@@ -166,7 +173,7 @@ _XcursorGetDisplayInfo (Display *dpy)
        v = XGetDefault (dpy, "Xcursor", "size");
     if (v)
        info->size = atoi (v);
-    
+
     /*
      * Use the Xft size to guess a size; make cursors 16 "points" tall
      */
@@ -179,15 +186,15 @@ _XcursorGetDisplayInfo (Display *dpy)
        if (dpi)
            info->size = dpi * 16 / 72;
     }
-    
+
     /*
      * Use display size to guess a size
      */
     if (info->size == 0)
     {
        int dim;
-           
-       if (DisplayHeight (dpy, DefaultScreen (dpy)) < 
+
+       if (DisplayHeight (dpy, DefaultScreen (dpy)) <
            DisplayWidth (dpy, DefaultScreen (dpy)))
            dim = DisplayHeight (dpy, DefaultScreen (dpy));
        else
@@ -197,7 +204,7 @@ _XcursorGetDisplayInfo (Display *dpy)
         */
        info->size = dim / 48;
     }
-    
+
     info->theme = NULL;
     info->theme_from_config = NULL;
 
@@ -280,7 +287,7 @@ _XcursorGetDisplayInfo (Display *dpy)
        _XcursorDisplayInfo = info;
     }
     _XUnlockMutex (_Xglobal_lock);
-    
+
     return info;
 }
 
@@ -366,7 +373,7 @@ XcursorGetThemeCore (Display *dpy)
     if (!info)
        return XcursorFalse;
     return info->theme_core;
-    
+
 }
 
 XcursorBool
index 6c4f1bb..efe6d4b 100644 (file)
@@ -53,7 +53,7 @@ XcursorImagesCreate (int size)
 {
     XcursorImages   *images;
 
-    images = malloc (sizeof (XcursorImages) + 
+    images = malloc (sizeof (XcursorImages) +
                     size * sizeof (XcursorImage *));
     if (!images)
        return NULL;
@@ -82,10 +82,10 @@ void
 XcursorImagesSetName (XcursorImages *images, const char *name)
 {
     char    *new;
-    
+
     if (!images || !name)
         return;
-    
+
     new = malloc (strlen (name) + 1);
 
     if (!new)
@@ -180,7 +180,7 @@ _XcursorWriteUInt (XcursorFile *file, XcursorUInt u)
 
     if (!file)
         return XcursorFalse;
-    
+
     bytes[0] = u;
     bytes[1] = u >>  8;
     bytes[2] = u >> 16;
@@ -232,7 +232,7 @@ _XcursorReadFileHeader (XcursorFile *file)
 
     if (!file)
         return NULL;
-    
+
     if (!_XcursorReadUInt (file, &head.magic))
        return NULL;
     if (head.magic != XCURSOR_MAGIC)
@@ -274,7 +274,7 @@ _XcursorReadFileHeader (XcursorFile *file)
 static XcursorUInt
 _XcursorFileHeaderLength (XcursorFileHeader *fileHeader)
 {
-    return (XCURSOR_FILE_HEADER_LEN + 
+    return (XCURSOR_FILE_HEADER_LEN +
            fileHeader->ntoc * XCURSOR_FILE_TOC_LEN);
 }
 
@@ -285,7 +285,7 @@ _XcursorWriteFileHeader (XcursorFile *file, XcursorFileHeader *fileHeader)
 
     if (!file || !fileHeader)
         return XcursorFalse;
-    
+
     if (!_XcursorWriteUInt (file, fileHeader->magic))
        return XcursorFalse;
     if (!_XcursorWriteUInt (file, fileHeader->header))
@@ -307,7 +307,7 @@ _XcursorWriteFileHeader (XcursorFile *file, XcursorFileHeader *fileHeader)
 }
 
 static XcursorBool
-_XcursorSeekToToc (XcursorFile         *file, 
+_XcursorSeekToToc (XcursorFile         *file,
                   XcursorFileHeader    *fileHeader,
                   int                  toc)
 {
@@ -423,7 +423,7 @@ _XcursorFindImageToc (XcursorFileHeader     *fileHeader,
 }
 
 static XcursorImage *
-_XcursorReadImage (XcursorFile         *file, 
+_XcursorReadImage (XcursorFile         *file,
                   XcursorFileHeader    *fileHeader,
                   int                  toc)
 {
@@ -455,7 +455,7 @@ _XcursorReadImage (XcursorFile              *file,
        return NULL;
     if (head.xhot > head.width || head.yhot > head.height)
        return NULL;
-    
+
     /* Create the image and initialize it */
     image = XcursorImageCreate (head.width, head.height);
     if (chunkHeader.version < image->version)
@@ -488,7 +488,7 @@ _XcursorImageLength (XcursorImage   *image)
 }
 
 static XcursorBool
-_XcursorWriteImage (XcursorFile                *file, 
+_XcursorWriteImage (XcursorFile                *file,
                    XcursorFileHeader   *fileHeader,
                    int                 toc,
                    XcursorImage        *image)
@@ -508,16 +508,16 @@ _XcursorWriteImage (XcursorFile           *file,
        return XcursorFalse;
     if (image->xhot > image->width || image->yhot > image->height)
        return XcursorFalse;
-    
+
     /* write chunk header */
     chunkHeader.header = XCURSOR_IMAGE_HEADER_LEN;
     chunkHeader.type = XCURSOR_IMAGE_TYPE;
     chunkHeader.subtype = image->size;
     chunkHeader.version = XCURSOR_IMAGE_VERSION;
-    
+
     if (!_XcursorFileWriteChunkHeader (file, fileHeader, toc, &chunkHeader))
        return XcursorFalse;
-    
+
     /* write extra image header fields */
     if (!_XcursorWriteUInt (file, image->width))
        return XcursorFalse;
@@ -529,7 +529,7 @@ _XcursorWriteImage (XcursorFile             *file,
        return XcursorFalse;
     if (!_XcursorWriteUInt (file, image->delay))
        return XcursorFalse;
-    
+
     /* write the image */
     n = image->width * image->height;
     p = image->pixels;
@@ -543,7 +543,7 @@ _XcursorWriteImage (XcursorFile             *file,
 }
 
 static XcursorComment *
-_XcursorReadComment (XcursorFile           *file, 
+_XcursorReadComment (XcursorFile           *file,
                     XcursorFileHeader      *fileHeader,
                     int                    toc)
 {
@@ -579,7 +579,7 @@ _XcursorCommentLength (XcursorComment           *comment)
 }
 
 static XcursorBool
-_XcursorWriteComment (XcursorFile          *file, 
+_XcursorWriteComment (XcursorFile          *file,
                      XcursorFileHeader     *fileHeader,
                      int                   toc,
                      XcursorComment        *comment)
@@ -591,24 +591,24 @@ _XcursorWriteComment (XcursorFile     *file,
         return XcursorFalse;
 
     length = strlen (comment->comment);
-    
+
     /* sanity check data */
     if (length > XCURSOR_COMMENT_MAX_LEN)
        return XcursorFalse;
-    
+
     /* read chunk header */
     chunkHeader.header = XCURSOR_COMMENT_HEADER_LEN;
     chunkHeader.type = XCURSOR_COMMENT_TYPE;
     chunkHeader.subtype = comment->comment_type;
     chunkHeader.version = XCURSOR_COMMENT_VERSION;
-    
+
     if (!_XcursorFileWriteChunkHeader (file, fileHeader, toc, &chunkHeader))
        return XcursorFalse;
-    
+
     /* write extra comment header fields */
     if (!_XcursorWriteUInt (file, length))
        return XcursorFalse;
-    
+
     if (!_XcursorWriteBytes (file, comment->comment, length))
        return XcursorFalse;
     return XcursorTrue;
@@ -622,7 +622,7 @@ XcursorXcFileLoadImage (XcursorFile *file, int size)
     int                        nsize;
     int                        toc;
     XcursorImage       *image;
-    
+
     if (size < 0)
        return NULL;
     fileHeader = _XcursorReadFileHeader (file);
@@ -648,7 +648,7 @@ XcursorXcFileLoadImages (XcursorFile *file, int size)
     XcursorImages      *images;
     int                        n;
     int                        toc;
-    
+
     if (!file || size < 0)
        return NULL;
     fileHeader = _XcursorReadFileHeader (file);
@@ -671,7 +671,7 @@ XcursorXcFileLoadImages (XcursorFile *file, int size)
        toc = _XcursorFindImageToc (fileHeader, bestSize, n);
        if (toc < 0)
            break;
-       images->images[images->nimage] = _XcursorReadImage (file, fileHeader, 
+       images->images[images->nimage] = _XcursorReadImage (file, fileHeader,
                                                            toc);
        if (!images->images[images->nimage])
            break;
@@ -695,10 +695,10 @@ XcursorXcFileLoadAllImages (XcursorFile *file)
     int                        nimage;
     int                        n;
     int                        toc;
-    
+
     if (!file)
         return NULL;
-    
+
     fileHeader = _XcursorReadFileHeader (file);
     if (!fileHeader)
        return NULL;
@@ -713,7 +713,10 @@ XcursorXcFileLoadAllImages (XcursorFile *file)
     }
     images = XcursorImagesCreate (nimage);
     if (!images)
+    {
+       _XcursorFileHeaderDestroy (fileHeader);
        return NULL;
+    }
     for (toc = 0; toc < fileHeader->ntoc; toc++)
     {
        switch (fileHeader->tocs[toc].type) {
@@ -749,7 +752,7 @@ XcursorXcFileLoad (XcursorFile          *file,
     XcursorComment     *comment;
     XcursorComments    *comments;
     int                        toc;
-    
+
     if (!file)
         return 0;
     fileHeader = _XcursorReadFileHeader (file);
@@ -813,7 +816,7 @@ XcursorXcFileLoad (XcursorFile          *file,
 }
 
 XcursorBool
-XcursorXcFileSave (XcursorFile             *file, 
+XcursorXcFileSave (XcursorFile             *file,
                   const XcursorComments    *comments,
                   const XcursorImages      *images)
 {
@@ -821,21 +824,21 @@ XcursorXcFileSave (XcursorFile                *file,
     XcursorUInt                position;
     int                        n;
     int                        toc;
-    
+
     if (!file || !comments || !images)
         return XcursorFalse;
-    
+
     fileHeader = _XcursorFileHeaderCreate (comments->ncomment + images->nimage);
     if (!fileHeader)
        return XcursorFalse;
-    
+
     position = _XcursorFileHeaderLength (fileHeader);
 
     /*
      * Compute the toc.  Place the images before the comments
      * as they're more often read
      */
-    
+
     toc = 0;
     for (n = 0; n < images->nimage; n++)
     {
@@ -845,7 +848,7 @@ XcursorXcFileSave (XcursorFile                  *file,
        position += _XcursorImageLength (images->images[n]);
        toc++;
     }
-    
+
     for (n = 0; n < comments->ncomment; n++)
     {
        fileHeader->tocs[toc].type = XCURSOR_COMMENT_TYPE;
@@ -854,13 +857,13 @@ XcursorXcFileSave (XcursorFile                *file,
        position += _XcursorCommentLength (comments->comments[n]);
        toc++;
     }
-    
+
     /*
      * Write the header and the toc
      */
     if (!_XcursorWriteFileHeader (file, fileHeader))
        goto bail;
-    
+
     /*
      * Write the images
      */
@@ -871,7 +874,7 @@ XcursorXcFileSave (XcursorFile                  *file,
            goto bail;
        toc++;
     }
-    
+
     /*
      * Write the comments
      */
@@ -881,7 +884,7 @@ XcursorXcFileSave (XcursorFile                  *file,
            goto bail;
        toc++;
     }
-    
+
     _XcursorFileHeaderDestroy (fileHeader);
     return XcursorTrue;
 bail:
@@ -956,8 +959,8 @@ XcursorFileLoadAllImages (FILE *file)
 }
 
 XcursorBool
-XcursorFileLoad (FILE              *file, 
-                XcursorComments    **commentsp, 
+XcursorFileLoad (FILE              *file,
+                XcursorComments    **commentsp,
                 XcursorImages      **imagesp)
 {
     XcursorFile        f;
@@ -972,10 +975,13 @@ XcursorFileLoad (FILE                 *file,
 XcursorBool
 XcursorFileSaveImages (FILE *file, const XcursorImages *images)
 {
-    XcursorComments *comments = XcursorCommentsCreate (0);
+    XcursorComments *comments;
     XcursorFile            f;
     XcursorBool            ret;
-    if (!comments || !file || !images)
+
+    if (!file || !images)
+       return 0;
+    if ((comments = XcursorCommentsCreate (0)) == NULL)
        return 0;
     _XcursorStdioFileInitialize (file, &f);
     ret = XcursorXcFileSave (&f, comments, images) && fflush (file) != EOF;
@@ -984,7 +990,7 @@ XcursorFileSaveImages (FILE *file, const XcursorImages *images)
 }
 
 XcursorBool
-XcursorFileSave (FILE *                        file, 
+XcursorFileSave (FILE *                        file,
                 const XcursorComments  *comments,
                 const XcursorImages    *images)
 {
@@ -992,7 +998,7 @@ XcursorFileSave (FILE *                     file,
 
     if (!file || !comments || !images)
         return XcursorFalse;
-    
+
     _XcursorStdioFileInitialize (file, &f);
     return XcursorXcFileSave (&f, comments, images) && fflush (file) != EOF;
 }
@@ -1022,7 +1028,7 @@ XcursorFilenameLoadImages (const char *file, int size)
 
     if (!file || size < 0)
         return NULL;
-    
+
     f = fopen (file, "r");
     if (!f)
        return NULL;
@@ -1084,7 +1090,7 @@ XcursorFilenameSaveImages (const char *file, const XcursorImages *images)
 }
 
 XcursorBool
-XcursorFilenameSave (const char                    *file, 
+XcursorFilenameSave (const char                    *file,
                     const XcursorComments  *comments,
                     const XcursorImages    *images)
 {
index 86f2d76..48b75bf 100644 (file)
@@ -50,7 +50,7 @@ static  void
 _XcursorAddPathElt (char *path, const char *elt, int len)
 {
     int            pathlen = strlen (path);
-    
+
     /* append / if the path doesn't currently have one */
     if (path[0] == '\0' || path[pathlen - 1] != '/')
     {
@@ -83,11 +83,11 @@ _XcursorBuildThemeDir (const char *dir, const char *theme)
 
     if (!dir || !theme)
         return NULL;
-    
+
     colon = strchr (dir, ':');
     if (!colon)
        colon = dir + strlen (dir);
-    
+
     dirlen = colon - dir;
 
     tcolon = strchr (theme, ':');
@@ -95,7 +95,7 @@ _XcursorBuildThemeDir (const char *dir, const char *theme)
        tcolon = theme + strlen (theme);
 
     themelen = tcolon - theme;
-    
+
     home = NULL;
     homelen = 0;
     if (*dir == '~')
@@ -113,7 +113,7 @@ _XcursorBuildThemeDir (const char *dir, const char *theme)
      * and one for the trailing null
      */
     len = 1 + homelen + 1 + dirlen + 1 + themelen + 1;
-    
+
     full = malloc (len);
     if (!full)
        return NULL;
@@ -184,14 +184,14 @@ _XcursorThemeInherits (const char *full)
                if (result)
                {
                    r = result;
-                   while (*l) 
+                   while (*l)
                    {
                        while (XcursorSep(*l) || XcursorWhite (*l)) l++;
                        if (!*l)
                            break;
                        if (r != result)
                            *r++ = ':';
-                       while (*l && !XcursorWhite(*l) && 
+                       while (*l && !XcursorWhite(*l) &&
                               !XcursorSep(*l))
                            *r++ = *l++;
                    }
@@ -324,7 +324,7 @@ XcursorLibraryLoadCursor (Display *dpy, const char *file)
 
     if (!file)
         return 0;
-    
+
     if (!images)
     {
        int id = XcursorLibraryShape (file);
@@ -349,10 +349,10 @@ XcursorLibraryLoadCursors (Display *dpy, const char *file)
     char           *theme = XcursorGetTheme (dpy);
     XcursorImages   *images = XcursorLibraryLoadImages (file, theme, size);
     XcursorCursors  *cursors;
-    
+
     if (!file)
         return NULL;
-    
+
     if (!images)
     {
        int id = XcursorLibraryShape (file);
index c2eec32..d8f9ea3 100644 (file)
@@ -26,7 +26,7 @@
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
+
 #include <X11/Xlib.h>
 #include <X11/cursorfont.h>
 #include <X11/extensions/Xrender.h>
@@ -53,7 +53,7 @@ typedef struct _XcursorFontInfo {
  * Xcursor computes a hash value for the source image
  * and tries to load a library cursor of that name.
  */
+
 /* large bitmaps are unlikely to be cursors */
 #define MAX_BITMAP_CURSOR_SIZE 64
 /* don't need to remember very many; in fact, 2 is likely sufficient */
@@ -103,5 +103,5 @@ _XcursorCreateGlyphCursor(Display       *dpy,
 
 Cursor
 _XcursorCreateFontCursor (Display *dpy, unsigned int shape);
-    
+
 #endif /* _XCURSORINT_H_ */
index 0475d11..15716b2 100644 (file)
@@ -64,6 +64,7 @@ _XcursorFontIsCursor (Display *dpy, Font font)
                ret = (fs->properties[n].card32 == cursor);
                break;
            }
+       XFreeFontInfo (NULL, fs, 1);
     }
     fi = malloc (sizeof (XcursorFontInfo));
     if (fi)
@@ -91,11 +92,11 @@ XcursorTryShapeCursor (Display          *dpy,
 
     if (!dpy || !source_font || !mask_font || !foreground || !background)
         return 0;
-    
+
     if (!XcursorSupportsARGB (dpy) && !XcursorGetThemeCore (dpy))
        return None;
-    
-    if (source_font == mask_font && 
+
+    if (source_font == mask_font &&
        _XcursorFontIsCursor (dpy, source_font) &&
        source_char + 1 == mask_char)
     {
@@ -130,14 +131,14 @@ XcursorNoticeCreateBitmap (Display        *dpy,
 
     if (!XcursorSupportsARGB (dpy) && !XcursorGetThemeCore (dpy))
        return;
-    
+
     if (width > MAX_BITMAP_CURSOR_SIZE || height > MAX_BITMAP_CURSOR_SIZE)
        return;
-    
+
     info = _XcursorGetDisplayInfo (dpy);
     if (!info)
        return;
-    
+
     LockDisplay (dpy);
     replace = 0;
     now = dpy->request;
@@ -173,7 +174,7 @@ _XcursorGetBitmap (Display *dpy, Pixmap bitmap)
 
     if (!dpy || !bitmap)
         return NULL;
-    
+
     info = _XcursorGetDisplayInfo (dpy);
 
     if (!info)
@@ -232,7 +233,7 @@ static unsigned char const _reverse_byte[0x100] = {
        0x0f, 0x8f, 0x4f, 0xcf, 0x2f, 0xaf, 0x6f, 0xef,
        0x1f, 0x9f, 0x5f, 0xdf, 0x3f, 0xbf, 0x7f, 0xff
 };
-    
+
 #define RotByte(t,i)    (((t) << (i)) | ((t) >> (8 - (i))))
 
 void
@@ -272,7 +273,7 @@ XcursorImageHash (XImage      *image,
      * Flip bit order on MSB images
      */
     bit_swap = (image->bitmap_bit_order != LSBFirst);
-    
+
     line = (unsigned char *) image->data;
     i = 0;
     /*
@@ -311,7 +312,7 @@ _XcursorLogDiscover (void)
     }
     return log;
 }
-    
+
 void
 XcursorNoticePutBitmap (Display            *dpy,
                        Drawable    draw,
@@ -321,14 +322,14 @@ XcursorNoticePutBitmap (Display       *dpy,
 
     if (!dpy || !image)
         return;
-    
+
     if (!XcursorSupportsARGB (dpy) && !XcursorGetThemeCore (dpy))
        return;
-    
-    if (image->width > MAX_BITMAP_CURSOR_SIZE || 
+
+    if (image->width > MAX_BITMAP_CURSOR_SIZE ||
        image->height > MAX_BITMAP_CURSOR_SIZE)
        return;
-    
+
     bmi = _XcursorGetBitmap (dpy, (Pixmap) draw);
     if (!bmi)
        return;
@@ -373,7 +374,7 @@ XcursorNoticePutBitmap (Display         *dpy,
        XImage  t = *image;
 
        XInitImage (&t);
-       
+
        printf ("Cursor image name: ");
        for (i = 0; i < XCURSOR_BITMAP_HASH_SIZE; i++)
            printf ("%02x", bmi->hash[i]);
@@ -407,7 +408,7 @@ XcursorTryShapeBitmapCursor (Display                *dpy,
 
     if (!XcursorSupportsARGB (dpy) && !XcursorGetThemeCore (dpy))
        return None;
-    
+
     bmi = _XcursorGetBitmap (dpy, source);
     if (!bmi || !bmi->has_image)
        return None;