patches/alsa-lib-09-search.diff
author drdoug007
Sat, 11 Aug 2007 18:36:26 +0000
changeset 388 9f564876c65d
permissions -rw-r--r--
2007-08-30 Doug Scott <[email protected]> * SFEalsa-lib.spec: *NEW* Advanced Linux Sound Architecture Library * SFEalsa-utils.spec: *NEW* ALSA Utils * SFEalsa-plugins.spec: *NEW* ALSA plugins - Uses OSS driver * SFEtea.spec: Bump to 17.1.4 * SFElibx264.spec: Add SFEgpac as requirement * patches/alsa-utils-02-configure.diff: Add autoconf rules * patches/alsa-lib-12-compat.diff: Add extra headers for Solaris * patches/alsa-lib-10-err.diff: Wrap err.h * patches/alsa-utils-01-endian.diff: Endian patch * patches/alsa-lib-07-aflocal.diff: AF_LOCAL -> AF_UNIX * patches/alsa-plugins-03-dsp.diff: patch for maemo plugin * patches/alsa-lib-06-async.diff: Solaris does not have O_ASYNC * patches/alsa-lib-08-mapfile.diff: Solaris does not have MAP_FILE * patches/alsa-plugins-02-oss.diff: Add Solaris headers * patches/alsa-lib-11-sockio.diff: Add sys/sockio.h * patches/alsa-lib-02-byteorder.diff: Byte Order patch * patches/alsa-lib-04-inttypes.diff: add u_int8_t etc * patches/alsa-lib-09-search.diff: Hack GNU search compat function * patches/alsa-lib-05-ioctl.diff: Add Solaris headers * patches/alsa-lib-01-configure.diff: Add autoconf rules * patches/alsa-plugins-01-configure.diff: Add autoconf rules * patches/alsa-lib-03-alloca.diff: Add alloca.h * include/byteswap-compat.h: Hack to create <byteswap.h> - needs work :) * include/endian-compat.h: Hack to create <endian.h> - needs work :) * include/asound.conf: Sample asound.conf to enable alsa to use OSS
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
388
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
     1
diff -ur alsa-lib-1.0.14a.orig/include/search.h alsa-lib-1.0.14a/include/search.h
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
     2
--- alsa-lib-1.0.14a.orig/include/search.h	2007-06-11 15:53:13.000000000 +0700
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
     3
+++ alsa-lib-1.0.14a/include/search.h	2007-08-11 17:18:24.934396510 +0700
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
     4
@@ -17,6 +17,17 @@
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
     5
    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
     6
    Boston, MA 02111-1307, USA.  */
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
     7
 
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
     8
+#if defined(sun)
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
     9
+#include "/usr/include/search.h"
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    10
+#define __USE_GNU
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    11
+struct hsearch_data
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    12
+  {
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    13
+    struct _ENTRY *table;
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    14
+    unsigned int size;
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    15
+    unsigned int filled;
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    16
+  };
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    17
+#endif
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    18
+
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    19
 #ifndef _SEARCH_H
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    20
 #define	_SEARCH_H 1
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    21
 
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    22
@@ -48,17 +59,34 @@
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    23
 extern void remque __P ((void *__elem));
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    24
 #endif
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    25
 
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    26
+#ifndef __const
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    27
+#define __const         const
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    28
+#endif  /* __const */
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    29
+
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    30
+#if !defined(__PMT)
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    31
+#define __PMT(args)    args
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    32
+#endif
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    33
+
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    34
+#if !defined(__P)
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    35
+#define __P(args)    args
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    36
+#endif
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    37
+
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    38
+#if !defined(__ptr_t)
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    39
+#define __ptr_t void *
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    40
+#endif
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    41
+
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    42
 
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    43
 /* For use with hsearch(3).  */
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    44
 #ifndef __COMPAR_FN_T
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    45
 # define __COMPAR_FN_T
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    46
-typedef int (*__compar_fn_t) __PMT ((__const __ptr_t, __const __ptr_t));
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    47
+typedef int (*compar_fn_t) __PMT ((__const __ptr_t, __const __ptr_t));
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    48
 
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    49
 # ifdef	__USE_GNU
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    50
-typedef __compar_fn_t comparison_fn_t;
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    51
+typedef compar_fn_t comparison_fn_t;
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    52
 # endif
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    53
 #endif
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    54
 
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    55
+
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    56
 /* Action which shall be performed in the call the hsearch.  */
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    57
 typedef enum
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    58
   {
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    59
@@ -128,16 +156,16 @@
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    60
 /* Search for an entry matching the given KEY in the tree pointed to
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    61
    by *ROOTP and insert a new element if not found.  */
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    62
 extern void *tsearch __PMT ((__const void *__key, void **__rootp,
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    63
-			     __compar_fn_t __compar));
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    64
+			     compar_fn_t __compar));
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    65
 
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    66
 /* Search for an entry matching the given KEY in the tree pointed to
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    67
    by *ROOTP.  If no matching entry is available return NULL.  */
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    68
 extern void *tfind __PMT ((__const void *__key, void *__const *__rootp,
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    69
-			   __compar_fn_t __compar));
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    70
+			   compar_fn_t __compar));
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    71
 
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    72
 /* Remove the element matching KEY from the tree pointed to by *ROOTP.  */
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    73
 extern void *tdelete __PMT ((__const void *__key, void **__rootp,
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    74
-			     __compar_fn_t __compar));
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    75
+			     compar_fn_t __compar));
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    76
 
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    77
 #ifndef __ACTION_FN_T
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    78
 # define __ACTION_FN_T
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    79
@@ -164,13 +192,13 @@
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    80
    [BASE,BASE+NMEMB*SIZE).  */
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    81
 extern void *lfind __PMT ((__const void *__key, __const void *__base,
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    82
 			   size_t *__nmemb, size_t __size,
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    83
-			   __compar_fn_t __compar));
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    84
+			   compar_fn_t __compar));
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    85
 
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    86
 /* Perform linear search for KEY by comparing by COMPAR function in
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    87
    array [BASE,BASE+NMEMB*SIZE) and insert entry if not found.  */
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    88
 extern void *lsearch __PMT ((__const void *__key, void *__base,
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    89
 			     size_t *__nmemb, size_t __size,
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    90
-			     __compar_fn_t __compar));
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    91
+			     compar_fn_t __compar));
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    92
 
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    93
 __END_DECLS
9f564876c65d 2007-08-30 Doug Scott <[email protected]>
drdoug007
parents:
diff changeset
    94