aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/xwininfo/dsimple.c16
-rw-r--r--xorg-server/xkeyboard-config/configure.in14
-rw-r--r--xorg-server/xkeyboard-config/rules/Makefile.am8
-rw-r--r--xorg-server/xkeyboard-config/xslt/man.xsl106
4 files changed, 10 insertions, 134 deletions
diff --git a/apps/xwininfo/dsimple.c b/apps/xwininfo/dsimple.c
index a9b867896..150f9db84 100644
--- a/apps/xwininfo/dsimple.c
+++ b/apps/xwininfo/dsimple.c
@@ -253,7 +253,8 @@ recursive_Window_With_Name (
xcb_connection_t *dpy,
xcb_window_t window,
struct wininfo_cookies *cookies,
- const char *name)
+ const char *name,
+ size_t namelen)
{
xcb_window_t *children;
unsigned int nchildren;
@@ -273,7 +274,8 @@ recursive_Window_With_Name (
int prop_name_len = xcb_get_property_value_length (prop);
/* can't use strcmp, since prop.name is not null terminated */
- if (strncmp (prop_name, name, prop_name_len) == 0) {
+ if ((namelen == prop_name_len) &&
+ memcmp (prop_name, name, namelen) == 0) {
w = window;
}
}
@@ -294,7 +296,8 @@ recursive_Window_With_Name (
if (xcb_get_wm_name_reply (dpy, cookies->get_wm_name,
&nameprop, &err)) {
/* can't use strcmp, since nameprop.name is not null terminated */
- if (strncmp (nameprop.name, name, nameprop.name_len) == 0) {
+ if ((namelen == nameprop.name_len) &&
+ memcmp (nameprop.name, name, namelen) == 0) {
w = window;
}
@@ -309,7 +312,8 @@ recursive_Window_With_Name (
int prop_name_len = xcb_get_property_value_length (prop);
/* can't use strcmp, since prop.name is not null terminated */
- if (strncmp (prop_name, name, prop_name_len) == 0) {
+ if ((namelen == prop_name_len) &&
+ memcmp (prop_name, name, namelen) == 0) {
w = window;
}
}
@@ -354,7 +358,7 @@ recursive_Window_With_Name (
for (i = 0; i < nchildren; i++) {
w = recursive_Window_With_Name (dpy, children[i],
- &child_cookies[i], name);
+ &child_cookies[i], name, namelen);
if (w)
break;
}
@@ -392,7 +396,7 @@ Window_With_Name (
cookies.get_wm_name = xcb_get_wm_name (dpy, top);
cookies.query_tree = xcb_query_tree (dpy, top);
xcb_flush (dpy);
- return recursive_Window_With_Name(dpy, top, &cookies, name);
+ return recursive_Window_With_Name(dpy, top, &cookies, name, strlen(name));
}
diff --git a/xorg-server/xkeyboard-config/configure.in b/xorg-server/xkeyboard-config/configure.in
index a037abbe4..527e807bd 100644
--- a/xorg-server/xkeyboard-config/configure.in
+++ b/xorg-server/xkeyboard-config/configure.in
@@ -3,13 +3,6 @@ AC_CONFIG_SRCDIR(rules/base.xml.in)
AM_INIT_AUTOMAKE([foreign dist-bzip2])
AM_MAINTAINER_MODE
-# Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS
-m4_ifndef([XORG_MACROS_VERSION],
- [m4_fatal([must install xorg-macros 1.8 or later before
- running autoconf/autogen])])
-XORG_MACROS_VERSION(1.8)
-XORG_MANPAGE_SECTIONS
-
AC_SUBST(VERSION)
AC_PATH_PROG([XKBCOMP], [xkbcomp], [not_found])
@@ -31,13 +24,6 @@ AC_ARG_ENABLE( compat_rules,
enable_compat_rules="$enableval",
enable_compat_rules="yes" )
-AC_PATH_PROG(SED, [sed])
-AC_PATH_PROG(XSLTPROC, [xsltproc])
-AM_CONDITIONAL([HAVE_XSLTPROC], [test "x$XSLTPROC" != "x"])
-if test "x$XSLTPROC" = "x"; then
- AC_MSG_WARN([xsltproc not found, needed to generate man page.])
-fi
-
# xkeyboard-config does not have build-time dependencies. However, it does
# have run-time dependencies and keyboard layouts may not work without the
# right libX11 or xproto installed.
diff --git a/xorg-server/xkeyboard-config/rules/Makefile.am b/xorg-server/xkeyboard-config/rules/Makefile.am
index 39351c9c2..f2d73ce80 100644
--- a/xorg-server/xkeyboard-config/rules/Makefile.am
+++ b/xorg-server/xkeyboard-config/rules/Makefile.am
@@ -234,11 +234,3 @@ rulesdir = $(xkb_base)/rules
xmldir = $(rulesdir)
@INTLTOOL_XML_NOMERGE_RULE@
-
-xkeyboard-config.man: evdev.xml
- $(XSLTPROC) $(top_srcdir)/xslt/man.xsl evdev.xml > $@
-
-xkeyboard-config.7: xkeyboard-config.man
- $(SED) $(MAN_SUBSTS) < $< > $@
-
-dist_man_MANS = xkeyboard-config.7
diff --git a/xorg-server/xkeyboard-config/xslt/man.xsl b/xorg-server/xkeyboard-config/xslt/man.xsl
deleted file mode 100644
index f0475e041..000000000
--- a/xorg-server/xkeyboard-config/xslt/man.xsl
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- >
-<xsl:output method="text" encoding="UTF-8" doctype-system="xkb.dtd"/>
-<xsl:template match="/xkbConfigRegistry"><![CDATA[.\" WARNING: this man page is autogenerated. Do not edit or you will lose all your changes.
-.TH XKEYBOARD-CONFIG __miscmansuffix__ __vendorversion__
-.SH NAME
-xkeyboard-config \- XKB data description files
-.SH DESCRIPTION
-xkeyboard-config provides the description files for the X Keyboard
-Extension (XKB). The configuration options below are usually applied with
-setxkbmap.
-.SH MODELS
-.TS
-l l
-___
-lB l.
-model description ]]>
-<xsl:apply-templates select="modelList"/>
-<![CDATA[
-.TE
-.SH LAYOUTS
-.TS
-l l l
-____
-lB lB l.
-layout variant description ]]>
-<xsl:apply-templates select="layoutList"/>
-<![CDATA[
-.TE
-.SH OPTIONS
-]]>
-<xsl:apply-templates select="optionList"/>
-<![CDATA[
-.SH SEE ALSO
-setxkbmap(__appmansuffix__)
-]]>
-</xsl:template>
-
-<!-- split model/description into a normal table -->
-<xsl:template match="modelList">
- <xsl:for-each select="model">
- <xsl:value-of select="configItem/name"/><xsl:text> </xsl:text><xsl:value-of select="configItem/description"/>
-<xsl:text>
-</xsl:text>
-</xsl:for-each>
-</xsl:template>
-
-<!-- split layout/variant/description into a table like this
-
- layout1 description
- variant1 description
- variant2 description
- layout2 description
- variant1 description
--->
-<xsl:template match="layoutList">
-<xsl:for-each select="layout">
-<xsl:value-of select="configItem/name"/><xsl:text> </xsl:text><xsl:value-of select="configItem/description"/>
-<xsl:text>
-</xsl:text>
-<xsl:for-each select="variantList/variant">
-<xsl:text> </xsl:text><xsl:value-of select="configItem/name"/><xsl:text> </xsl:text><xsl:value-of select="configItem/description"/>
-<xsl:text>
-</xsl:text>
-</xsl:for-each>
-<xsl:text>
-</xsl:text>
-</xsl:for-each>
-</xsl:template>
-
-<!-- split option into a table like this
-
-option description:
- optarg description
- optarg description
- optarg description
-
-option2 description:
- optarg description
- optarg description
--->
-<xsl:template match="optionList">
-<xsl:for-each select="group">
-<![CDATA[
-.SS]]> <xsl:value-of select="configItem/description"/>
-<![CDATA[
-.BR
-.TS
-l l
-___
-lB l.
-option description ]]>
-<xsl:for-each select="option">
-<xsl:value-of select="configItem/name"/><xsl:text> </xsl:text><xsl:value-of select="configItem/description"/>
-<xsl:text>
-</xsl:text>
-</xsl:for-each>
-<![CDATA[
-.TE
-
-]]>
-</xsl:for-each>
-</xsl:template>
-</xsl:stylesheet>