SP_strdup()
#include <sicstus/sicstus.h> void * SP_strdup(const char *str);
Allocates a string, which is a duplicates of the given string. The memory for the new string is managed by Prolog.
The pointer, if allocation was successful, otherwise NULL
.