From 5fc23bb61cf7b2a0e1116c63ecbf3c0c3bc36940 Mon Sep 17 00:00:00 2001 From: Jonathan Wilkes <jancsika@yahoo.com> Date: Tue, 7 Oct 2014 18:25:02 -0400 Subject: [PATCH] fix some crashers in external objects --- externals/ext13/cdplayer.c | 2 +- externals/ggee/control/constant.c | 36 +++++++++++++++++++------------ 2 files changed, 23 insertions(+), 15 deletions(-) diff --git a/externals/ext13/cdplayer.c b/externals/ext13/cdplayer.c index 95293012d..24b8f1020 100644 --- a/externals/ext13/cdplayer.c +++ b/externals/ext13/cdplayer.c @@ -24,7 +24,7 @@ typedef struct _cdplayer static void *cdplayer_new() { - char* devicename; + char devicename[MAXPDSTRING]; int fd; t_cdplayer *x = (t_cdplayer *)pd_new(cdplayer_class); diff --git a/externals/ggee/control/constant.c b/externals/ggee/control/constant.c index 877326bb2..0584344d3 100644 --- a/externals/ggee/control/constant.c +++ b/externals/ggee/control/constant.c @@ -34,18 +34,21 @@ static void *constant_new(t_symbol* s) t_constant *x = (t_constant *)pd_new(constant_class); if (s == &s_) - x->x_constant = M_PI; - - if (!strcmp(s->s_name,"PI")) - x->x_constant = M_PI; - - if (!strcmp(s->s_name,"TWOPI")) - x->x_constant = 2*M_PI; - - if (!strcmp(s->s_name,"e")) - x->x_constant = exp(1.0); - - + x->x_constant = M_PI; + else if (!strcmp(s->s_name,"pi")) + x->x_constant = M_PI; + else if (!strcmp(s->s_name,"2pi")) + x->x_constant = 2*M_PI; + else if (!strcmp(s->s_name,"e")) + x->x_constant = exp(1.0); + else if (!strcmp(s->s_name,"M_PI")) + x->x_constant = M_PI; + else if (!strcmp(s->s_name,"PI")) + x->x_constant = M_PI; + else if (!strcmp(s->s_name,"TWOPI")) + x->x_constant = 2*M_PI; + else + pd_error(x, "Unsupported constant '%s'", s->s_name); outlet_new(&x->x_obj, &s_float); return (x); @@ -53,8 +56,13 @@ static void *constant_new(t_symbol* s) void constant_setup(void) { - constant_class = class_new(gensym("constant"), (t_newmethod)constant_new, 0, - sizeof(t_constant), 0,0); + constant_class = class_new(gensym("constant"), + (t_newmethod)constant_new, + 0, + sizeof(t_constant), + 0, + A_DEFSYMBOL, + 0); class_addbang(constant_class,constant_bang); } -- GitLab