From: Anthony PERARD Date: Thu, 29 Sep 2011 15:28:23 +0000 (+0100) Subject: libxl: Intruduce libxl__strndup. X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~9845 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=56a7a6929b594f15cd70dae21e3b0d87a7979293;p=xen.git libxl: Intruduce libxl__strndup. Signed-off-by: Anthony PERARD Committed-by: Ian Jackson Acked-by: Ian Campbell --- diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c index ef5f6ae5db..56e6618653 100644 --- a/tools/libxl/libxl_internal.c +++ b/tools/libxl/libxl_internal.c @@ -159,6 +159,16 @@ char *libxl__strdup(libxl__gc *gc, const char *c) return s; } +char *libxl__strndup(libxl__gc *gc, const char *c, size_t n) +{ + char *s = strndup(c, n); + + if (s) + libxl__ptr_add(gc, s); + + return s; +} + char *libxl__dirname(libxl__gc *gc, const char *s) { char *c; diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h index 1d2c58ecbe..2ebd18d2ea 100644 --- a/tools/libxl/libxl_internal.h +++ b/tools/libxl/libxl_internal.h @@ -148,6 +148,7 @@ _hidden void *libxl__calloc(libxl__gc *gc, size_t nmemb, size_t size); _hidden void *libxl__realloc(libxl__gc *gc, void *ptr, size_t new_size); _hidden char *libxl__sprintf(libxl__gc *gc, const char *fmt, ...) PRINTF_ATTRIBUTE(2, 3); _hidden char *libxl__strdup(libxl__gc *gc, const char *c); +_hidden char *libxl__strndup(libxl__gc *gc, const char *c, size_t n); _hidden char *libxl__dirname(libxl__gc *gc, const char *s); _hidden char **libxl__xs_kvs_of_flexarray(libxl__gc *gc, flexarray_t *array, int length);