libpmemcto API version 1.0

comment: <> (SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT) comment: <> (LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,) comment: <> (DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY) comment: <> (THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT) comment: <> ((INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE) comment: <> (OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.)

NAME
SYNOPSIS
DESCRIPTION
RETURN VALUE
ERRORS
SEE ALSO

NAME

pmemcto_strdup - duplicate a string

SYNOPSIS

#include <libpmemcto.h>

char *pmemcto_strdup(PMEMctopool *pcp, const char *s);

DESCRIPTION

The pmemcto_strdup() function provides the same semantics as strdup(3), but operates on the memory pool pcp instead of the process heap supplied by the system. It returns a pointer to a new string which is a duplicate of the string s. Memory for the new string is obtained with pmemcto_malloc(3), on the given memory pool, and can be freed with pmemcto_free(3) on the same memory pool.

RETURN VALUE

On success, the pmemcto_strdup() function returns a pointer to the duplicated string. If pmemcto_strdup() is unable to satisfy the allocation request, a NULL pointer is returned and errno is set appropriately.

ERRORS

ENOMEM Insufficient memory available to allocate duplicated string.

SEE ALSO

jemalloc(3), malloc(3), strdup(3), wcsdup(3), pmemcto_malloc(3), pmemcto_wcsdup(3), libpmemcto(7) and http://pmem.io

The contents of this web site and the associated GitHub repositories are BSD-licensed open source.