From 57ab5572625a2df7867a9d85a5319c965ee619fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?IOhannes=20m=20zm=C3=B6lnig?= Date: Tue, 23 Aug 2005 12:25:37 +0000 Subject: do not use atom_getstring() for symbols, rather take the s_name this reduces the amount of quoting significantly svn path=/trunk/externals/zexy/; revision=3454 --- src/list2symbol.c | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/list2symbol.c b/src/list2symbol.c index 51a6ea2..34b3f5b 100644 --- a/src/list2symbol.c +++ b/src/list2symbol.c @@ -58,8 +58,12 @@ static void list2symbol_bang(t_list2symbol *x) while(i--){ char buffer[MAXPDSTRING]; - atom_string(argv++, buffer, MAXPDSTRING); - length+=strlen(buffer); + if(A_SYMBOL==argv->a_type){ + length+=strlen(argv->a_w.w_symbol->s_name); + } else { + atom_string(argv++, buffer, MAXPDSTRING); + length+=strlen(buffer); + } } if (length<=0){ @@ -82,10 +86,16 @@ static void list2symbol_bang(t_list2symbol *x) i=argc; argv=x->ap; while(i--){ - char buffer[MAXPDSTRING]; - atom_string(argv++, buffer, MAXPDSTRING); - strcpy(result+len, buffer); - len += strlen(buffer); + if(A_SYMBOL==argv->a_type){ + strcpy(result+len, argv->a_w.w_symbol->s_name); + len+= strlen(argv->a_w.w_symbol->s_name); + } else { + char buffer[MAXPDSTRING]; + atom_string(argv, buffer, MAXPDSTRING); + strcpy(result+len, buffer); + len += strlen(buffer); + } + argv++; if(i && connector){ strcpy(result+len, connector); len += connlen; -- cgit v1.2.1