Update to xprop 1.2.1

This commit is contained in:
matthieu
2011-08-28 13:16:51 +00:00
parent c54f608f30
commit 6ef0fdd29a
12 changed files with 973 additions and 210 deletions

View File

@@ -34,6 +34,122 @@ Date: Thu Dec 6 05:30:43 2007 -0500
Signed-off-by: James Cloos <cloos@jhcloos.com>
commit d59bc81ec9af03c172e4894eb7f3bad4c76dc34b
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Wed Jun 29 21:09:22 2011 -0700
xprop 1.2.1
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 66240b78d9ee8d4bbdfb3a5ccf9d87058cddf0de
Author: Jeremy Huddleston <jeremyhu@apple.com>
Date: Sun May 8 21:47:06 2011 -0700
Make error handlint more robust in Format_Len_Unicode
xprop.c:1011:2: warning: Function call argument is an uninitialized value
memcpy(_formatting_buffer, error, strlen(error)+1);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
xprop.c:1011:36: note: instantiated from:
memcpy(_formatting_buffer, error, strlen(error)+1);
^ ~~~~~
Found-by: clang static analysis
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
commit 433f43ec71447c447cdc6142ab5829a8eea258a7
Author: Jeremy Huddleston <jeremyhu@apple.com>
Date: Sun May 8 17:12:04 2011 -0700
Fix uninitialize values warnings in static analysis
xprop.c:299:25: warning: Passed-by-value struct argument contains uninitialized data (e.g., field: 'thunk_count')
_property_formats = Add_Thunk(_property_formats, t);
^ ~
xprop.c:1394:11: warning: Passed-by-value struct argument contains uninitialized data (e.g., field: 'thunk_count')
thunks = Add_Thunk(thunks, t);
^ ~
xprop.c:1581:15: warning: Passed-by-value struct argument contains uninitialized data (e.g., field: 'thunk_count')
thunks = Add_Thunk(thunks, t);
^ ~
xprop.c:1962:18: warning: Passed-by-value struct argument contains uninitialized data (e.g., field: 'thunk_count')
set_props = Add_Thunk(set_props, t);
^ ~
xprop.c:1952:21: warning: Passed-by-value struct argument contains uninitialized data (e.g., field: 'thunk_count')
remove_props = Add_Thunk(remove_props, t);
^ ~
Found-by: clang static analyzer
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
commit 1f20efb09b0d437e0618b7588212e2e0b9ffd3b2
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Fri Jan 28 20:06:16 2011 -0800
Use _X_NORETURN from xproto 7.0.17 instead of local check
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Julien Cristau <jcristau@debian.org>
commit 9b529480074120f8228662ede175bfa65f6ece8c
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Fri Jan 28 21:51:00 2011 -0800
Replace Copy_String() with strdup + error check
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Julien Cristau <jcristau@debian.org>
commit ea5ada919258d04e003596ee7079c33b5657dbdc
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Fri Jan 28 21:46:39 2011 -0800
inline Malloc & Realloc functions
Since stdlib.h versions return void *, remove unneeded casts that
the wrappers needed.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Julien Cristau <jcristau@debian.org>
commit baed631bfcd091e40f4e84f740c6d86d9fb981b3
Author: Gaetan Nadon <memsize@videotron.ca>
Date: Wed Jan 19 10:06:56 2011 -0500
config: move man pages into their own directory
Use services provided by XORG_MANPAGE_SECTIONS.
Use standard Makefile for man pages.
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
commit 6505a6b2fb2672b543d5b485bc7ac739d1e479f0
Author: Gaetan Nadon <memsize@videotron.ca>
Date: Thu Jan 13 11:15:48 2011 -0500
man: remove trailing spaces and tabs
Using s/[ \t]*$//
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
commit b0c64dd81b9aa4d07a87d811cd2975cc6989adc8
Author: Gaetan Nadon <memsize@videotron.ca>
Date: Wed Jan 12 16:28:02 2011 -0500
config: replace deprecated AM_CONFIG_HEADER with AC_CONFIG_HEADERS
This silences an Autoconf warning
commit 15744802201da54ff8e39bc0d5b9f1a69ce3496d
Author: Kai-Uwe Behrmann <ku.b@gmx.de>
Date: Tue Dec 7 22:36:37 2010 -0800
xprop man page example for -set option
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit b8f740b195888cf530e4982ba3e9a3760b40f3bc
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Sat Oct 30 11:06:48 2010 -0700

View File

@@ -19,6 +19,7 @@
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
SUBDIRS = man
bin_PROGRAMS = xprop
AM_CFLAGS = $(CWARNFLAGS) $(XPROP_CFLAGS)
@@ -31,17 +32,7 @@ xprop_SOURCES = \
clientwin.h \
xprop.c
appman_PRE = \
xprop.man
appmandir = $(APP_MAN_DIR)
appman_DATA = $(appman_PRE:man=@APP_MAN_SUFFIX@)
EXTRA_DIST = $(appman_PRE)
MAINTAINERCLEANFILES = ChangeLog INSTALL
CLEANFILES = $(appman_DATA)
.PHONY: ChangeLog INSTALL
@@ -53,12 +44,6 @@ ChangeLog:
dist-hook: ChangeLog INSTALL
SUFFIXES = .$(APP_MAN_SUFFIX) .man
# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure
.man.$(APP_MAN_SUFFIX):
$(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
if LINT
ALL_LINT_FLAGS=$(LINT_FLAGS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS)

View File

@@ -35,7 +35,6 @@
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
@@ -45,9 +44,9 @@ pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = .
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
install_sh_DATA = ${SHELL} $(install_sh) -c -m 644
install_sh_PROGRAM = ${SHELL} $(install_sh) -c
install_sh_SCRIPT = ${SHELL} $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
@@ -73,7 +72,7 @@ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
mkinstalldirs = $(SHELL) $(install_sh) -d
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES =
am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(appmandir)"
am__installdirs = "$(DESTDIR)$(bindir)"
binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
PROGRAMS = $(bin_PROGRAMS)
am_xprop_OBJECTS = dsimple.$(OBJEXT) clientwin.$(OBJEXT) \
@@ -90,16 +89,15 @@ CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(xprop_SOURCES)
DIST_SOURCES = $(xprop_SOURCES)
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
appmanDATA_INSTALL = $(INSTALL_DATA)
DATA = $(appman_DATA)
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
install-exec-recursive install-info-recursive \
install-recursive installcheck-recursive installdirs-recursive \
pdf-recursive ps-recursive uninstall-info-recursive \
uninstall-recursive
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
@@ -226,6 +224,7 @@ sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
SUBDIRS = man
AM_CFLAGS = $(CWARNFLAGS) $(XPROP_CFLAGS)
xprop_LDADD = $(XPROP_LIBS)
xprop_SOURCES = \
@@ -235,23 +234,15 @@ xprop_SOURCES = \
clientwin.h \
xprop.c
appman_PRE = \
xprop.man
appmandir = $(APP_MAN_DIR)
appman_DATA = $(appman_PRE:man=@APP_MAN_SUFFIX@)
EXTRA_DIST = $(appman_PRE)
MAINTAINERCLEANFILES = ChangeLog INSTALL
CLEANFILES = $(appman_DATA)
SUFFIXES = .$(APP_MAN_SUFFIX) .man
@LINT_TRUE@ALL_LINT_FLAGS = $(LINT_FLAGS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
@LINT_TRUE@ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS)
all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-am
$(MAKE) $(AM_MAKEFLAGS) all-recursive
.SUFFIXES:
.SUFFIXES: .$(APP_MAN_SUFFIX) .man .c .o .obj
.SUFFIXES: .c .o .obj
am--refresh:
@:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@@ -353,22 +344,76 @@ distclean-compile:
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
uninstall-info-am:
install-appmanDATA: $(appman_DATA)
@$(NORMAL_INSTALL)
test -z "$(appmandir)" || $(mkdir_p) "$(DESTDIR)$(appmandir)"
@list='$(appman_DATA)'; for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
f=$(am__strip_dir) \
echo " $(appmanDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(appmandir)/$$f'"; \
$(appmanDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(appmandir)/$$f"; \
done
uninstall-appmanDATA:
@$(NORMAL_UNINSTALL)
@list='$(appman_DATA)'; for p in $$list; do \
f=$(am__strip_dir) \
echo " rm -f '$(DESTDIR)$(appmandir)/$$f'"; \
rm -f "$(DESTDIR)$(appmandir)/$$f"; \
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
# To change the values of `make' variables: instead of editing Makefiles,
# (1) if the variable is set in `config.status', edit `config.status'
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
@failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
mostlyclean-recursive clean-recursive distclean-recursive \
maintainer-clean-recursive:
@failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
rev=''; for subdir in $$list; do \
if test "$$subdir" = "."; then :; else \
rev="$$subdir $$rev"; \
fi; \
done; \
rev="$$rev ."; \
target=`echo $@ | sed s/-recursive//`; \
for subdir in $$rev; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
@@ -381,10 +426,23 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
empty_fix=.; \
else \
include_option=--include; \
empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
@@ -397,7 +455,7 @@ TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
$$tags $$unique; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
@@ -448,6 +506,21 @@ distdir: $(DISTFILES)
|| exit 1; \
fi; \
done
list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
|| $(mkdir_p) "$(distdir)/$$subdir" \
|| exit 1; \
distdir=`$(am__cd) $(distdir) && pwd`; \
top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
(cd $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$top_distdir" \
distdir="$$distdir/$$subdir" \
distdir) \
|| exit 1; \
fi; \
done
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$(top_distdir)" distdir="$(distdir)" \
dist-hook
@@ -549,21 +622,22 @@ distcleancheck: distclean
$(distcleancheck_listfiles) ; \
exit 1; } >&2
check-am: all-am
check: check-am
all-am: Makefile $(PROGRAMS) $(DATA) config.h
installdirs:
for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(appmandir)"; do \
check: check-recursive
all-am: Makefile $(PROGRAMS) config.h
installdirs: installdirs-recursive
installdirs-am:
for dir in "$(DESTDIR)$(bindir)"; do \
test -z "$$dir" || $(mkdir_p) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
installcheck: installcheck-recursive
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
@@ -572,7 +646,6 @@ install-strip:
mostlyclean-generic:
clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
@@ -581,73 +654,75 @@ maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
clean: clean-am
clean: clean-recursive
clean-am: clean-binPROGRAMS clean-generic mostlyclean-am
distclean: distclean-am
distclean: distclean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-hdr distclean-tags
dvi: dvi-am
dvi: dvi-recursive
dvi-am:
html: html-am
html: html-recursive
info: info-am
info: info-recursive
info-am:
install-data-am: install-appmanDATA
install-data-am:
install-exec-am: install-binPROGRAMS
install-info: install-info-am
install-info: install-info-recursive
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-am
maintainer-clean: maintainer-clean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -rf $(top_srcdir)/autom4te.cache
-rm -rf ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-compile mostlyclean-generic
pdf: pdf-am
pdf: pdf-recursive
pdf-am:
ps: ps-am
ps: ps-recursive
ps-am:
uninstall-am: uninstall-appmanDATA uninstall-binPROGRAMS \
uninstall-info-am
uninstall-am: uninstall-binPROGRAMS uninstall-info-am
.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \
clean-binPROGRAMS clean-generic ctags dist dist-all dist-bzip2 \
dist-gzip dist-hook dist-shar dist-tarZ dist-zip distcheck \
distclean distclean-compile distclean-generic distclean-hdr \
distclean-tags distcleancheck distdir distuninstallcheck dvi \
dvi-am html html-am info info-am install install-am \
install-appmanDATA install-binPROGRAMS install-data \
uninstall-info: uninstall-info-recursive
.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \
check-am clean clean-binPROGRAMS clean-generic clean-recursive \
ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \
dist-hook dist-shar dist-tarZ dist-zip distcheck distclean \
distclean-compile distclean-generic distclean-hdr \
distclean-recursive distclean-tags distcleancheck distdir \
distuninstallcheck dvi dvi-am html html-am info info-am \
install install-am install-binPROGRAMS install-data \
install-data-am install-exec install-exec-am install-info \
install-info-am install-man install-strip installcheck \
installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
uninstall-am uninstall-appmanDATA uninstall-binPROGRAMS \
uninstall-info-am
installcheck-am installdirs installdirs-am maintainer-clean \
maintainer-clean-generic maintainer-clean-recursive \
mostlyclean mostlyclean-compile mostlyclean-generic \
mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
uninstall uninstall-am uninstall-binPROGRAMS uninstall-info-am
.PHONY: ChangeLog INSTALL
@@ -660,10 +735,6 @@ ChangeLog:
dist-hook: ChangeLog INSTALL
# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure
.man.$(APP_MAN_SUFFIX):
$(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
@LINT_TRUE@lint:
@LINT_TRUE@ $(LINT) $(ALL_LINT_FLAGS) $(xprop_SOURCES)
# Tell versions [3.59,3.63) of GNU make to not export all variables.

287
app/xprop/aclocal.m4 vendored
View File

@@ -498,18 +498,6 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
[AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
])
# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
# Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# serial 8
# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS.
AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
# Do all the work for Automake. -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
@@ -1034,7 +1022,7 @@ dnl DEALINGS IN THE SOFTWARE.
# See the "minimum version" comment for each macro you use to see what
# version you require.
m4_defun([XORG_MACROS_VERSION],[
m4_define([vers_have], [1.11.0])
m4_define([vers_have], [1.13.0])
m4_define([maj_have], m4_substr(vers_have, 0, m4_index(vers_have, [.])))
m4_define([maj_needed], m4_substr([$1], 0, m4_index([$1], [.])))
m4_if(m4_cmp(maj_have, maj_needed), 0,,
@@ -1429,6 +1417,69 @@ AM_CONDITIONAL([HAVE_XMLTO_TEXT], [test $have_xmlto_text = yes])
AM_CONDITIONAL([HAVE_XMLTO], [test "$have_xmlto" = yes])
]) # XORG_WITH_XMLTO
# XORG_WITH_XSLTPROC([MIN-VERSION], [DEFAULT])
# --------------------------------------------
# Minimum version: 1.12.0
# Minimum version for optional DEFAULT argument: 1.12.0
#
# XSLT (Extensible Stylesheet Language Transformations) is a declarative,
# XML-based language used for the transformation of XML documents.
# The xsltproc command line tool is for applying XSLT stylesheets to XML documents.
# It is used under the cover by xmlto to generate html files from DocBook/XML.
# The XSLT processor is often used as a standalone tool for transformations.
# It should not be assumed that this tool is used only to work with documnetation.
# When DEFAULT is not specified, --with-xsltproc assumes 'auto'.
#
# Interface to module:
# HAVE_XSLTPROC: used in makefiles to conditionally generate documentation
# XSLTPROC: returns the path of the xsltproc program found
# returns the path set by the user in the environment
# --with-xsltproc: 'yes' user instructs the module to use xsltproc
# 'no' user instructs the module not to use xsltproc
# have_xsltproc: returns yes if xsltproc found in PATH or no
#
# If the user sets the value of XSLTPROC, AC_PATH_PROG skips testing the path.
#
AC_DEFUN([XORG_WITH_XSLTPROC],[
AC_ARG_VAR([XSLTPROC], [Path to xsltproc command])
m4_define([_defopt], m4_default([$2], [auto]))
AC_ARG_WITH(xsltproc,
AS_HELP_STRING([--with-xsltproc],
[Use xsltproc for the transformation of XML documents (default: ]_defopt[)]),
[use_xsltproc=$withval], [use_xsltproc=]_defopt)
m4_undefine([_defopt])
if test "x$use_xsltproc" = x"auto"; then
AC_PATH_PROG([XSLTPROC], [xsltproc])
if test "x$XSLTPROC" = "x"; then
AC_MSG_WARN([xsltproc not found - cannot transform XML documents])
have_xsltproc=no
else
have_xsltproc=yes
fi
elif test "x$use_xsltproc" = x"yes" ; then
AC_PATH_PROG([XSLTPROC], [xsltproc])
if test "x$XSLTPROC" = "x"; then
AC_MSG_ERROR([--with-xsltproc=yes specified but xsltproc not found in PATH])
fi
have_xsltproc=yes
elif test "x$use_xsltproc" = x"no" ; then
if test "x$XSLTPROC" != "x"; then
AC_MSG_WARN([ignoring XSLTPROC environment variable since --with-xsltproc=no was specified])
fi
have_xsltproc=no
else
AC_MSG_ERROR([--with-xsltproc expects 'yes' or 'no'])
fi
# Checking for minimum version is not implemented
# but we want to keep the interface consistent with other commands
m4_ifval([$1],[AC_MSG_WARN(Checking for MIN-VERSION is not implemented.)])
AM_CONDITIONAL([HAVE_XSLTPROC], [test "$have_xsltproc" = yes])
]) # XORG_WITH_XSLTPROC
# XORG_WITH_ASCIIDOC([MIN-VERSION], [DEFAULT])
# ----------------
# Minimum version: 1.5.0
@@ -1808,12 +1859,12 @@ AM_CONDITIONAL([HAVE_PS2PDF], [test "$have_ps2pdf" = yes])
# parm1: specify the default value, yes or no.
#
AC_DEFUN([XORG_ENABLE_DOCS],[
m4_define([default], m4_default([$1], [yes]))
m4_define([docs_default], m4_default([$1], [yes]))
AC_ARG_ENABLE(docs,
AS_HELP_STRING([--enable-docs],
[Enable building the documentation (default: ]default[)]),
[build_docs=$enableval], [build_docs=]default)
m4_undefine([default])
[Enable building the documentation (default: ]docs_default[)]),
[build_docs=$enableval], [build_docs=]docs_default)
m4_undefine([docs_default])
AM_CONDITIONAL(ENABLE_DOCS, [test x$build_docs = xyes])
AC_MSG_CHECKING([whether to build documentation])
AC_MSG_RESULT([$build_docs])
@@ -1885,6 +1936,194 @@ AC_MSG_CHECKING([whether to build functional specifications])
AC_MSG_RESULT([$build_specs])
]) # XORG_ENABLE_SPECS
# XORG_ENABLE_UNIT_TESTS (enable_unit_tests=auto)
# ----------------------------------------------
# Minimum version: 1.13.0
#
# This macro enables a builder to enable/disable unit testing
# It makes no assumption about the test cases implementation
# Test cases may or may not use Automake "Support for test suites"
# They may or may not use the software utility library GLib
#
# When used in conjunction with XORG_WITH_GLIB, use both AM_CONDITIONAL
# ENABLE_UNIT_TESTS and HAVE_GLIB. Not all unit tests may use glib.
# The variable enable_unit_tests is used by other macros in this file.
#
# Interface to module:
# ENABLE_UNIT_TESTS: used in makefiles to conditionally build tests
# enable_unit_tests: used in configure.ac for additional configuration
# --enable-unit-tests: 'yes' user instructs the module to build tests
# 'no' user instructs the module not to build tests
# parm1: specify the default value, yes or no.
#
AC_DEFUN([XORG_ENABLE_UNIT_TESTS],[
AC_BEFORE([$0], [XORG_WITH_GLIB])
AC_BEFORE([$0], [XORG_LD_WRAP])
m4_define([_defopt], m4_default([$1], [auto]))
AC_ARG_ENABLE(unit-tests, AS_HELP_STRING([--enable-unit-tests],
[Enable building unit test cases (default: ]_defopt[)]),
[enable_unit_tests=$enableval], [enable_unit_tests=]_defopt)
m4_undefine([_defopt])
AM_CONDITIONAL(ENABLE_UNIT_TESTS, [test "x$enable_unit_tests" != xno])
AC_MSG_CHECKING([whether to build unit test cases])
AC_MSG_RESULT([$enable_unit_tests])
]) # XORG_ENABLE_UNIT_TESTS
# XORG_WITH_GLIB([MIN-VERSION], [DEFAULT])
# ----------------------------------------
# Minimum version: 1.13.0
#
# GLib is a library which provides advanced data structures and functions.
# This macro enables a module to test for the presence of Glib.
#
# When used with ENABLE_UNIT_TESTS, it is assumed GLib is used for unit testing.
# Otherwise the value of $enable_unit_tests is blank.
#
# Interface to module:
# HAVE_GLIB: used in makefiles to conditionally build targets
# with_glib: used in configure.ac to know if GLib has been found
# --with-glib: 'yes' user instructs the module to use glib
# 'no' user instructs the module not to use glib
#
AC_DEFUN([XORG_WITH_GLIB],[
AC_REQUIRE([PKG_PROG_PKG_CONFIG])
m4_define([_defopt], m4_default([$2], [auto]))
AC_ARG_WITH(glib, AS_HELP_STRING([--with-glib],
[Use GLib library for unit testing (default: ]_defopt[)]),
[with_glib=$withval], [with_glib=]_defopt)
m4_undefine([_defopt])
have_glib=no
# Do not probe GLib if user explicitly disabled unit testing
if test "x$enable_unit_tests" != x"no"; then
# Do not probe GLib if user explicitly disabled it
if test "x$with_glib" != x"no"; then
m4_ifval(
[$1],
[PKG_CHECK_MODULES([GLIB], [glib-2.0 >= $1], [have_glib=yes], [have_glib=no])],
[PKG_CHECK_MODULES([GLIB], [glib-2.0], [have_glib=yes], [have_glib=no])]
)
fi
fi
# Not having GLib when unit testing has been explicitly requested is an error
if test "x$enable_unit_tests" = x"yes"; then
if test "x$have_glib" = x"no"; then
AC_MSG_ERROR([--enable-unit-tests=yes specified but glib-2.0 not found])
fi
fi
# Having unit testing disabled when GLib has been explicitly requested is an error
if test "x$enable_unit_tests" = x"no"; then
if test "x$with_glib" = x"yes"; then
AC_MSG_ERROR([--enable-unit-tests=yes specified but glib-2.0 not found])
fi
fi
# Not having GLib when it has been explicitly requested is an error
if test "x$with_glib" = x"yes"; then
if test "x$have_glib" = x"no"; then
AC_MSG_ERROR([--with-glib=yes specified but glib-2.0 not found])
fi
fi
AM_CONDITIONAL([HAVE_GLIB], [test "$have_glib" = yes])
]) # XORG_WITH_GLIB
# XORG_LD_WRAP
# ------------
# Minimum version: 1.13.0
#
# Check if linker supports -wrap, passed via compiler flags
#
# When used with ENABLE_UNIT_TESTS, it is assumed -wrap is used for unit testing.
# Otherwise the value of $enable_unit_tests is blank.
#
AC_DEFUN([XORG_LD_WRAP],[
XORG_CHECK_LINKER_FLAGS([-Wl,-wrap,exit],[have_ld_wrap=yes],[have_ld_wrap=no])
# Not having ld wrap when unit testing has been explicitly requested is an error
if test "x$enable_unit_tests" = x"yes"; then
if test "x$have_ld_wrap" = x"no"; then
AC_MSG_ERROR([--enable-unit-tests=yes specified but ld -wrap support is not available])
fi
fi
AM_CONDITIONAL([HAVE_LD_WRAP], [test "$have_ld_wrap" = yes])
#
]) # XORG_LD_WRAP
# XORG_CHECK_LINKER_FLAGS
# -----------------------
# SYNOPSIS
#
# XORG_CHECK_LINKER_FLAGS(FLAGS, [ACTION-SUCCESS], [ACTION-FAILURE])
#
# DESCRIPTION
#
# Check whether the given linker FLAGS work with the current language's
# linker, or whether they give an error.
#
# ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on
# success/failure.
#
# NOTE: Based on AX_CHECK_COMPILER_FLAGS.
#
# LICENSE
#
# Copyright (c) 2009 Mike Frysinger <vapier@gentoo.org>
# Copyright (c) 2009 Steven G. Johnson <stevenj@alum.mit.edu>
# Copyright (c) 2009 Matteo Frigo
#
# This program is free software: you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
# Free Software Foundation, either version 3 of the License, or (at your
# option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
# Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program. If not, see <http://www.gnu.org/licenses/>.
#
# As a special exception, the respective Autoconf Macro's copyright owner
# gives unlimited permission to copy, distribute and modify the configure
# scripts that are the output of Autoconf when processing the Macro. You
# need not follow the terms of the GNU General Public License when using
# or distributing such scripts, even though portions of the text of the
# Macro appear in them. The GNU General Public License (GPL) does govern
# all other use of the material that constitutes the Autoconf Macro.
#
# This special exception to the GPL applies to versions of the Autoconf
# Macro released by the Autoconf Archive. When you make and distribute a
# modified version of the Autoconf Macro, you may extend this special
# exception to the GPL to apply to your modified version as well.#
AC_DEFUN([XORG_CHECK_LINKER_FLAGS],
[AC_MSG_CHECKING([whether the linker accepts $1])
dnl Some hackery here since AC_CACHE_VAL can't handle a non-literal varname:
AS_LITERAL_IF([$1],
[AC_CACHE_VAL(AS_TR_SH(xorg_cv_linker_flags_[$1]), [
ax_save_FLAGS=$LDFLAGS
LDFLAGS="$1"
AC_LINK_IFELSE([AC_LANG_PROGRAM()],
AS_TR_SH(xorg_cv_linker_flags_[$1])=yes,
AS_TR_SH(xorg_cv_linker_flags_[$1])=no)
LDFLAGS=$ax_save_FLAGS])],
[ax_save_FLAGS=$LDFLAGS
LDFLAGS="$1"
AC_LINK_IFELSE([AC_LANG_PROGRAM()],
eval AS_TR_SH(xorg_cv_linker_flags_[$1])=yes,
eval AS_TR_SH(xorg_cv_linker_flags_[$1])=no)
LDFLAGS=$ax_save_FLAGS])
eval xorg_check_linker_flags=$AS_TR_SH(xorg_cv_linker_flags_[$1])
AC_MSG_RESULT($xorg_check_linker_flags)
if test "x$xorg_check_linker_flags" = xyes; then
m4_default([$2], :)
else
m4_default([$3], :)
fi
]) # XORG_CHECK_LINKER_FLAGS
# XORG_CHECK_MALLOC_ZERO
# ----------------------
# Minimum version: 1.0.0
@@ -1901,18 +2140,16 @@ AC_ARG_ENABLE(malloc0returnsnull,
AC_MSG_CHECKING([whether malloc(0) returns NULL])
if test "x$MALLOC_ZERO_RETURNS_NULL" = xauto; then
AC_RUN_IFELSE([
char *malloc();
char *realloc();
char *calloc();
main() {
AC_RUN_IFELSE([AC_LANG_PROGRAM([
#include <stdlib.h>
],[
char *m0, *r0, *c0, *p;
m0 = malloc(0);
p = malloc(10);
r0 = realloc(p,0);
c0 = calloc(0);
exit(m0 == 0 || r0 == 0 || c0 == 0 ? 0 : 1);
}],
c0 = calloc(0,10);
exit((m0 == 0 || r0 == 0 || c0 == 0) ? 0 : 1);
])],
[MALLOC_ZERO_RETURNS_NULL=yes],
[MALLOC_ZERO_RETURNS_NULL=no],
[MALLOC_ZERO_RETURNS_NULL=yes])

43
app/xprop/configure vendored
View File

@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.62 for xprop 1.2.0.
# Generated by GNU Autoconf 2.62 for xprop 1.2.1.
#
# Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>.
#
@@ -596,8 +596,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME='xprop'
PACKAGE_TARNAME='xprop'
PACKAGE_VERSION='1.2.0'
PACKAGE_STRING='xprop 1.2.0'
PACKAGE_VERSION='1.2.1'
PACKAGE_STRING='xprop 1.2.1'
PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg'
# Factoring default headers for most tests.
@@ -1326,7 +1326,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures xprop 1.2.0 to adapt to many kinds of systems.
\`configure' configures xprop 1.2.1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1396,7 +1396,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of xprop 1.2.0:";;
short | recursive ) echo "Configuration of xprop 1.2.1:";;
esac
cat <<\_ACEOF
@@ -1500,7 +1500,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
xprop configure 1.2.0
xprop configure 1.2.1
generated by GNU Autoconf 2.62
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1514,7 +1514,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by xprop $as_me 1.2.0, which was
It was created by xprop $as_me 1.2.1, which was
generated by GNU Autoconf 2.62. Invocation command line was
$ $0 $@
@@ -2163,7 +2163,7 @@ fi
# Define the identity of the package.
PACKAGE='xprop'
VERSION='1.2.0'
VERSION='1.2.1'
cat >>confdefs.h <<_ACEOF
@@ -5070,12 +5070,12 @@ if test -n "$PKG_CONFIG"; then
pkg_cv_XPROP_CFLAGS="$XPROP_CFLAGS"
else
if test -n "$PKG_CONFIG" && \
{ ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"x11\"") >&5
($PKG_CONFIG --exists --print-errors "x11") 2>&5
{ ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"x11 xproto >= 7.0.17\"") >&5
($PKG_CONFIG --exists --print-errors "x11 xproto >= 7.0.17") 2>&5
ac_status=$?
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
pkg_cv_XPROP_CFLAGS=`$PKG_CONFIG --cflags "x11" 2>/dev/null`
pkg_cv_XPROP_CFLAGS=`$PKG_CONFIG --cflags "x11 xproto >= 7.0.17" 2>/dev/null`
else
pkg_failed=yes
fi
@@ -5088,12 +5088,12 @@ if test -n "$PKG_CONFIG"; then
pkg_cv_XPROP_LIBS="$XPROP_LIBS"
else
if test -n "$PKG_CONFIG" && \
{ ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"x11\"") >&5
($PKG_CONFIG --exists --print-errors "x11") 2>&5
{ ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"x11 xproto >= 7.0.17\"") >&5
($PKG_CONFIG --exists --print-errors "x11 xproto >= 7.0.17") 2>&5
ac_status=$?
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
pkg_cv_XPROP_LIBS=`$PKG_CONFIG --libs "x11" 2>/dev/null`
pkg_cv_XPROP_LIBS=`$PKG_CONFIG --libs "x11 xproto >= 7.0.17" 2>/dev/null`
else
pkg_failed=yes
fi
@@ -5112,14 +5112,14 @@ else
_pkg_short_errors_supported=no
fi
if test $_pkg_short_errors_supported = yes; then
XPROP_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "x11"`
XPROP_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "x11 xproto >= 7.0.17"`
else
XPROP_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "x11"`
XPROP_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "x11 xproto >= 7.0.17"`
fi
# Put the nasty error message in config.log where it belongs
echo "$XPROP_PKG_ERRORS" >&5
{ { $as_echo "$as_me:$LINENO: error: Package requirements (x11) were not met:
{ { $as_echo "$as_me:$LINENO: error: Package requirements (x11 xproto >= 7.0.17) were not met:
$XPROP_PKG_ERRORS
@@ -5130,7 +5130,7 @@ Alternatively, you may set the environment variables XPROP_CFLAGS
and XPROP_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
" >&5
$as_echo "$as_me: error: Package requirements (x11) were not met:
$as_echo "$as_me: error: Package requirements (x11 xproto >= 7.0.17) were not met:
$XPROP_PKG_ERRORS
@@ -5280,7 +5280,7 @@ fi
ac_config_files="$ac_config_files Makefile"
ac_config_files="$ac_config_files Makefile man/Makefile"
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
@@ -5729,7 +5729,7 @@ exec 6>&1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by xprop $as_me 1.2.0, which was
This file was extended by xprop $as_me 1.2.1, which was
generated by GNU Autoconf 2.62. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -5782,7 +5782,7 @@ Report bugs to <bug-autoconf@gnu.org>."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_version="\\
xprop config.status 1.2.0
xprop config.status 1.2.1
configured by $0, generated by GNU Autoconf 2.62,
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
@@ -5907,6 +5907,7 @@ do
"config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
"depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
"man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;;
*) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;}

View File

@@ -21,12 +21,12 @@ dnl
dnl Process this file with autoconf to create configure.
AC_PREREQ([2.60])
AC_INIT([xprop], [1.2.0],
AC_INIT([xprop], [1.2.1],
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [xprop])
AM_INIT_AUTOMAKE([foreign dist-bzip2])
AM_MAINTAINER_MODE
AM_CONFIG_HEADER(config.h)
AC_CONFIG_HEADERS([config.h])
# Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS
m4_ifndef([XORG_MACROS_VERSION],
@@ -37,8 +37,11 @@ XORG_DEFAULT_OPTIONS
AC_CHECK_HEADERS([wchar.h wctype.h langinfo.h])
# Checks for pkg-config packages
PKG_CHECK_MODULES(XPROP, x11)
PKG_CHECK_MODULES(XPROP, [x11 xproto >= 7.0.17])
XORG_WITH_LINT
AC_OUTPUT([Makefile])
AC_CONFIG_FILES([
Makefile
man/Makefile])
AC_OUTPUT

View File

@@ -58,30 +58,6 @@ char *program_name = "unknown_program";
Display *dpy = NULL;
int screen = 0;
/*
* Malloc: like malloc but handles out of memory using Fatal_Error.
*/
char *Malloc(unsigned size)
{
char *data;
if (!(data = malloc(size)))
Fatal_Error("Out of memory!");
return(data);
}
/*
* Realloc: like realloc but handles out of memory using Fatal_Error:
*/
char *Realloc(char *mem, unsigned size)
{
if (!(mem = realloc (mem, size)))
Fatal_Error("Out of memory!");
return mem;
}
/*
* Get_Display_Name (argc, argv) Look for -display, -d, or host:dpy (obselete)
* If found, remove it from command line. Don't go past a lone -.

View File

@@ -37,6 +37,8 @@ from The Open Group.
* Send bugs, etc. to chariot@athena.mit.edu.
*/
#include <X11/Xfuncproto.h>
/* Simple helper macros */
#ifndef MAX
#define MAX(a,b) (((a)>(b))?(a):(b))
@@ -56,8 +58,6 @@ extern int screen; /* The current screen */
/* Declarations for functions in just_display.c */
char *Malloc(unsigned);
char *Realloc(char *,unsigned);
char *Get_Display_Name(int *, char **);
Display *Open_Display(const char *);
void Setup_Display_And_Screen(int *, char **);
@@ -79,8 +79,5 @@ void usage(void);
Window Select_Window(Display *, int descend);
Window Window_With_Name(Display *, Window, const char *);
#ifdef __GNUC__
void Fatal_Error(char *, ...) __attribute__((__noreturn__));
#else
void Fatal_Error(char *, ...);
#endif
void Fatal_Error(char *, ...) _X_NORETURN;

12
app/xprop/man/Makefile.am Normal file
View File

@@ -0,0 +1,12 @@
appmandir = $(APP_MAN_DIR)
appman_PRE = xprop.man
appman_DATA = $(appman_PRE:man=$(APP_MAN_SUFFIX))
EXTRA_DIST = $(appman_PRE)
CLEANFILES = $(appman_DATA)
SUFFIXES = .$(APP_MAN_SUFFIX) .man
# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure
.man.$(APP_MAN_SUFFIX):
$(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@

360
app/xprop/man/Makefile.in Normal file
View File

@@ -0,0 +1,360 @@
# Makefile.in generated by automake 1.9.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = ${SHELL} $(install_sh) -c -m 644
install_sh_PROGRAM = ${SHELL} $(install_sh) -c
install_sh_SCRIPT = ${SHELL} $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = man
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
am__installdirs = "$(DESTDIR)$(appmandir)"
appmanDATA_INSTALL = $(INSTALL_DATA)
DATA = $(appman_DATA)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ADMIN_MAN_DIR = @ADMIN_MAN_DIR@
ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APP_MAN_DIR = @APP_MAN_DIR@
APP_MAN_SUFFIX = @APP_MAN_SUFFIX@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CHANGELOG_CMD = @CHANGELOG_CMD@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CWARNFLAGS = @CWARNFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DRIVER_MAN_DIR = @DRIVER_MAN_DIR@
DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FILE_MAN_DIR = @FILE_MAN_DIR@
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
GREP = @GREP@
INSTALL_CMD = @INSTALL_CMD@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIB_MAN_DIR = @LIB_MAN_DIR@
LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@
LINT = @LINT@
LINT_FALSE = @LINT_FALSE@
LINT_FLAGS = @LINT_FLAGS@
LINT_TRUE = @LINT_TRUE@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
MAN_SUBSTS = @MAN_SUBSTS@
MISC_MAN_DIR = @MISC_MAN_DIR@
MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
XORG_MAN_PAGE = @XORG_MAN_PAGE@
XPROP_CFLAGS = @XPROP_CFLAGS@
XPROP_LIBS = @XPROP_LIBS@
ac_ct_CC = @ac_ct_CC@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
appmandir = $(APP_MAN_DIR)
appman_PRE = xprop.man
appman_DATA = $(appman_PRE:man=$(APP_MAN_SUFFIX))
EXTRA_DIST = $(appman_PRE)
CLEANFILES = $(appman_DATA)
SUFFIXES = .$(APP_MAN_SUFFIX) .man
all: all-am
.SUFFIXES:
.SUFFIXES: .$(APP_MAN_SUFFIX) .man
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --foreign man/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
uninstall-info-am:
install-appmanDATA: $(appman_DATA)
@$(NORMAL_INSTALL)
test -z "$(appmandir)" || $(mkdir_p) "$(DESTDIR)$(appmandir)"
@list='$(appman_DATA)'; for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
f=$(am__strip_dir) \
echo " $(appmanDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(appmandir)/$$f'"; \
$(appmanDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(appmandir)/$$f"; \
done
uninstall-appmanDATA:
@$(NORMAL_UNINSTALL)
@list='$(appman_DATA)'; for p in $$list; do \
f=$(am__strip_dir) \
echo " rm -f '$(DESTDIR)$(appmandir)/$$f'"; \
rm -f "$(DESTDIR)$(appmandir)/$$f"; \
done
tags: TAGS
TAGS:
ctags: CTAGS
CTAGS:
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
esac; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkdir_p) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(DATA)
installdirs:
for dir in "$(DESTDIR)$(appmandir)"; do \
test -z "$$dir" || $(mkdir_p) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
html: html-am
info: info-am
info-am:
install-data-am: install-appmanDATA
install-exec-am:
install-info: install-info-am
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-appmanDATA uninstall-info-am
.PHONY: all all-am check check-am clean clean-generic distclean \
distclean-generic distdir dvi dvi-am html html-am info info-am \
install install-am install-appmanDATA install-data \
install-data-am install-exec install-exec-am install-info \
install-info-am install-man install-strip installcheck \
installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
pdf-am ps ps-am uninstall uninstall-am uninstall-appmanDATA \
uninstall-info-am
# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure
.man.$(APP_MAN_SUFFIX):
$(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@@ -1,15 +1,15 @@
.\" Copyright 1988, 1998 The Open Group
.\" Copyright \(co 2000 The XFree86 Project, Inc.
.\"
.\"
.\" 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.
.\"
.\"
.\" The above copyright notice and this permission notice shall be included
.\" in all copies or substantial portions of the Software.
.\"
.\"
.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
@@ -17,7 +17,7 @@
.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
.\" OTHER DEALINGS IN THE SOFTWARE.
.\"
.\"
.\" Except as contained in this notice, the name of The Open Group shall
.\" not be used in advertising or otherwise to promote the sale, use or
.\" other dealings in this Software without prior written authorization
@@ -151,7 +151,7 @@ of a font as opposed to a window, the -font argument must be used.
Other than the above four arguments and the -help argument for obtaining help,
and the -grammar argument for listing the full grammar for the command line,
all the other command line arguments are used in specifying both the format
of the properties to be displayed and how to display them. The -len \fIn\fP
of the properties to be displayed and how to display them. The -len \fIn\fP
argument specifies that at most \fIn\fP bytes of any given property will be
read and displayed. This is useful for example when displaying the cut buffer
on the root window which could run to several pages if displayed in full.
@@ -279,7 +279,7 @@ This is useful for a property that is a list of values.
A ? is used to start a conditional expression, a kind of if-then statement.
?\fIexp\fP(\fItext\fP) will display \fItext\fP if and only if \fIexp\fP evaluates to
non-zero. This is useful for two things. First, it allows fields to be
displayed if and only if a flag is set.
displayed if and only if a flag is set.
And second, it allows a value such as a state
number to be displayed as a name rather than as just a number. The syntax of
\fIexp\fP is as follows:
@@ -340,6 +340,8 @@ To display the start of the cut buffer: \fIxprop\fP -root -len 100 CUT_BUFFER0
To display the point size of the fixed font: \fIxprop\fP -font fixed POINT_SIZE
.PP
To display all the properties of window # 0x200007: \fIxprop\fP -id 0x200007
.PP
To set a simple string property: \fIxprop\fP -root -format MY_ATOM_NAME 8s -set MY_ATOM_NAME "my_value"
.SH ENVIRONMENT
.PP
.TP 8

View File

@@ -86,7 +86,9 @@ Create_Thunk_List (void)
{
thunk *tptr;
tptr = (thunk *) Malloc(sizeof(thunk));
tptr = malloc(sizeof(thunk));
if (!tptr)
Fatal_Error("Out of memory!");
tptr->thunk_count = 0;
@@ -108,7 +110,7 @@ Add_Thunk (thunk *list, thunk t)
i = list->thunk_count;
list = (thunk *) realloc(list, (i+1)*sizeof(thunk));
list = realloc(list, (i+1)*sizeof(thunk));
if (!list)
Fatal_Error("Out of memory!");
@@ -122,20 +124,6 @@ Add_Thunk (thunk *list, thunk t)
* Misc. routines
*/
static char *
Copy_String (const char *string)
{
char *new;
int length;
length = strlen(string) + 1;
new = (char *) Malloc(length);
memcpy(new, string, length);
return new;
}
static int
Read_Char (FILE *stream)
{
@@ -186,7 +174,10 @@ Read_Quoted (FILE *stream)
}
ptr++[0] = '\0';
return Copy_String(_large_buffer);
ptr = strdup(_large_buffer);
if (!ptr)
Fatal_Error("Out of memory!");
return ptr;
}
/*
@@ -296,7 +287,7 @@ Lookup_Formats (Atom atom, const char **format, const char **dformat)
static void
Add_Mapping (Atom atom, const char *format, const char *dformat)
{
thunk t;
thunk t = {0};
if (!_property_formats)
_property_formats = Create_Thunk_List();
@@ -555,7 +546,9 @@ Read_Mappings (FILE *stream)
Fatal_Error("Bad format file format.");
atom = Parse_Atom(name, False);
format = Copy_String(format_buffer);
format = strdup(format_buffer);
if (!format)
Fatal_Error("Out of memory!");
Read_White_Space(stream);
dformat = D_DFORMAT;
@@ -736,7 +729,9 @@ Format_Len_String (const char *string, int len)
char *data;
const char *result;
data = (char *) Malloc(len+1);
data = malloc(len+1);
if (!data)
Fatal_Error("Out of memory!");
memcpy(data, string, len);
data[len] = '\0';
@@ -782,7 +777,9 @@ Format_Icons (const unsigned long *icon, int len)
alloced += 80; /* For the header */
alloced += (width*4 + 8) * height; /* For the rows (plus padding) */
result = Realloc (result, alloced);
result = realloc (result, alloced);
if (!result)
Fatal_Error("Out of memory!");
tail = &result[offset];
if (end - icon < width * height)
@@ -938,7 +935,7 @@ Format_Len_Text (const char *string, int len, Atom encoding)
static int
is_valid_utf8 (const char *string, int len)
{
unsigned long codepoint;
unsigned long codepoint = 0;
int rem, i;
unsigned char c;
@@ -1002,11 +999,15 @@ Format_Len_Unicode (const char *string, int len)
error = "<Invalid UTF-8 string: Tail too short> "; break;
case UTF8_LONG_TAIL:
error = "<Invalid UTF-8 string: Tail too long> "; break;
default:
error = "<Invalid UTF-8 string: Unknown error>"; break;
}
result = Format_Len_String(string, len);
len2 = strlen(result);
data = (char *) Malloc(len2+1);
data = malloc(len2+1);
if (!data)
Fatal_Error("Out of memory!");
memcpy(data, result, len2+1);
memcpy(_formatting_buffer, error, strlen(error)+1);
@@ -1019,7 +1020,9 @@ Format_Len_Unicode (const char *string, int len)
if (!is_utf8_locale())
return Format_Len_String(string, len);
data = (char *) Malloc(len+1);
data = malloc(len+1);
if (!data)
Fatal_Error("Out of memory!");
memcpy(data, string, len);
data[len] = '\0';
@@ -1371,7 +1374,7 @@ static thunk *
Break_Down_Property (const char *pointer, int length, Atom type, const char *format, int size)
{
thunk *thunks;
thunk t;
thunk t = {0};
int i;
char format_char;
@@ -1545,7 +1548,7 @@ static thunk *
Handle_Prop_Requests (int argc, char **argv)
{
char *format, *dformat, *prop;
thunk *thunks, t;
thunk *thunks, t = {0};
/* if no prop referenced, by default list all properties for given window */
if (!argc) {
@@ -1944,7 +1947,7 @@ main (int argc, char **argv)
continue;
}
if (!strcmp(argv[0], "-remove")) {
thunk t;
thunk t = {0};
if (++argv, --argc == 0) usage();
t.propname = argv[0];
if (remove_props == NULL) remove_props = Create_Thunk_List();
@@ -1952,7 +1955,7 @@ main (int argc, char **argv)
continue;
}
if (!strcmp(argv[0], "-set")) {
thunk t;
thunk t = {0};
if (argc < 3) usage();
t.propname = argv[1];
t.extra_value = argv[2];