Strange things like this can happen if someone inadvertently writes a new string into an existing symbol... i.e., never do this: strcat(sym->s_name, "cat").
MAybe there was already a symbol somewhere else whose name is "cat" and then you'll have 2 symbols with teh same name but different addresses. (I've seen people do this, in various ways, before). cheers Miller On Sat, May 03, 2014 at 03:22:19AM -0400, Jaime E Oliver wrote: > Hi all, > > I am trying to compare two symbols, one incoming in a list into an external > and the other one stored internally in the external. > > It compiles fine, but I don't get a match. > > c code is below. Ideas on what I'm missing? > > J > > > void testtext_input(t_testtext *x, t_symbol *selector, int argcount, t_atom > *argvec) { > int i; > const t_symbol *storedsymbol = gensym("mysymbol"); > for (i = 0; i < argcount; i++) { > if (argvec[i].a_type == A_SYMBOL) { > if ( argvec[i].a_w.w_symbol->s_name == storedsymbol) > post("found match!"); > } > } > _______________________________________________ > Pd-list@iem.at mailing list > UNSUBSCRIBE and account-management -> > http://lists.puredata.info/listinfo/pd-list _______________________________________________ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list