summaryrefslogtreecommitdiff
path: root/audio/tclmidi/files/patch-rb
diff options
context:
space:
mode:
Diffstat (limited to 'audio/tclmidi/files/patch-rb')
-rw-r--r--audio/tclmidi/files/patch-rb456
1 files changed, 456 insertions, 0 deletions
diff --git a/audio/tclmidi/files/patch-rb b/audio/tclmidi/files/patch-rb
new file mode 100644
index 000000000000..1d9107628373
--- /dev/null
+++ b/audio/tclmidi/files/patch-rb
@@ -0,0 +1,456 @@
+--- rb/rb.h 1994-12-05 16:57:58.000000000 -0500
++++ rb/rb.h 2012-04-07 13:21:08.000000000 -0400
+@@ -34,38 +34,38 @@
+ } v;
+ } *Rb_node;
+
+-#ifndef __P
+-#if defined(__STDC__) || defined(__cplusplus)
+-#define __P(protos) protos
+-#else
+-#define __P(protos) ()
+-#endif
+-#endif
+-
++#ifndef EXTERN
+ #ifdef __cplusplus
+ #define EXTERN extern "C"
+ #else
+ #define EXTERN extern
+ #endif
++#endif
+
+-EXTERN Rb_node make_rb __P(());
+-EXTERN Rb_node rb_insert_b __P((Rb_node node, char *key, char *value));
+-
+-EXTERN Rb_node rb_find_key __P((Rb_node tree, char *key));
+-EXTERN Rb_node rb_find_ikey __P((Rb_node tree, int ikey));
+-EXTERN Rb_node rb_find_ukey __P((Rb_node tree, unsigned long ukey));
+-EXTERN Rb_node rb_find_gkey __P((Rb_node tree, char *key, int (*fxn)()));
+-
+-EXTERN Rb_node rb_find_key_n __P((Rb_node tree, char *key, int *found));
+-EXTERN Rb_node rb_find_ikey_n __P((Rb_node tree, int ikey, int *found));
+-EXTERN Rb_node rb_find_ukey_n __P((Rb_node tree, unsigned long ukey,
+- int *found));
+-EXTERN Rb_node rb_find_gkey_n __P((Rb_node tree, char *key, int (*fxn)(),
+- int *found));
+-EXTERN void rb_delete_node __P((Rb_node node));
+-EXTERN void rb_free_tree __P((Rb_node node)); /* Deletes and frees an entire tree */
+-EXTERN char *rb_val __P((Rb_node node)); /* Returns node->v.val
++typedef int (*Rb_cmp)(const char *key1, const char *key2);
++EXTERN Rb_node make_rb(void);
++EXTERN Rb_node rb_insert_b(Rb_node node, char *key, char *value);
++
++EXTERN Rb_node rb_find_key(Rb_node tree, const char *key);
++EXTERN Rb_node rb_find_ikey(Rb_node tree, int ikey);
++EXTERN Rb_node rb_find_ukey(Rb_node tree, unsigned long ukey);
++EXTERN Rb_node rb_find_gkey(Rb_node tree, const char *key, Rb_cmp);
++
++EXTERN Rb_node rb_find_key_n(Rb_node tree, const char *key, int *found);
++EXTERN Rb_node rb_find_ikey_n(Rb_node tree, int ikey, int *found);
++EXTERN Rb_node rb_find_ukey_n(Rb_node tree, unsigned long ukey,
++ int *found);
++EXTERN Rb_node rb_find_gkey_n(Rb_node tree, const char *key, Rb_cmp,
++ int *found);
++EXTERN void rb_delete_node(Rb_node node);
++EXTERN void rb_free_tree(Rb_node node); /* Deletes and frees an entire tree */
++EXTERN char *rb_val(Rb_node node); /* Returns node->v.val
+ (this is to shut lint up */
++EXTERN void rb_print_tree(const struct rb_node * const t, int level);
++EXTERN void rb_iprint_tree(const struct rb_node * const t, int level);
++EXTERN void rb_uprint_tree(const struct rb_node * const t, int level);
++EXTERN int rb_nblack(const struct rb_node *t);
++EXTERN int rb_plength(const struct rb_node *t);
+
+ #define rb_insert_a(n, k, v) rb_insert_b(n->c.list.flink, k, v)
+ #define rb_insert(t, k, v) rb_insert_b(rb_find_key(t, k), k, v)
+@@ -84,5 +84,5 @@
+ #define rb_traverse(ptr, lst) \
+ for(ptr = rb_first(lst); ptr != nil(lst); ptr = rb_next(ptr))
+
+-EXTERN void recolor __P(());
+-EXTERN void single_rotate __P(());
++EXTERN void recolor(Rb_node);
++EXTERN void single_rotate(Rb_node, int);
+--- rb/rb.c 1994-12-05 16:57:57.000000000 -0500
++++ rb/rb.c 2012-04-07 13:22:05.000000000 -0400
+@@ -37,10 +37,8 @@
+ setnormal(new);\
+ }
+
+-void
+-mk_new_int(l, r, p, il)
+- Rb_node l, r, p;
+- int il;
++static void
++mk_new_int(Rb_node l, Rb_node r, Rb_node p, int il)
+ {
+ Rb_node new;
+
+@@ -71,9 +69,8 @@
+ }
+
+
+-Rb_node
+-lprev(n)
+- Rb_node n;
++static Rb_node
++lprev(Rb_node n)
+ {
+ if (ishead(n))
+ return (n);
+@@ -85,9 +82,8 @@
+ return (n->p.parent);
+ }
+
+-Rb_node
+-rprev(n)
+- Rb_node n;
++static Rb_node
++rprev(Rb_node n)
+ {
+ if (ishead(n))
+ return (n);
+@@ -109,24 +105,20 @@
+ head->c.list.flink = head;
+ head->c.list.blink = head;
+ head->p.root = head;
+- head->k.key = "";
++ /* head->k.key = ""; */
+ head->v.val = NULL;
+ sethead(head);
+ return (head);
+ }
+
+ Rb_node
+-rb_find_key_n(n, key, fnd)
+- Rb_node n;
+- char *key;
+- int *fnd;
++rb_find_key_n(Rb_node n, const char *key, int *fnd)
+ {
+ int cmp;
+
+ *fnd = 0;
+ if (!ishead(n)) {
+- fprintf(stderr, "rb_find_key_n called on non-head 0x%x\n",
+- (int)n);
++ fprintf(stderr, "%s called on non-head %p\n", __func__, n);
+ exit(1);
+ }
+ if (n->p.root == n)
+@@ -156,9 +148,7 @@
+ }
+
+ Rb_node
+-rb_find_key(n, key)
+- Rb_node n;
+- char *key;
++rb_find_key(Rb_node n, const char *key)
+ {
+ int fnd;
+
+@@ -173,8 +163,7 @@
+ {
+ *fnd = 0;
+ if (!ishead(n)) {
+- fprintf(stderr, "rb_find_ikey_n called on non-head 0x%x\n",
+- (int)n);
++ fprintf(stderr, "%s called on non-head %p\n", __func__, n);
+ exit(1);
+ }
+ if (n->p.root == n)
+@@ -208,8 +197,7 @@
+
+ *fnd = 0;
+ if (!ishead(n)) {
+- fprintf(stderr, "rb_find_ukey_n called on non-head 0x%x\n",
+- (int)n);
++ fprintf(stderr, "%s called on non-head %p\n", __func__, n);
+ exit(1);
+ }
+ if (n->p.root == n)
+@@ -255,18 +243,13 @@
+ }
+
+ Rb_node
+-rb_find_gkey_n(n, key, fxn, fnd)
+- Rb_node n;
+- char *key;
+- int (*fxn)();
+- int *fnd;
++rb_find_gkey_n(Rb_node n, const char *key, Rb_cmp fxn, int *fnd)
+ {
+ int cmp;
+
+ *fnd = 0;
+ if (!ishead(n)) {
+- fprintf(stderr, "rb_find_key_n called on non-head 0x%x\n",
+- (int)n);
++ fprintf(stderr, "%s called on non-head %p\n", __func__, n);
+ exit(1);
+ }
+ if (n->p.root == n)
+@@ -296,20 +279,15 @@
+ }
+
+ Rb_node
+-rb_find_gkey(n, key, fxn)
+- Rb_node n;
+- char *key;
+- int (*fxn)();
++rb_find_gkey(Rb_node n, const char *key, Rb_cmp fxn)
+ {
+ int fnd;
+
+ return (rb_find_gkey_n(n, key, fxn, &fnd));
+ }
++
+ Rb_node
+-rb_insert_b(n, key, val)
+- Rb_node n;
+- char *key;
+- char *val;
++rb_insert_b(Rb_node n, char *key, char *val)
+ {
+ Rb_node newleft, newright, newnode, p;
+
+@@ -346,8 +324,7 @@
+ }
+
+ void
+-recolor(n)
+- Rb_node n;
++recolor(Rb_node n)
+ {
+ Rb_node p, gp, s;
+ int done = 0;
+@@ -392,9 +369,7 @@
+ }
+
+ void
+-single_rotate(y, l)
+- Rb_node y;
+- int l;
++single_rotate(Rb_node y, int l)
+ {
+ int rl, ir;
+ Rb_node x, yp;
+@@ -440,20 +415,17 @@
+ }
+
+ void
+-rb_delete_node(n)
+- Rb_node n;
++rb_delete_node(Rb_node n)
+ {
+ Rb_node s, p, gp;
+ char ir;
+
+ if (isint(n)) {
+- fprintf(stderr, "Cannot delete an internal node: 0x%x\n",
+- (int)n);
++ fprintf(stderr, "Cannot delete an internal node: %p\n", n);
+ exit(1);
+ }
+ if (ishead(n)) {
+- fprintf(stderr, "Cannot delete the head of an rb_tree: 0x%x\n",
+- (int)n);
++ fprintf(stderr, "Cannot delete the head of an rb_tree: %p\n", n);
+ exit(1);
+ }
+ delete_item((List)n); /* Delete it from the list */
+@@ -579,120 +551,112 @@
+ }
+
+ void
+-rb_print_tree(t, level)
+- Rb_node t;
+- int level;
++rb_print_tree(const struct rb_node * const t, int level)
+ {
+ int i;
+
+ if (ishead(t) && t->p.parent == t) {
+- printf("tree 0x%x is empty\n",
+- (int)t);
++ printf("tree %p is empty\n", t);
+ } else if (ishead(t)) {
+- printf("Head: 0x%x. Root = 0x%x\n", (int)t, (int)t->p.root);
++ printf("Head: %p. Root = %p\n", t, t->p.root);
+ rb_print_tree(t->p.root, 0);
+ } else {
+ if (isext(t)) {
+ for (i = 0; i < level; i++)
+ putchar(' ');
+- printf("Ext node 0x%x: %c,%c: p=0x%x, k=%s\n", (int)t,
++ printf("Ext node %p: %c,%c: p=%p, k=%s\n", t,
+ isred(t) ? 'R' : 'B', isleft(t) ? 'l' : 'r',
+- (int)t->p.parent, t->k.key);
++ t->p.parent, t->k.key);
+ } else {
+ rb_print_tree(t->c.child.left, level + 2);
+ rb_print_tree(t->c.child.right, level + 2);
+ for (i = 0; i < level; i++)
+ putchar(' ');
+- printf("Int node 0x%x: %c,%c: l=0x%x, r=0x%x, p=0x%x, lr=(%s,%s)\n",
+- (int)t, isred(t) ? 'R' : 'B', isleft(t) ? 'l' : 'r',
+- (int)t->c.child.left, (int)t->c.child.right,
+- (int)t->p.parent, t->k.lext->k.key,
++ printf("Int node %p: %c,%c: l=%p, r=%p, p=%p, lr=(%s,%s)\n",
++ t, isred(t) ? 'R' : 'B', isleft(t) ? 'l' : 'r',
++ t->c.child.left, t->c.child.right,
++ t->p.parent, t->k.lext->k.key,
+ t->v.rext->k.key);
+ }
+ }
+ }
+
+ void
+-rb_iprint_tree(t, level)
+- Rb_node t;
+- int level;
++rb_iprint_tree(const struct rb_node * const t, int level)
+ {
+ int i;
+
+ if (ishead(t) && t->p.parent == t) {
+- printf("tree 0x%x is empty\n", (int)t);
++ printf("tree %p is empty\n", t);
+ } else if (ishead(t)) {
+- printf("Head: 0x%x. Root = 0x%x, < = 0x%x, > = 0x%x\n",
+- (int)t, (int)t->p.root, (int)t->c.list.blink,
+- (int)t->c.list.flink);
++ printf("Head: %p. Root = %p, < = %p, > = %p\n",
++ t, t->p.root, t->c.list.blink,
++ t->c.list.flink);
+ rb_iprint_tree(t->p.root, 0);
+ } else {
+ if (isext(t)) {
+ for (i = 0; i < level; i++)
+ putchar(' ');
+- printf("Ext node 0x%x: %c,%c: p=0x%x, <=0x%x, >=0x%x k=%d\n",
+- (int)t, isred(t) ? 'R' : 'B', isleft(t) ? 'l' : 'r',
+- (int)t->p.parent, (int)t->c.list.blink,
+- (int)t->c.list.flink, t->k.ikey);
++ printf("Ext node %p: %c,%c: p=%p, <=%p, >=%p k=%d\n",
++ t, isred(t) ? 'R' : 'B', isleft(t) ? 'l' : 'r',
++ t->p.parent, t->c.list.blink,
++ t->c.list.flink, t->k.ikey);
+ } else {
+ rb_iprint_tree(t->c.child.left, level + 2);
+ rb_iprint_tree(t->c.child.right, level + 2);
+ for (i = 0; i < level; i++)
+ putchar(' ');
+- printf("Int node 0x%x: %c,%c: l=0x%x, r=0x%x, p=0x%x, lr=(%d,%d)\n",
+- (int)t, isred(t) ? 'R' : 'B', isleft(t) ? 'l' : 'r',
+- (int)t->c.child.left, (int)t->c.child.right,
+- (int)t->p.parent, t->k.lext->k.ikey,
++ printf("Int node %p: %c,%c: l=%p, r=%p, p=%p, lr=(%d,%d)\n",
++ t, isred(t) ? 'R' : 'B', isleft(t) ? 'l' : 'r',
++ t->c.child.left, t->c.child.right,
++ t->p.parent, t->k.lext->k.ikey,
+ t->v.rext->k.ikey);
+ }
+ }
+ }
+
+ void
+-rb_uprint_tree(t, level)
+- Rb_node t;
+- int level;
++rb_uprint_tree(const struct rb_node * const t, int level)
+ {
+ int i;
+ if (ishead(t) && t->p.parent == t) {
+- printf("tree 0x%x is empty\n", (int)t);
++ printf("tree %p is empty\n", t);
+ } else if (ishead(t)) {
+- printf("Head: 0x%x. Root = 0x%x, < = 0x%x, > = 0x%x\n",
+- (int)t, (int)t->p.root, (int)t->c.list.blink,
+- (int)t->c.list.flink);
++ printf("Head: %p. Root = %p, < = %p, > = %p\n",
++ t, t->p.root, t->c.list.blink,
++ t->c.list.flink);
+ rb_uprint_tree(t->p.root, 0);
+ } else {
+ if (isext(t)) {
+ for (i = 0; i < level; i++)
+ putchar(' ');
+- printf("Ext node 0x%x: %c,%c: p=0x%x, <=0x%x, >=0x%x k=%lu\n",
+- (int)t, isred(t) ? 'R' : 'B', isleft(t) ? 'l' : 'r',
+- (int)t->p.parent, (int)t->c.list.blink,
+- (int)t->c.list.flink, t->k.ukey);
++ printf("Ext node %p: %c,%c: p=%p, <=%p, >=%p k=%lu\n",
++ t, isred(t) ? 'R' : 'B', isleft(t) ? 'l' : 'r',
++ t->p.parent, t->c.list.blink,
++ t->c.list.flink, t->k.ukey);
+ } else {
+ rb_uprint_tree(t->c.child.left, level + 2);
+ rb_uprint_tree(t->c.child.right, level + 2);
+ for (i = 0; i < level; i++)
+ putchar(' ');
+- printf("Int node 0x%x: %c,%c: l=0x%x, r=0x%x, p=0x%x, lr=(%lu,%lu)\n",
+- (int)t, isred(t) ? 'R' : 'B', isleft(t) ? 'l' : 'r',
+- (int)t->c.child.left, (int)t->c.child.right,
+- (int)t->p.parent, t->k.lext->k.ukey,
++ printf("Int node %p: %c,%c: l=%p, r=%p, p=%p, lr=(%lu,%lu)\n",
++ t, isred(t) ? 'R' : 'B', isleft(t) ? 'l' : 'r',
++ t->c.child.left, t->c.child.right,
++ t->p.parent, t->k.lext->k.ukey,
+ t->v.rext->k.ukey);
+ }
+ }
+ }
+
+ int
+-rb_nblack(n)
+- Rb_node(n);
++rb_nblack(const struct rb_node *n)
+ {
+ int nb;
+
+ if (ishead(n) || isint(n)) {
+ fprintf(stderr,
+- "ERROR: rb_nblack called on a non-external node 0x%x\n",
+- (int)n);
++ "ERROR: %s called on a non-external node %p\n",
++ __func__, n);
+ exit(1);
+ }
+ nb = 0;
+@@ -705,15 +669,14 @@
+ }
+
+ int
+-rb_plength(n)
+- Rb_node(n);
++rb_plength(const struct rb_node *n)
+ {
+ int pl;
+
+ if (ishead(n) || isint(n)) {
+ fprintf(stderr,
+- "ERROR: rb_plength called on a non-external node 0x%x\n",
+- (int)n);
++ "ERROR: %s called on a non-external node %p\n",
++ __func__, n);
+ exit(1);
+ }
+ pl = 0;
+@@ -725,13 +688,11 @@
+ }
+
+ void
+-rb_free_tree(n)
+- Rb_node(n);
++rb_free_tree(Rb_node n)
+ {
+
+ if (!ishead(n)) {
+- fprintf(stderr,
+- "ERROR: Rb_free_tree called on a non-head node\n");
++ fprintf(stderr, "%s called on non-head %p\n", __func__, n);
+ exit(1);
+ }
+ while (rb_first(n) != nil(n)) {