[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v2 for-4.5 1/2] libxl: un-constify return value of libxl_basename
The string returned is malloc'ed but marked as "const". Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx> Cc: Ian Campbell <ian.campbell@xxxxxxxxxx> Cc: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> --- tools/libxl/libxl.h | 10 ++++++++++ tools/libxl/libxl_utils.c | 5 ++++- tools/libxl/libxl_utils.h | 6 +++++- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h index 41d6e8d..291c190 100644 --- a/tools/libxl/libxl.h +++ b/tools/libxl/libxl.h @@ -478,6 +478,16 @@ typedef struct libxl__ctx libxl_ctx; #endif /* + * LIBXL_HAVE_CONST_LIBXL_BASENAME_RETURN_VALUE + * + * The return value of libxl_basename is malloc'ed but the erroneously + * marked as "const" in releases before 4.5. + */ +#if defined(LIBXL_API_VERSION) && LIBXL_API_VERSION < 0x040500 +#define LIBXL_HAVE_CONST_LIBXL_BASENAME_RETURN_VALUE 1 +#endif + +/* * LIBXL_HAVE_PHYSINFO_OUTSTANDING_PAGES * * If this is defined, libxl_physinfo structure will contain an uint64 field diff --git a/tools/libxl/libxl_utils.c b/tools/libxl/libxl_utils.c index 3e1ba17..22119fc 100644 --- a/tools/libxl/libxl_utils.c +++ b/tools/libxl/libxl_utils.c @@ -19,7 +19,10 @@ #include "libxl_internal.h" -const char *libxl_basename(const char *name) +#ifdef LIBXL_HAVE_CONST_LIBXL_BASENAME_RETURN_VALUE +const +#endif +char *libxl_basename(const char *name) { const char *filename; if (name == NULL) diff --git a/tools/libxl/libxl_utils.h b/tools/libxl/libxl_utils.h index 117b229..8277eb9 100644 --- a/tools/libxl/libxl_utils.h +++ b/tools/libxl/libxl_utils.h @@ -18,7 +18,11 @@ #include "libxl.h" -const char *libxl_basename(const char *name); /* returns string from strdup */ +#ifdef LIBXL_HAVE_CONST_LIBXL_BASENAME_RETURN_VALUE +const +#endif +char *libxl_basename(const char *name); /* returns string from strdup */ + unsigned long libxl_get_required_shadow_memory(unsigned long maxmem_kb, unsigned int smp_cpus); int libxl_name_to_domid(libxl_ctx *ctx, const char *name, uint32_t *domid); int libxl_domain_qualifier_to_domid(libxl_ctx *ctx, const char *name, uint32_t *domid); -- 1.7.10.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |