AuFileName.c | 30 +++++++-- AuGetAddr.c | 15 +--- AuGetBest.c | 15 +--- AuLock.c | 33 +++------- AuRead.c | 4 - AuUnlock.c | 10 +-- AuWrite.c | 4 - ChangeLog | 160 ++++++++++++++++++++++++++++++++++++++++++++++++++++ Makefile.am | 3 autogen.sh | 14 ++++ configure.ac | 7 +- debian/changelog | 8 ++ debian/compat | 2 debian/rules | 15 +--- include/X11/Xauth.h | 12 +++ man/Xau.man | 50 +++++++--------- 16 files changed, 280 insertions(+), 102 deletions(-)
New commits: commit 54fdcf380d84003826f1e5e2d2481df535b2f86b Author: Julien Cristau <[email protected]> Date: Thu Jun 13 20:27:12 2013 +0200 Use dpkg-buildflags and disable silent rules. diff --git a/debian/changelog b/debian/changelog index 839130d..48df73c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,7 @@ libxau (1:1.0.8-1) UNRELEASED; urgency=low * New upstream release. * Bump debhelper compat level to 7. + * Use dpkg-buildflags and disable silent rules. -- Julien Cristau <[email protected]> Wed, 12 Jun 2013 20:10:26 +0200 diff --git a/debian/rules b/debian/rules index c02db3f..710d273 100755 --- a/debian/rules +++ b/debian/rules @@ -12,12 +12,6 @@ PACKAGE = libxau6 include debian/xsfbs/xsfbs.mk -CFLAGS = -Wall -g -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) @@ -44,8 +38,9 @@ build/config.status: configure --mandir=\$${prefix}/share/man \ --infodir=\$${prefix}/share/info \ --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) \ + --disable-silent-rules \ $(confflags) \ - CFLAGS="$(CFLAGS)" + $(shell DEB_CFLAGS_MAINT_APPEND=-Wall dpkg-buildflags --export=configure) build: build-indep build-arch build-indep: commit 4dd0a0ea0f0d901f7a1fc1296ca3cab7888a98bf Author: Julien Cristau <[email protected]> Date: Thu Jun 13 20:26:31 2013 +0200 Bump debhelper compat level to 7. diff --git a/debian/changelog b/debian/changelog index dc984b8..839130d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,7 @@ libxau (1:1.0.8-1) UNRELEASED; urgency=low * New upstream release. + * Bump debhelper compat level to 7. -- Julien Cristau <[email protected]> Wed, 12 Jun 2013 20:10:26 +0200 diff --git a/debian/compat b/debian/compat index 7ed6ff8..7f8f011 100644 --- a/debian/compat +++ b/debian/compat @@ -1 +1 @@ -5 +7 diff --git a/debian/rules b/debian/rules index 956a7bc..c02db3f 100755 --- a/debian/rules +++ b/debian/rules @@ -86,8 +86,8 @@ binary-arch: build install dh_testroot dh_installdocs - dh_install --sourcedir=debian/tmp --list-missing - dh_installchangelogs ChangeLog + dh_install --list-missing + dh_installchangelogs dh_link dh_strip -p$(PACKAGE) --dbg-package=$(PACKAGE)-dbg dh_strip -N$(PACKAGE) commit 846c90b123094ec7499c968d7e5348cfe00b39da Author: Julien Cristau <[email protected]> Date: Thu Jun 13 19:49:07 2013 +0200 rules: use find -delete diff --git a/debian/rules b/debian/rules index aa4c25b..956a7bc 100755 --- a/debian/rules +++ b/debian/rules @@ -67,7 +67,7 @@ clean: xsfclean rm -f conftest* */conftest* rm -rf autom4te.cache */autom4te.cache rm -rf build - rm -f $$(find -name Makefile.in) + find -name Makefile.in -delete rm -f compile config.guess config.sub configure depcomp install-sh rm -f ltmain.sh missing INSTALL aclocal.m4 mkinstalldirs config.h.in dh_clean commit bdbb3f167f33a8307495394dfbedb45c439ccaef Author: Julien Cristau <[email protected]> Date: Wed Jun 12 20:11:05 2013 +0200 Bump changelogs diff --git a/ChangeLog b/ChangeLog index 2d3c243..952bec4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,163 @@ +commit 899790011304c4029e15abf410e49ce7cec17e0a +Author: Alan Coopersmith <[email protected]> +Date: Fri May 24 15:04:00 2013 -0700 + + libXau 1.0.8 + + Signed-off-by: Alan Coopersmith <[email protected]> + +commit f5a57d8a21a34d7084cce294e24c0422e02ef8ef +Author: Alan Coopersmith <[email protected]> +Date: Sat Mar 30 11:42:09 2013 -0700 + + Use remove() instead of unlink() to delete lock files + + In normal cases, no difference. If someone has accidentally created + a directory with those names, this can save you from needing to fsck + to clean it up on some filesystems (like UFS). + + Signed-off-by: Alan Coopersmith <[email protected]> + +commit 4352cf9707df08d51ef891be156d475743d0a060 +Author: Alan Coopersmith <[email protected]> +Date: Sat Mar 30 11:30:37 2013 -0700 + + Call memcmp() instead of defining our own equivalent + + Stops casting len parameters to int in callers so that this change + doesn't introduce warnings that we're taking unsigned values, casting + them to signed, then passing to a function that wants them unsigned. + + Signed-off-by: Alan Coopersmith <[email protected]> + +commit 704beb71768cdaa2448da6edfa219b4a7bf862f1 +Author: Alan Coopersmith <[email protected]> +Date: Sat Mar 30 11:18:44 2013 -0700 + + Replace strcpy+strcat pairs with snprintf calls + + Signed-off-by: Alan Coopersmith <[email protected]> + +commit 3038a87edce31ad2895431f7cfdc96a33fc70e02 +Author: Alan Coopersmith <[email protected]> +Date: Sat Mar 30 10:59:06 2013 -0700 + + Check for configure's HAVE_UNISTD_H instead of X_NOT_POSIX + + Drops fallback prototype of sleep() for non-POSIX, non-Windows systems + + Signed-off-by: Alan Coopersmith <[email protected]> + +commit 325f5282bc1d93b72b0b05037245cf130970fa38 +Author: Alan Coopersmith <[email protected]> +Date: Sat Mar 30 10:55:26 2013 -0700 + + Use configure check for pathconf instead of X_NOT_POSIX #define + + Signed-off-by: Alan Coopersmith <[email protected]> + +commit 1a8a1b2c68967b48c07b56142799b1020f017027 +Author: Colin Walters <[email protected]> +Date: Wed Jan 4 17:37:06 2012 -0500 + + autogen.sh: Implement GNOME Build API + + http://people.gnome.org/~walters/docs/build-api.txt + + Signed-off-by: Adam Jackson <[email protected]> + +commit b1ace13d5864080f2101f2910cad706f800984de +Author: Adam Jackson <[email protected]> +Date: Tue Jan 15 14:28:48 2013 -0500 + + configure: Remove AM_MAINTAINER_MODE + + Signed-off-by: Adam Jackson <[email protected]> + +commit 8570d287396934f26224c76d48d7f17d87380e72 +Author: Alan Coopersmith <[email protected]> +Date: Sat Jan 12 15:58:59 2013 -0800 + + Convert INCLUDES to AM_CPPFLAGS in preparation for automake-1.14 obsoletion + + Signed-off-by: Alan Coopersmith <[email protected]> + +commit 369d133ca19f938d123254dee5c88214512f82df +Author: Alan Coopersmith <[email protected]> +Date: Fri Jan 4 19:38:51 2013 -0800 + + unifdef -U__UNIXOS2__ + + Signed-off-by: Alan Coopersmith <[email protected]> + +commit e04364efccbb3bb4cfc5f4cb491ffa1faaaacbdb +Author: Alan Coopersmith <[email protected]> +Date: Sun Dec 16 15:50:52 2012 -0800 + + Tell clang to shut up about the padding in struct xauth + + We can't clean it up without breaking ABI, so disable the warnings for it: + + ./include/X11/Xauth.h:33:19: warning: padding struct 'struct xauth' with 4 bytes to align 'address' [-Wpadded] + char *address; + ^ + ./include/X11/Xauth.h:35:19: warning: padding struct 'struct xauth' with 6 bytes to align 'number' [-Wpadded] + char *number; + ^ + ./include/X11/Xauth.h:37:19: warning: padding struct 'struct xauth' with 6 bytes to align 'name' [-Wpadded] + char *name; + ^ + ./include/X11/Xauth.h:39:18: warning: padding struct 'struct xauth' with 6 bytes to align 'data' [-Wpadded] + char *data; + ^ + + Signed-off-by: Alan Coopersmith <[email protected]> + Reviewed-by: Peter Hutterer <[email protected]> + +commit 4d43b4554f8e35bf8122ae9d2f1bbc0e56fe6d37 +Author: Alan Coopersmith <[email protected]> +Date: Sun Dec 16 15:40:30 2012 -0800 + + Clean up some clang warnings about sign conversion + + fread & fwrite are defined as taking size_t arguments (an unsigned type), + so stop casting their arguments to a signed int just to confuse things. + + Fixes warnings: + + AuFileName.c:69:59: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] + size = strlen (name) + strlen(&slashDotXauthority[1]) + 2; + ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ + + AuRead.c:58:44: warning: implicit conversion changes signedness: 'int' to 'size_t' (aka 'unsigned long') [-Wsign-conversion] + if (fread (data, (int) sizeof (char), (int) len, file) != len) { + ~~~~~ ^~~~~~~~~ + + AuWrite.c:49:46: warning: implicit conversion changes signedness: 'int' to 'size_t' (aka 'unsigned long') [-Wsign-conversion] + if (fwrite (string, (int) sizeof (char), (int) count, file) != count) + ~~~~~~ ^~~~~~~~~~~ + + Signed-off-by: Alan Coopersmith <[email protected]> + Reviewed-by: Peter Hutterer <[email protected]> + +commit f2b24dd74614ce807cacf764c6eddd834feffc5a +Author: Eric S. Raymond <[email protected]> +Date: Thu Aug 23 11:12:39 2012 -0400 + + Remove a use of tab stops. + +commit 9daef33e32ba36c1f872691daeebbf98a73b4b25 +Author: Chase Douglas <[email protected]> +Date: Fri Apr 20 14:16:07 2012 -0700 + + Free XauFileName() static buffer at exit + + XauFileName() may allocate and return a static buffer. The only + way to ensure it is freed is to deallocate it when the program exits. + + Signed-off-by: Chase Douglas <[email protected]> + Reviewed-by: Alan Coopersmith <[email protected]> + commit 0e3061495f5da8a323db02e612c4f09688b7ade0 Author: Alan Coopersmith <[email protected]> Date: Tue Mar 6 22:16:57 2012 -0800 diff --git a/debian/changelog b/debian/changelog index 497bc14..dc984b8 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +libxau (1:1.0.8-1) UNRELEASED; urgency=low + + * New upstream release. + + -- Julien Cristau <[email protected]> Wed, 12 Jun 2013 20:10:26 +0200 + libxau (1:1.0.7-1) unstable; urgency=low * New upstream release. commit 899790011304c4029e15abf410e49ce7cec17e0a Author: Alan Coopersmith <[email protected]> Date: Fri May 24 15:04:00 2013 -0700 libXau 1.0.8 Signed-off-by: Alan Coopersmith <[email protected]> diff --git a/configure.ac b/configure.ac index e55cfce..7f914ea 100644 --- a/configure.ac +++ b/configure.ac @@ -22,7 +22,7 @@ # Initialize Autoconf AC_PREREQ([2.60]) -AC_INIT([libXau], [1.0.7], +AC_INIT([libXau], [1.0.8], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [libXau]) AC_CONFIG_SRCDIR([Makefile.am]) AC_CONFIG_HEADERS([config.h]) commit f5a57d8a21a34d7084cce294e24c0422e02ef8ef Author: Alan Coopersmith <[email protected]> Date: Sat Mar 30 11:42:09 2013 -0700 Use remove() instead of unlink() to delete lock files In normal cases, no difference. If someone has accidentally created a directory with those names, this can save you from needing to fsck to clean it up on some filesystems (like UFS). Signed-off-by: Alan Coopersmith <[email protected]> diff --git a/AuLock.c b/AuLock.c index ce15f25..5dfc174 100644 --- a/AuLock.c +++ b/AuLock.c @@ -64,8 +64,8 @@ long dead) * case a 0 deadtime to force lock removal */ if (dead == 0 || now - statb.st_ctime > dead) { - (void) unlink (creat_name); - (void) unlink (link_name); + (void) remove (creat_name); + (void) remove (link_name); } } diff --git a/AuUnlock.c b/AuUnlock.c index 309ba6d..b817246 100644 --- a/AuUnlock.c +++ b/AuUnlock.c @@ -49,9 +49,9 @@ _Xconst char *file_name) * I think this is the correct order */ #ifndef WIN32 - (void) unlink (creat_name); + (void) remove (creat_name); #endif - (void) unlink (link_name); + (void) remove (link_name); return 1; } commit 4352cf9707df08d51ef891be156d475743d0a060 Author: Alan Coopersmith <[email protected]> Date: Sat Mar 30 11:30:37 2013 -0700 Call memcmp() instead of defining our own equivalent Stops casting len parameters to int in callers so that this change doesn't introduce warnings that we're taking unsigned values, casting them to signed, then passing to a function that wants them unsigned. Signed-off-by: Alan Coopersmith <[email protected]> diff --git a/AuGetAddr.c b/AuGetAddr.c index 897d8b5..6f5fe16 100644 --- a/AuGetAddr.c +++ b/AuGetAddr.c @@ -30,14 +30,7 @@ in this Software without prior written authorization from The Open Group. #include <X11/Xauth.h> #include <X11/Xos.h> -static int -binaryEqual (_Xconst char *a, _Xconst char *b, int len) -{ - while (len--) - if (*a++ != *b++) - return 0; - return 1; -} +#define binaryEqual(a, b, len) (memcmp(a, b, len) == 0) Xauth * XauGetAuthByAddr ( @@ -94,13 +87,13 @@ _Xconst char* name) if ((family == FamilyWild || entry->family == FamilyWild || (entry->family == family && address_length == entry->address_length && - binaryEqual (entry->address, address, (int)address_length))) && + binaryEqual (entry->address, address, address_length))) && (number_length == 0 || entry->number_length == 0 || (number_length == entry->number_length && - binaryEqual (entry->number, number, (int)number_length))) && + binaryEqual (entry->number, number, number_length))) && (name_length == 0 || entry->name_length == 0 || (entry->name_length == name_length && - binaryEqual (entry->name, name, (int)name_length)))) + binaryEqual (entry->name, name, name_length)))) break; XauDisposeAuth (entry); } diff --git a/AuGetBest.c b/AuGetBest.c index 673ee40..5556559 100644 --- a/AuGetBest.c +++ b/AuGetBest.c @@ -38,14 +38,7 @@ in this Software without prior written authorization from The Open Group. #include <X11/Xos_r.h> #endif -static int -binaryEqual (_Xconst char *a, _Xconst char *b, int len) -{ - while (len--) - if (*a++ != *b++) - return 0; - return 1; -} +#define binaryEqual(a, b, len) (memcmp(a, b, len) == 0) Xauth * XauGetBestAuthByAddr ( @@ -129,17 +122,17 @@ XauGetBestAuthByAddr ( if ((family == FamilyWild || entry->family == FamilyWild || (entry->family == family && ((address_length == entry->address_length && - binaryEqual (entry->address, address, (int)address_length)) + binaryEqual (entry->address, address, address_length)) #ifdef hpux || (family == FamilyLocal && fully_qual_address_length == entry->address_length && binaryEqual (entry->address, fully_qual_address, - (int) fully_qual_address_length)) + fully_qual_address_length)) #endif ))) && (number_length == 0 || entry->number_length == 0 || (number_length == entry->number_length && - binaryEqual (entry->number, number, (int)number_length)))) + binaryEqual (entry->number, number, number_length)))) { if (best_type == 0) { commit 704beb71768cdaa2448da6edfa219b4a7bf862f1 Author: Alan Coopersmith <[email protected]> Date: Sat Mar 30 11:18:44 2013 -0700 Replace strcpy+strcat pairs with snprintf calls Signed-off-by: Alan Coopersmith <[email protected]> diff --git a/AuFileName.c b/AuFileName.c index 473fad1..0904273 100644 --- a/AuFileName.c +++ b/AuFileName.c @@ -57,9 +57,8 @@ XauFileName (void) name = getenv ("HOME"); if (!name) { #ifdef WIN32 - (void) strcpy (dir, "/users/"); if ((name = getenv("USERNAME"))) { - (void) strcat (dir, name); + snprintf(dir, sizeof(dir), "/users/%s", name); name = dir; } if (!name) @@ -81,7 +80,7 @@ XauFileName (void) bsize = size; } - strcpy (buf, name); - strcat (buf, slashDotXauthority + (name[1] == '\0' ? 1 : 0)); + snprintf (buf, bsize, "%s%s", name, + slashDotXauthority + (name[1] == '\0' ? 1 : 0)); return buf; } diff --git a/AuLock.c b/AuLock.c index b9859f1..ce15f25 100644 --- a/AuLock.c +++ b/AuLock.c @@ -55,10 +55,8 @@ long dead) if (strlen (file_name) > 1022) return LOCK_ERROR; - (void) strcpy (creat_name, file_name); - (void) strcat (creat_name, "-c"); - (void) strcpy (link_name, file_name); - (void) strcat (link_name, "-l"); + snprintf (creat_name, sizeof(creat_name), "%s-c", file_name); + snprintf (link_name, sizeof(link_name), "%s-l", file_name); if (stat (creat_name, &statb) != -1) { now = time ((Time_t *) 0); /* diff --git a/AuUnlock.c b/AuUnlock.c index ddbe7db..309ba6d 100644 --- a/AuUnlock.c +++ b/AuUnlock.c @@ -42,11 +42,9 @@ _Xconst char *file_name) if (strlen (file_name) > 1022) return 0; #ifndef WIN32 - (void) strcpy (creat_name, file_name); - (void) strcat (creat_name, "-c"); + snprintf (creat_name, sizeof(creat_name), "%s-c", file_name); #endif - (void) strcpy (link_name, file_name); - (void) strcat (link_name, "-l"); + snprintf (link_name, sizeof(link_name), "%s-l", file_name); /* * I think this is the correct order */ commit 3038a87edce31ad2895431f7cfdc96a33fc70e02 Author: Alan Coopersmith <[email protected]> Date: Sat Mar 30 10:59:06 2013 -0700 Check for configure's HAVE_UNISTD_H instead of X_NOT_POSIX Drops fallback prototype of sleep() for non-POSIX, non-Windows systems Signed-off-by: Alan Coopersmith <[email protected]> diff --git a/AuLock.c b/AuLock.c index 3ae7596..b9859f1 100644 --- a/AuLock.c +++ b/AuLock.c @@ -33,15 +33,12 @@ in this Software without prior written authorization from The Open Group. #include <errno.h> #include <time.h> #define Time_t time_t -#ifndef X_NOT_POSIX -#include <unistd.h> -#else -#ifndef WIN32 -extern unsigned sleep (); -#else -#include <X11/Xwindows.h> -#define link rename +#ifdef HAVE_UNISTD_H +# include <unistd.h> #endif +#ifdef WIN32 +# include <X11/Xwindows.h> +# define link rename #endif int commit 325f5282bc1d93b72b0b05037245cf130970fa38 Author: Alan Coopersmith <[email protected]> Date: Sat Mar 30 10:55:26 2013 -0700 Use configure check for pathconf instead of X_NOT_POSIX #define Signed-off-by: Alan Coopersmith <[email protected]> diff --git a/AuLock.c b/AuLock.c index 7bf9e5d..3ae7596 100644 --- a/AuLock.c +++ b/AuLock.c @@ -84,7 +84,7 @@ long dead) (void) close (creat_fd); } if (creat_fd != -1) { -#ifndef X_NOT_POSIX +#ifdef HAVE_PATHCONF /* The file system may not support hard links, and pathconf should tell us that. */ if (1 == pathconf(creat_name, _PC_LINK_MAX)) { if (-1 == rename(creat_name, link_name)) { @@ -93,8 +93,9 @@ long dead) } else { return LOCK_SUCCESS; } - } else { + } else #endif + { if (link (creat_name, link_name) != -1) return LOCK_SUCCESS; if (errno == ENOENT) { @@ -103,9 +104,7 @@ long dead) } if (errno != EEXIST) return LOCK_ERROR; -#ifndef X_NOT_POSIX } -#endif } (void) sleep ((unsigned) timeout); --retries; diff --git a/configure.ac b/configure.ac index 62a4717..e55cfce 100644 --- a/configure.ac +++ b/configure.ac @@ -26,6 +26,7 @@ AC_INIT([libXau], [1.0.7], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [libXau]) AC_CONFIG_SRCDIR([Makefile.am]) AC_CONFIG_HEADERS([config.h]) +AC_USE_SYSTEM_EXTENSIONS # Initialize Automake AM_INIT_AUTOMAKE([foreign dist-bzip2]) @@ -43,6 +44,9 @@ XORG_DEFAULT_OPTIONS # Checks for programs. AC_PROG_LN_S +# Checks for library functions. +AC_CHECK_FUNCS([pathconf]) + # Obtain compiler/linker options for depedencies PKG_CHECK_MODULES(XAU, xproto) commit 1a8a1b2c68967b48c07b56142799b1020f017027 Author: Colin Walters <[email protected]> Date: Wed Jan 4 17:37:06 2012 -0500 autogen.sh: Implement GNOME Build API http://people.gnome.org/~walters/docs/build-api.txt Signed-off-by: Adam Jackson <[email protected]> diff --git a/autogen.sh b/autogen.sh index 904cd67..fc34bd5 100755 --- a/autogen.sh +++ b/autogen.sh @@ -9,4 +9,6 @@ cd $srcdir autoreconf -v --install || exit 1 cd $ORIGDIR || exit $? -$srcdir/configure --enable-maintainer-mode "$@" +if test -z "$NOCONFIGURE"; then + $srcdir/configure "$@" +fi commit b1ace13d5864080f2101f2910cad706f800984de Author: Adam Jackson <[email protected]> Date: Tue Jan 15 14:28:48 2013 -0500 configure: Remove AM_MAINTAINER_MODE Signed-off-by: Adam Jackson <[email protected]> diff --git a/configure.ac b/configure.ac index 92ad113..62a4717 100644 --- a/configure.ac +++ b/configure.ac @@ -29,7 +29,6 @@ AC_CONFIG_HEADERS([config.h]) # Initialize Automake AM_INIT_AUTOMAKE([foreign dist-bzip2]) -AM_MAINTAINER_MODE # Initialize libtool AC_LIBTOOL_WIN32_DLL commit 8570d287396934f26224c76d48d7f17d87380e72 Author: Alan Coopersmith <[email protected]> Date: Sat Jan 12 15:58:59 2013 -0800 Convert INCLUDES to AM_CPPFLAGS in preparation for automake-1.14 obsoletion Signed-off-by: Alan Coopersmith <[email protected]> diff --git a/Makefile.am b/Makefile.am index 9e8d95b..1049614 100644 --- a/Makefile.am +++ b/Makefile.am @@ -3,8 +3,7 @@ SUBDIRS=man lib_LTLIBRARIES = libXau.la AM_CFLAGS = $(XAU_CFLAGS) $(CWARNFLAGS) - -INCLUDES = -I${top_srcdir}/include +AM_CPPFLAGS = -I${top_srcdir}/include libXau_la_LDFLAGS = -version-number 6:0:0 -no-undefined commit 369d133ca19f938d123254dee5c88214512f82df Author: Alan Coopersmith <[email protected]> Date: Fri Jan 4 19:38:51 2013 -0800 unifdef -U__UNIXOS2__ Signed-off-by: Alan Coopersmith <[email protected]> diff --git a/AuLock.c b/AuLock.c index a816b24..7bf9e5d 100644 --- a/AuLock.c +++ b/AuLock.c @@ -43,9 +43,6 @@ extern unsigned sleep (); #define link rename #endif #endif -#ifdef __UNIXOS2__ -#define link rename -#endif int XauLockAuth ( commit e04364efccbb3bb4cfc5f4cb491ffa1faaaacbdb Author: Alan Coopersmith <[email protected]> Date: Sun Dec 16 15:50:52 2012 -0800 Tell clang to shut up about the padding in struct xauth We can't clean it up without breaking ABI, so disable the warnings for it: ./include/X11/Xauth.h:33:19: warning: padding struct 'struct xauth' with 4 bytes to align 'address' [-Wpadded] char *address; ^ ./include/X11/Xauth.h:35:19: warning: padding struct 'struct xauth' with 6 bytes to align 'number' [-Wpadded] char *number; ^ ./include/X11/Xauth.h:37:19: warning: padding struct 'struct xauth' with 6 bytes to align 'name' [-Wpadded] char *name; ^ ./include/X11/Xauth.h:39:18: warning: padding struct 'struct xauth' with 6 bytes to align 'data' [-Wpadded] char *data; ^ Signed-off-by: Alan Coopersmith <[email protected]> Reviewed-by: Peter Hutterer <[email protected]> diff --git a/include/X11/Xauth.h b/include/X11/Xauth.h index f57a1b3..a707bed 100644 --- a/include/X11/Xauth.h +++ b/include/X11/Xauth.h @@ -27,6 +27,14 @@ in this Software without prior written authorization from The Open Group. #ifndef _Xauth_h #define _Xauth_h +/* struct xauth is full of implicit padding to properly align the pointers + after the length fields. We can't clean that up without breaking ABI, + so tell clang not to bother complaining about it. */ +#ifdef __clang__ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wpadded" +#endif + typedef struct xauth { unsigned short family; unsigned short address_length; @@ -39,6 +47,10 @@ typedef struct xauth { char *data; } Xauth; +#ifdef __clang__ +#pragma clang diagnostic pop +#endif + #ifndef _XAUTH_STRUCT_ONLY # include <X11/Xfuncproto.h> commit 4d43b4554f8e35bf8122ae9d2f1bbc0e56fe6d37 Author: Alan Coopersmith <[email protected]> Date: Sun Dec 16 15:40:30 2012 -0800 Clean up some clang warnings about sign conversion fread & fwrite are defined as taking size_t arguments (an unsigned type), so stop casting their arguments to a signed int just to confuse things. Fixes warnings: AuFileName.c:69:59: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] size = strlen (name) + strlen(&slashDotXauthority[1]) + 2; ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ AuRead.c:58:44: warning: implicit conversion changes signedness: 'int' to 'size_t' (aka 'unsigned long') [-Wsign-conversion] if (fread (data, (int) sizeof (char), (int) len, file) != len) { ~~~~~ ^~~~~~~~~ AuWrite.c:49:46: warning: implicit conversion changes signedness: 'int' to 'size_t' (aka 'unsigned long') [-Wsign-conversion] if (fwrite (string, (int) sizeof (char), (int) count, file) != count) ~~~~~~ ^~~~~~~~~~~ Signed-off-by: Alan Coopersmith <[email protected]> Reviewed-by: Peter Hutterer <[email protected]> diff --git a/AuFileName.c b/AuFileName.c index bc7b177..473fad1 100644 --- a/AuFileName.c +++ b/AuFileName.c @@ -45,12 +45,12 @@ XauFileName (void) { const char *slashDotXauthority = "/.Xauthority"; char *name; - static int bsize; + static size_t bsize; static int atexit_registered = 0; #ifdef WIN32 char dir[128]; #endif - int size; + size_t size; if ((name = getenv ("XAUTHORITY"))) return name; @@ -70,7 +70,7 @@ XauFileName (void) if (size > bsize) { if (buf) free (buf); - buf = malloc ((unsigned) size); + buf = malloc (size); if (!buf) return NULL; diff --git a/AuRead.c b/AuRead.c index 3c59632..5d41f03 100644 --- a/AuRead.c +++ b/AuRead.c @@ -35,7 +35,7 @@ read_short (unsigned short *shortp, FILE *file) { unsigned char file_short[2]; - if (fread ((char *) file_short, (int) sizeof (file_short), 1, file) != 1) + if (fread ((char *) file_short, sizeof (file_short), 1, file) != 1) return 0; *shortp = file_short[0] * 256 + file_short[1]; return 1; @@ -55,7 +55,7 @@ read_counted_string (unsigned short *countp, char **stringp, FILE *file) data = malloc ((unsigned) len); if (!data) return 0; - if (fread (data, (int) sizeof (char), (int) len, file) != len) { + if (fread (data, sizeof (char), len, file) != len) { bzero (data, len); free (data); return 0; diff --git a/AuWrite.c b/AuWrite.c index 0924f8d..1eb38a3 100644 --- a/AuWrite.c +++ b/AuWrite.c @@ -36,7 +36,7 @@ write_short (unsigned short s, FILE *file) file_short[0] = (s & (unsigned)0xff00) >> 8; file_short[1] = s & 0xff; - if (fwrite ((char *) file_short, (int) sizeof (file_short), 1, file) != 1) + if (fwrite ((char *) file_short, sizeof (file_short), 1, file) != 1) return 0; return 1; } @@ -46,7 +46,7 @@ write_counted_string (unsigned short count, char *string, FILE *file) { if (write_short (count, file) == 0) return 0; - if (fwrite (string, (int) sizeof (char), (int) count, file) != count) + if (fwrite (string, sizeof (char), count, file) != count) return 0; return 1; } commit f2b24dd74614ce807cacf764c6eddd834feffc5a Author: Eric S. Raymond <[email protected]> Date: Thu Aug 23 11:12:39 2012 -0400 Remove a use of tab stops. diff --git a/man/Xau.man b/man/Xau.man index 46d4a19..d1b6603 100644 --- a/man/Xau.man +++ b/man/Xau.man @@ -29,22 +29,21 @@ Xau library: XauFileName, XauReadAuth, XauLockAuth, XauUnlockAuth, XauWriteAuth, XauDisposeAuth, XauGetAuthByAddr, XauGetBestAuthByAddr \- X authority database routines .SH SYNOPSIS -.B "#include <X11/Xauth.h>" -.PP +.ft CW .nf -.ta .5i 2i +#include <X11/Xauth.h> + typedef struct xauth { - unsigned short family; - unsigned short address_length; - char *address; - unsigned short number_length; - char *number; - unsigned short name_length; - char *name; - unsigned short data_length; - char *data; + unsigned short family; + unsigned short address_length; + char *address; + unsigned short number_length; + char *number; + unsigned short name_length; + char *name; + unsigned short data_length; + char *data; } Xauth; - .HP char *XauFileName (void); .HP @@ -68,7 +67,8 @@ int XauLockAuth (const char *\fIfile_name\fP\^, int \fIretries\fP\^, int int XauUnlockAuth (const char *\fIfile_name\fP\^); .HP int XauDisposeAuth (Xauth *\fIauth\fP\^); -.ft R +.fi +.ft .SH DESCRIPTION .PP \fBXauFileName\fP generates the default authorization file name by first @@ -106,18 +106,16 @@ files to be removed. \fIXauLockAuth\fP makes \fIretries\fP attempts to create and link the file names, pausing \fItimeout\fP seconds between each attempt. \fIXauLockAuth\fP returns a collection of values depending on the results: -.nf -.ta .5i 2i - - LOCK_ERROR A system error occurred, either a file_name - which is too long, or an unexpected failure from - a system call. errno may prove useful. - - LOCK_TIMEOUT \fIretries\fP attempts failed - - LOCK_SUCCESS The lock succeeded. - -.fi +.TP +LOCK_ERROR +A system error occurred, either a file_name which is too long, or an +unexpected failure from a system call. errno may prove useful. +.TP +LOCK_TIMEOUT +\fIretries\fP attempts failed +.TP +LOCK_SUCCESS +The lock succeeded. .PP \fBXauUnlockAuth\fP undoes the work of \fIXauLockAuth\fP by unlinking both the ``-c'' and ``-l'' file names. commit 9daef33e32ba36c1f872691daeebbf98a73b4b25 Author: Chase Douglas <[email protected]> Date: Fri Apr 20 14:16:07 2012 -0700 Free XauFileName() static buffer at exit XauFileName() may allocate and return a static buffer. The only way to ensure it is freed is to deallocate it when the program exits. Signed-off-by: Chase Douglas <[email protected]> Reviewed-by: Alan Coopersmith <[email protected]> diff --git a/AuFileName.c b/AuFileName.c index f384f75..bc7b177 100644 --- a/AuFileName.c +++ b/AuFileName.c @@ -31,13 +31,22 @@ in this Software without prior written authorization from The Open Group. #include <X11/Xos.h> #include <stdlib.h> +static char *buf = NULL; + +static void +free_filename_buffer(void) +{ + free(buf); + buf = NULL; +} -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

