[PATCH] Revert "Fix "XXX declared 'static' but not defined""

Paulo César Pereira de Andrade pcpa at mandriva.com.br
Sun Feb 8 23:10:23 PST 2009


Benjamin Close wrote:

  I don't see anything wrong as it reverts to a version known to
work, but from a quick test, without rebuilding everything,
just libICE and libFS, it should be enough to move the
definition of is_numeric and trans_mkdir to the start of
Xtranssock.c (the revert in transport.c is required), as the
"weird" prototypes should have been to have those functions
static, and not have a compilation errors due to calling them
(implicit extern declaration) before definition.

  I am attaching an alternate patch. It should be fully
functional, unless some code elsewhere is doing something
really weird to have only Xtransutil.c included, but not
Xtranssock.c. But

% grep -rn Xtransutil.c xorg/lib xorg/xserver xorg/app

tells me the only thing that includes Xtransutil.c is
xorg/libxtrans/transport.c.

> This reverts commit d192bac409fe5ef99fa9fb9b5a0d5f656f0f1412.
>
> When transport.c is directly include (as in the case of
> libICE:icetrans.c:32)
> Xtranssock.c must be included before Xtransutil.c in order for the socket
> structures to be included. Including Xtransutil.c after Xtranssock.c
> requires
> is_number and trans_mkdir to be defined.
>
> This reintroduces the warning until a cleaner solution can be found
> but fixes the build.
>
> Found by: Tinderbox
>
> Signed-off-by: Benjamin Close <Benjamin.Close at clearchain.com>
> ---
>  Xtransint.h |   12 ++++++++++++
>  transport.c |    2 +-
>  2 files changed, 13 insertions(+), 1 deletions(-)
>
> diff --git a/Xtransint.h b/Xtransint.h
> index e1a95a2..623cdef 100644
> --- a/Xtransint.h
> +++ b/Xtransint.h
> @@ -345,6 +345,18 @@ static int TRANS(WriteV)(
>
>  #endif /* CRAY || WIN32 || __sxg__ */
>
> +
> +static int is_numeric (
> +    char *		/* str */
> +);
> +
> +#ifdef TRANS_SERVER
> +static int trans_mkdir (
> +    char *,		/* path */
> +    int			/* mode */
> +);
> +#endif
> +
>  /*
>   * Some XTRANSDEBUG stuff
>   */
> diff --git a/transport.c b/transport.c
> index baf5bfd..5131d99 100644
> --- a/transport.c
> +++ b/transport.c
> @@ -59,7 +59,6 @@ from The Open Group.
>  #endif
>
>  #include "Xtransint.h"
> -#include "Xtransutil.c"
>
>  #ifdef LOCALCONN
>  #include "Xtranslcl.c"
> @@ -71,3 +70,4 @@ from The Open Group.
>  #include "Xtranstli.c"
>  #endif
>  #include "Xtrans.c"
> +#include "Xtransutil.c"
> --
> 1.6.0.6
>
> _______________________________________________
> xorg mailing list
> xorg at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/xorg
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Move-definition-of-is_numeric-and-trans_mkdir-to-Xtr.patch
Type: application/octet-stream
Size: 11337 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg/attachments/20090209/854a3c71/attachment.obj>


More information about the xorg mailing list