In extra/expr~/vexp.c and extra/expr~/vexp_if.c there is this construct: char *tmp; tmp = eptr->ex_ptr; if (ex_getsym(tmp, (t_symbol **)&(eptr->ex_ptr))) {
The function there looks like a wrapper to gensym() more or less: typedef t_symbol *fts_symbol_t; int ex_getsym(char *p, fts_symbol_t *s) { *s = gensym(p); return (0); } ex_ptr is defined as a char* in the ex_cont struct that eptr is. This is the last type-punning in extra/ Anyone have any idea how to fix it so its not type-punning? I can't even understand what the code is doing, it looks like its generating a symbol but then storing the t_symbol* in a char*, which is just strange. .hc _______________________________________________ Pd-dev mailing list Pd-dev@iem.at http://lists.puredata.info/listinfo/pd-dev