Re: esound 0.2.32 patch



Le ven 09/01/2004 à 22:10, Albert Chin-A-Young a écrit :
> Hi, a few patches:

Please, when you send patches for review, either use bugzilla OR
gnome-multimedia mailing list (both is even better)..

Moreover, you didn't attach you patch to your mail, which make comments
to patch harder


> 
> 1. hstrerror() not available everywhere (HP-UX 10.x, 11.x are
>    examples). Use a replacement if not available.

I don't think this replacement code is under a GPL compatible license
(condition 2).. Where did you find this code ?


> 2. Why do you use _mmePrintError in audio_osf.c rather than
>    mmePrintError (no leading `_')? There is no _mmePrintError
>    in audio_osf.c nor in /usr/lib/libmme.a on Tru64 UNIX.

Don't know.. old code submitted by various hackers 4 years ago.. If you
are sure it works, I'll commit it..

> 3. AIX defines h_errno so declare it only if not defined.
Same comments as below

> --- /dev/null   2004-01-08 18:40:03.000000000 -0600
> +++ hstrerror.c 2004-01-08 18:40:36.936221000 -0600
> @@ -0,0 +1,77 @@
> +/*
> + * Copyright (c) 1987, 1993
> + *    The Regents of the University of California.  All rights
> reserved.
> + *
> + * Redistribution and use in source and binary forms, with or without
> + * modification, are permitted provided that the following conditions
> + * are met:
> + * 1. Redistributions of source code must retain the above copyright
> + *    notice, this list of conditions and the following disclaimer.
> + * 2. Redistributions in binary form must reproduce the above
> copyright
> + *    notice, this list of conditions and the following disclaimer in
> the
> + *    documentation and/or other materials provided with the
> distribution.
> + * 4. Neither the name of the University nor the names of its
> contributors
> + *    may be used to endorse or promote products derived from this
> software
> + *    without specific prior written permission.
> + *
> + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS
> IS'' AND
> + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
> THE
> + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
> PURPOSE
> + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE
> LIABLE
> + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> CONSEQUENTIAL
> + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
> GOODS
> + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
> INTERRUPTION)
> + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
> CONTRACT, STRICT
> + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
> ANY WAY
> + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
> POSSIBILITY OF
> + * SUCH DAMAGE.
> + */
> +
> +/*
> + * Portions Copyright (c) 1996-1999 by Internet Software Consortium.
> + *
> + * Permission to use, copy, modify, and distribute this software for
> any
> + * purpose with or without fee is hereby granted, provided that the
> above
> + * copyright notice and this permission notice appear in all copies.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
> DISCLAIMS
> + * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
> WARRANTIES
> + * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET
> SOFTWARE
> + * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR
> CONSEQUENTIAL
> + * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA
> OR
> + * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
> TORTIOUS
> + * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
> PERFORMANCE OF THIS
> + * SOFTWARE.
> + */
> +
> +#define __PROFTPD_SUPPORT_LIBRARY
> +
> +#include <config.h>
> +
> +#ifndef HAVE_HSTRERROR
> +
> +const char * hstrerror (int);
> +
> +static const char *h_errlist[] = {
> +  "No error",
> +  "Unknown host",                      /* 1 HOST_NOT_FOUND */
> +  "Host name lookup failure",          /* 2 TRY_AGAIN */
> +  "Unknown server error",              /* 3 NO_RECOVERY */
> +  "No address associated with name",   /* 4 NO_ADDRESS */
> +};
> +static int h_nerr = { sizeof h_errlist / sizeof h_errlist[0] };
> +
> +/*
> + * hstrerror --
> + *     return the string associated with a given "host" errno value.
> + */
> +const char *
> +hstrerror(int err) {
> +       if (err < 0)
> +               return "Resolver internal error";
> +       else if (err < h_nerr)
> +               return h_errlist[err];
> +       return "Unknown resolver error";
> +}
> +
> +#endif /* HAVE_STRERROR */
> --- configure.in.orig   2004-01-08 17:53:56.019309000 -0600
> +++ configure.in        2004-01-08 18:47:54.442509000 -0600
> @@ -45,11 +46,20 @@
>  
>  AC_FUNC_ALLOCA
>  AC_CHECK_FUNCS(setenv putenv fchown fchmod gethostbyname2)
> -AC_CHECK_FUNC(connect,,[AC_CHECK_LIB(socket,connect)])
> -AC_CHECK_FUNC(gethostbyname,,[AC_CHECK_LIB(nsl,gethostbyname)])
> -AC_CHECK_FUNC(hstrerror,,[AC_CHECK_LIB(resolv,hstrerror)])
> -AC_CHECK_FUNC(nanosleep,,[
> -  AC_CHECK_LIB(rt,nanosleep,,[AC_CHECK_LIB(posix4,nanosleep)])])
> +AC_SEARCH_LIBS(setsockopt, [socket])
> +AC_SEARCH_LIBS(gethostent, [nsl])
> +AC_SEARCH_LIBS(hstrerror, [resolv], [
> +       AC_DEFINE(HAVE_HSTRERROR, 1,
> +       [Define to 1 if you have the `hstrerror' function.])], [
> +       AC_LIBOBJ(hstrerror)
> +
> +       AH_VERBATIM([_HSTRERROR],
> +[/* Prototype for hstrerror() if unavailable. */
> +#ifndef HAVE_HSTRERROR
> +extern const char * hstrerror (int);
> +#endif])
> +])
> +AC_SEARCH_LIBS(nanosleep, [rt posix4])
>  AC_CHECK_FUNCS(usleep)
>  AC_CHECK_FUNCS(strtok_r)
>  
> --- Makefile.am.orig    2004-01-08 18:39:13.167835000 -0600
> +++ Makefile.am 2004-01-08 18:39:25.638436000 -0600
> @@ -27,7 +27,7 @@
>  lib_LTLIBRARIES = libesd.la $(libesddsp_la)
>  
>  libesd_la_LDFLAGS = -version-info $(ESD_VERSION_INFO) -no-undefined
> -libesd_la_LIBADD = $(AUDIOFILE_LIBS) $(SOUND_LIBS)
> +libesd_la_LIBADD = $(AUDIOFILE_LIBS) $(LTLIBOBJS) $(SOUND_LIBS)
>  
>  libesd_la_SOURCES = \
>         esdlib.c        \
> --- audio_osf.c.orig    Fri Jan  9 14:56:38 2004
> +++ audio_osf.c Fri Jan  9 14:57:04 2004
> @@ -76,8 +76,8 @@
>      fprintf(stderr, "esd: %s\n", lpText);
>      mmeFreeMem(lpText);
>  }
> -#define mmePrintInError(x)     _mmePrintError(1,x)
> -#define mmePrintOutError(x)    _mmePrintError(0,x)
> +#define mmePrintInError(x)     mmePrintError(1,x)
> +#define mmePrintOutError(x)    mmePrintError(0,x)
>  
>  void *
>  _mmeAllocMem(size_t size)
> --- esd.c.orig  Thu Jan  8 18:13:44 2004
> +++ esd.c       Fri Jan  9 15:07:43 2004
> @@ -22,6 +22,11 @@
>  #define gethostbyname2(host, family) gethostbyname((host))
>  #endif /* HAVE_GETHOSTBYNAME2 */
>  
> +/* AIX defines this */
> +#ifndef h_errno
> +extern int h_errno;
> +#endif
> +
>  /* max arguments (argc + tokenized esd.conf) can't be more than this
> */
>  #define MAX_OPTS 128
>  
> 
   
-- 
Frederic Crozat <fcrozat mandrakesoft com>
Mandrakesoft




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]