The string passed to the function must be a <c-string> for this to work. This can be done using as(): let c-data = as(<c-string>, data); sendpacket(c-data, c-data.size); destroy(c-data); Or a macro to have destroy() called automatically: with-c-string(c-data = data) sendpacket(c-data, c-data.size); end; Cheers, Chris. -- http://www.double.co.nz/dylan