char *join(const char **woerter, int anzahl, const char *sep) {    char *retval = NULL, *wort = NULL;    int seplen = 0, wortlen = 0, size = 0, len = 0;    if(woerter == NULL || anzahl == 0 || sep == NULL)        return NULL;        seplen = strlen(sep);    wort = *woerter++;    while(anzahl > 0 && wort != NULL) {        wortlen = strlen(wort);        size += wortlen + 1;        if(anzahl > 0) size += seplen;                      if(retval == NULL) retval = (char *)malloc(size);        else retval = (char *)realloc(retval, size);        strncpy(retval + len, wort, wortlen);        len += wortlen;        if(anzahl > 0) {            strncpy(retval + len, sep, seplen);            len += seplen;        }        wort = *woerter++; --anzahl;            }    return retval; }