aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mtx_max2.c6
-rw-r--r--src/mtx_min2.c6
-rw-r--r--src/mtx_rowrfft.c12
-rw-r--r--src/mtx_rowrifft.c12
4 files changed, 24 insertions, 12 deletions
diff --git a/src/mtx_max2.c b/src/mtx_max2.c
index 21aa455..6e1c044 100644
--- a/src/mtx_max2.c
+++ b/src/mtx_max2.c
@@ -36,7 +36,8 @@ static void mtx_max2scalar_matrix(t_mtx_binscalar *x, t_symbol *s, int argc, t_a
while(n--){
buf->a_type = A_FLOAT;
- buf++->a_w.w_float = atom_getfloat(ap++) + offset;
+ buf++->a_w.w_float = (atom_getfloat(ap)<offset)?:offset:atom_getfloat(ap);
+ ap++;
}
outlet_anything(x->x_obj.ob_outlet, gensym("matrix"), argc, x->m.atombuffer);
}
@@ -50,7 +51,8 @@ static void mtx_max2scalar_list(t_mtx_binscalar *x, t_symbol *s, int argc, t_ato
while(n--){
m->a_type = A_FLOAT;
- (m++)->a_w.w_float = atom_getfloat(argv++) + offset;
+ (m++)->a_w.w_float = (atom_getfloat(argv)<offset)?:offset:atom_getfloat(argv);
+ argv++;
}
outlet_list(x->x_obj.ob_outlet, gensym("list"), argc, x->m.atombuffer);
}
diff --git a/src/mtx_min2.c b/src/mtx_min2.c
index 8fc17e1..6282f60 100644
--- a/src/mtx_min2.c
+++ b/src/mtx_min2.c
@@ -36,7 +36,8 @@ static void mtx_min2scalar_matrix(t_mtx_binscalar *x, t_symbol *s, int argc, t_a
while(n--){
buf->a_type = A_FLOAT;
- buf++->a_w.w_float = atom_getfloat(ap++) + offset;
+ buf++->a_w.w_float = (atom_getfloat(ap)<offset)?atom_getfloat(ap):offset;
+ ap++;
}
outlet_anything(x->x_obj.ob_outlet, gensym("matrix"), argc, x->m.atombuffer);
}
@@ -50,7 +51,8 @@ static void mtx_min2scalar_list(t_mtx_binscalar *x, t_symbol *s, int argc, t_ato
while(n--){
m->a_type = A_FLOAT;
- (m++)->a_w.w_float = atom_getfloat(argv++) + offset;
+ (m++)->a_w.w_float = (atom_getfloat(argv)<offset)?atom_getfloat(argv):offset;
+ argv++;
}
outlet_list(x->x_obj.ob_outlet, gensym("list"), argc, x->m.atombuffer);
}
diff --git a/src/mtx_rowrfft.c b/src/mtx_rowrfft.c
index daa1f3f..7745f55 100644
--- a/src/mtx_rowrfft.c
+++ b/src/mtx_rowrfft.c
@@ -36,10 +36,14 @@ struct _MTXRowrfft_
static void deleteMTXRowrfft (MTXRowrfft *x)
{
- free (x->f_re);
- free (x->f_im);
- free (x->list_re);
- free (x->list_im);
+ if (x->f_re)
+ free (x->f_re);
+ if (x->f_im)
+ free (x->f_im);
+ if (x->list_re)
+ free (x->list_re);
+ if (x->list_im)
+ free (x->list_im);
}
static void *newMTXRowrfft (t_symbol *s, int argc, t_atom *argv)
diff --git a/src/mtx_rowrifft.c b/src/mtx_rowrifft.c
index ea803da..d8d6530 100644
--- a/src/mtx_rowrifft.c
+++ b/src/mtx_rowrifft.c
@@ -200,10 +200,14 @@ static void mTXrowrifftBang (MTXRowrifft *x)
static void deleteMTXRowrifft (MTXRowrifft *x)
{
- free(x->f_re);
- free(x->f_im);
- free(x->list_re);
- free(x->list_im);
+ if (x->f_re)
+ free(x->f_re);
+ if (x->f_im)
+ free(x->f_im);
+ if (x->list_re)
+ free(x->list_re);
+ if (x->list_im)
+ free(x->list_im);
}
static void mtx_rowrifft_setup (void)