Use mkdtemp() to create a unique directory instead of a goto loop.