[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 3 of 9] libxl: add printf attribute to libxl_xs_write and fixup resulting warnings
There is an unfortunate warning for the empty format string by default which I workaround by adding -Wno-format-zero-length. Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx> diff -r 24a1b866b2d1 -r 8545cbf7f513 tools/libxl/Makefile --- a/tools/libxl/Makefile Mon Jul 12 14:56:37 2010 +0100 +++ b/tools/libxl/Makefile Mon Jul 12 14:56:37 2010 +0100 @@ -11,7 +11,7 @@ XLUMAJOR = 1.0 XLUMINOR = 0 -CFLAGS += -Werror +CFLAGS += -Werror -Wno-format-zero-length CFLAGS += -I. -fPIC CFLAGS += $(CFLAGS_libxenctrl) $(CFLAGS_libxenguest) $(CFLAGS_libxenstore) $(CFLAGS_libblktapctl) diff -r 24a1b866b2d1 -r 8545cbf7f513 tools/libxl/libxl.c --- a/tools/libxl/libxl.c Mon Jul 12 14:56:37 2010 +0100 +++ b/tools/libxl/libxl.c Mon Jul 12 14:56:37 2010 +0100 @@ -523,7 +523,7 @@ path = libxl_sprintf(ctx, "/local/domain/0/device-model/%d/state", domid); state = libxl_xs_read(ctx, XBT_NULL, path); if (state != NULL && !strcmp(state, "paused")) { - libxl_xs_write(ctx, XBT_NULL, libxl_sprintf(ctx, "/local/domain/0/device-model/%d/command", domid), "continue", strlen("continue")); + libxl_xs_write(ctx, XBT_NULL, libxl_sprintf(ctx, "/local/domain/0/device-model/%d/command", domid), "continue"); libxl_wait_for_device_model(ctx, domid, "running", NULL, NULL); } } @@ -2663,7 +2663,7 @@ } if (domid != 0) - libxl_xs_write(ctx, XBT_NULL, libxl_sprintf(ctx, "%s/memory/static-max", dompath), "%lu", max_memkb); + libxl_xs_write(ctx, XBT_NULL, libxl_sprintf(ctx, "%s/memory/static-max", dompath), "%"PRIu32, max_memkb); return 0; } @@ -2702,14 +2702,14 @@ videoram_s = libxl_xs_read(ctx, XBT_NULL, libxl_sprintf(ctx, "%s/memory/videoram", dompath)); videoram = videoram_s ? atoi(videoram_s) : 0; - libxl_xs_write(ctx, XBT_NULL, libxl_sprintf(ctx, "%s/memory/target", dompath), "%lu", target_memkb); + libxl_xs_write(ctx, XBT_NULL, libxl_sprintf(ctx, "%s/memory/target", dompath), "%"PRIu32, target_memkb); rc = xc_domain_getinfolist(ctx->xch, domid, 1, &info); if (rc != 1 || info.domain != domid) return rc; xcinfo2xlinfo(&info, &ptr); uuid = libxl_uuid2string(ctx, ptr.uuid); - libxl_xs_write(ctx, XBT_NULL, libxl_sprintf(ctx, "/vm/%s/memory", uuid), "%lu", target_memkb / 1024); + libxl_xs_write(ctx, XBT_NULL, libxl_sprintf(ctx, "/vm/%s/memory", uuid), "%"PRIu32, target_memkb / 1024); if (enforce || !domid) memorykb = target_memkb; diff -r 24a1b866b2d1 -r 8545cbf7f513 tools/libxl/libxl_dom.c --- a/tools/libxl/libxl_dom.c Mon Jul 12 14:56:37 2010 +0100 +++ b/tools/libxl/libxl_dom.c Mon Jul 12 14:56:37 2010 +0100 @@ -247,7 +247,7 @@ return 1; } path = libxl_sprintf(si->ctx, "%s/control/shutdown", libxl_xs_get_dompath(si->ctx, si->domid)); - libxl_xs_write(si->ctx, XBT_NULL, path, "suspend", strlen("suspend")); + libxl_xs_write(si->ctx, XBT_NULL, path, "suspend"); if (si->hvm) { unsigned long hvm_pvdrv, hvm_s_state; xc_get_hvm_param(si->ctx->xch, si->domid, HVM_PARAM_CALLBACK_IRQ, &hvm_pvdrv); @@ -275,7 +275,7 @@ } if (!strcmp(state, "suspend")) { XL_LOG(si->ctx, XL_LOG_ERROR, "guest didn't suspend in time"); - libxl_xs_write(si->ctx, XBT_NULL, path, "", 1); + libxl_xs_write(si->ctx, XBT_NULL, path, ""); } return 1; } @@ -338,7 +338,7 @@ char *filename = libxl_sprintf(ctx, "/var/lib/xen/qemu-save.%d", domid); XL_LOG(ctx, XL_LOG_DEBUG, "Saving device model state to %s", filename); - libxl_xs_write(ctx, XBT_NULL, libxl_sprintf(ctx, "/local/domain/0/device-model/%d/command", domid), "save", strlen("save")); + libxl_xs_write(ctx, XBT_NULL, libxl_sprintf(ctx, "/local/domain/0/device-model/%d/command", domid), "save"); libxl_wait_for_device_model(ctx, domid, "paused", NULL, NULL); c = libxl_write_exactly(ctx, fd, QEMU_SIGNATURE, strlen(QEMU_SIGNATURE), diff -r 24a1b866b2d1 -r 8545cbf7f513 tools/libxl/libxl_internal.h --- a/tools/libxl/libxl_internal.h Mon Jul 12 14:56:37 2010 +0100 +++ b/tools/libxl/libxl_internal.h Mon Jul 12 14:56:37 2010 +0100 @@ -117,7 +117,7 @@ int libxl_xs_writev(struct libxl_ctx *ctx, xs_transaction_t t, char *dir, char **kvs); int libxl_xs_write(struct libxl_ctx *ctx, xs_transaction_t t, - char *path, char *fmt, ...); + char *path, char *fmt, ...) PRINTF_ATTRIBUTE(4, 5); char *libxl_xs_get_dompath(struct libxl_ctx *ctx, uint32_t domid); // logs errs char *libxl_xs_read(struct libxl_ctx *ctx, xs_transaction_t t, char *path); char **libxl_xs_directory(struct libxl_ctx *ctx, xs_transaction_t t, char *path, unsigned int *nb); _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |