An array and index expression is the same as a pointer and an offset so don't throw 'em into the same mix

*wrd[(wrd_len-1)] = (char)c;

Edit: Whoops! didn't realize that wrd is a...