diff options
author | IOhannes m zmölnig <zmoelnig@users.sourceforge.net> | 2005-08-23 12:25:37 +0000 |
---|---|---|
committer | IOhannes m zmölnig <zmoelnig@users.sourceforge.net> | 2005-08-23 12:25:37 +0000 |
commit | 57ab5572625a2df7867a9d85a5319c965ee619fe (patch) | |
tree | 9d7f9124b07125767d6e3edf966c56fedab30ac6 /src | |
parent | f0556454d553afbbfb27a8e1ded6195580995020 (diff) |
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
Diffstat (limited to 'src')
-rw-r--r-- | src/list2symbol.c | 22 |
1 files changed, 16 insertions, 6 deletions
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; |