> asprintf(&buf, "%s%s%s", s1, s2, s3); > if (buf == NULL) > return ENOMEM; > Love asprintf is a non-standard, and therefore sub-optimally portable, GNU extension -- so you're still stuck writing something else (perhaps your own asprintf implementation, which is far more baggage than one needs to concat a few strings). John