diff --git a/externals/zexy/src/strcmp.c b/externals/zexy/src/strcmp.c
index 2d9f8ce937ee74db82fa7cf74412f60ff5476299..7219177782cb584c107e22d3f64c1b8d342dec5d 100644
--- a/externals/zexy/src/strcmp.c
+++ b/externals/zexy/src/strcmp.c
@@ -75,13 +75,12 @@ static void list2binbuf(t_binbuf**bbuf, int *n, char**str, int argc,
 
   binbuf_clear(*bbuf);
   binbuf_add(*bbuf, argc, argv);
-  binbuf_gettext(*bbuf, str, n);
-  i=*n;
-  s=*str;
+  binbuf_gettext(*bbuf, str, &i);
 
-  if(s && ' '==s[i]) {
-    s[i]=0;
-  }
+  s = t_resizebytes(*str, i, i+1);
+  s[i] = 0;
+  *str = s;
+  *n = i+1;
 }
 
 static void strcmp_list(t_strcmp *x, t_symbol* UNUSED(s), int argc,