aboutsummaryrefslogtreecommitdiff
path: root/src/list2symbol.c
diff options
context:
space:
mode:
authorIOhannes m zmölnig <zmoelnig@users.sourceforge.net>2005-08-23 12:25:37 +0000
committerIOhannes m zmölnig <zmoelnig@users.sourceforge.net>2005-08-23 12:25:37 +0000
commit57ab5572625a2df7867a9d85a5319c965ee619fe (patch)
tree9d7f9124b07125767d6e3edf966c56fedab30ac6 /src/list2symbol.c
parentf0556454d553afbbfb27a8e1ded6195580995020 (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/list2symbol.c')
-rw-r--r--src/list2symbol.c22
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;