Take a copy of the name of the recursive component, don't use a pointer to a temporary string