@@ -25,10 +25,12 @@ static void unjoin_list(t_unjoin *x, t_symbol *s, int ac, t_atom *av)
25
25
int length = size * nouts ;
26
26
int extra = (ac - length );
27
27
if (extra > 0 ){ // extra outlet
28
- if (extra == 1 && av -> a_type == A_FLOAT )
29
- outlet_float (x -> x_outlets [nouts ], (av + length )-> a_w .w_float );
30
- else if (av -> a_type == A_FLOAT ) // if first is float... output list
31
- outlet_list (x -> x_outlets [nouts ], & s_list , extra , av + length );
28
+ if ((av + length )-> a_type == A_FLOAT ){
29
+ if (extra == 1 )
30
+ outlet_float (x -> x_outlets [nouts ], (av + length )-> a_w .w_float );
31
+ else
32
+ outlet_list (x -> x_outlets [nouts ], & s_list , extra , av + length );
33
+ }
32
34
else {
33
35
s = atom_getsymbolarg (0 , length , av + length );
34
36
outlet_anything (x -> x_outlets [nouts ], s , extra - 1 , av + length + 1 );
@@ -39,14 +41,14 @@ static void unjoin_list(t_unjoin *x, t_symbol *s, int ac, t_atom *av)
39
41
int j = (i * size );
40
42
int n = ac - j ;
41
43
if (n > 0 ){
42
- if (n == 1 && av -> a_type == A_FLOAT )
43
- outlet_float (x -> x_outlets [i ], (av + j )-> a_w .w_float );
44
- else if (av -> a_type == A_FLOAT )
45
- outlet_list (x -> x_outlets [i ], & s_list , n , av + j );
46
- else {
47
- s = atom_getsymbolarg (0 , n , av + j );
48
- outlet_anything (x -> x_outlets [i ], s , n - 1 , av + j + 1 );
44
+ if ((av + j )-> a_type == A_FLOAT ){
45
+ if (n == 1 )
46
+ outlet_float (x -> x_outlets [i ], (av + j )-> a_w .w_float );
47
+ else
48
+ outlet_list (x -> x_outlets [i ], & s_list , n , av + j );
49
49
}
50
+ else
51
+ outlet_anything (x -> x_outlets [i ], atom_getsymbol (av + j ), n - 1 , av + j + 1 );
50
52
}
51
53
else
52
54
n = 0 ;
0 commit comments