# HG changeset patch # User Ian Jackson <Ian.Jackson@eu.citrix.com> # Date 1289235914 0 # Node ID 711cb42299000e7376ed1a8d987cd81da5f31238 # Parent 2c32482d8c90eb2b51c708fd770e19bbdfb5d2b6 tools: xl: more const-correctness The implementation of xl was lacking a lot of consts on its char*s. In this patch we improve matters. It doesn''t fix everything. In particular: * I only changed char*s and not other structs that ought to be const. * libxl_send_debug_keys should take a const char* but the pointer ends up getting sent to DECLARE_HYPERCALL_BOUNCE from xc_private.h and that won''t take a const char*. I wasn''t sure what to do so I have left it. * There is a great deal of in-place string tokenisation (both ad-hoc, and using strtok_r). I haven''t changed any of that. * I haven''t changed any of the occurrences of char **argv because of the castless assignment incompatibility between const char** and char **. Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com> diff -r 2c32482d8c90 -r 711cb4229900 tools/libxl/xl.h --- a/tools/libxl/xl.h Mon Nov 08 16:24:22 2010 +0000 +++ b/tools/libxl/xl.h Mon Nov 08 17:05:14 2010 +0000 @@ -86,7 +86,7 @@ int main_cpupoolcpuremove(int argc, char int main_cpupoolcpuremove(int argc, char **argv); int main_cpupoolmigrate(int argc, char **argv); -void help(char *command); +void help(const char *command); extern struct cmd_spec cmd_table[]; extern int cmdtable_len; diff -r 2c32482d8c90 -r 711cb4229900 tools/libxl/xl_cmdimpl.c --- a/tools/libxl/xl_cmdimpl.c Mon Nov 08 16:24:22 2010 +0000 +++ b/tools/libxl/xl_cmdimpl.c Mon Nov 08 17:05:14 2010 +0000 @@ -112,7 +112,7 @@ enum action_on_shutdown { ACTION_COREDUMP_RESTART, }; -static char *action_on_shutdown_names[] = { +static const char *action_on_shutdown_names[] = { [ACTION_DESTROY] = "destroy", [ACTION_RESTART] = "restart", @@ -1100,7 +1100,7 @@ skip_vfb: case 0: { int i; - char *errstr; + const char *errstr; for (i = 0; (buf = xlu_cfg_get_listitem(cpuids, i)) != NULL; i++) { e = libxl_cpuid_parse_config_xend(&b_info->cpuid, buf); @@ -1132,7 +1132,8 @@ skip_vfb: break; case EINVAL: /* config option is not a list, parse as a string */ if (!xlu_cfg_get_string(config, "cpuid", &buf)) { - char *buf2, *p, *errstr, *strtok_ptr = NULL; + char *buf2, *p, *strtok_ptr = NULL; + const char *errstr; buf2 = strdup(buf); p = strtok_r(buf2, ",", &strtok_ptr); @@ -1873,7 +1874,7 @@ waitpid_out: return ret; } -void help(char *command) +void help(const char *command) { int i; struct cmd_spec *cmd; @@ -1900,7 +1901,7 @@ void help(char *command) } } -static int64_t parse_mem_size_kb(char *mem) +static int64_t parse_mem_size_kb(const char *mem) { char *endptr; int64_t kbytes; @@ -1930,7 +1931,7 @@ static int64_t parse_mem_size_kb(char *m return kbytes; } -static int set_memory_max(char *p, char *mem) +static int set_memory_max(const char *p, const char *mem) { int64_t memorykb; int rc; @@ -1981,7 +1982,7 @@ int main_memmax(int argc, char **argv) return 0; } -static void set_memory_target(char *p, char *mem) +static void set_memory_target(const char *p, const char *mem) { long long int memorykb; @@ -1999,7 +2000,7 @@ int main_memset(int argc, char **argv) int main_memset(int argc, char **argv) { int opt = 0; - char *p = NULL, *mem; + const char *p = NULL, *mem; while ((opt = getopt(argc, argv, "h:")) != -1) { switch (opt) { @@ -2023,9 +2024,9 @@ int main_memset(int argc, char **argv) return 0; } -static void cd_insert(char *dom, char *virtdev, char *phys) -{ - libxl_device_disk disk; +static void cd_insert(const char *dom, const char *virtdev, char *phys) +{ + libxl_device_disk disk; /* we don''t free disk''s contents */ char *p; find_domain(dom); @@ -2054,7 +2055,7 @@ static void cd_insert(char *dom, char *v disk.physpath = NULL; disk.phystype = 0; } - disk.virtpath = virtdev; + disk.virtpath = (char*)virtdev; disk.unpluggable = 1; disk.readwrite = 0; disk.is_cdrom = 1; @@ -2065,7 +2066,7 @@ int main_cd_eject(int argc, char **argv) int main_cd_eject(int argc, char **argv) { int opt = 0; - char *p = NULL, *virtdev; + const char *p = NULL, *virtdev; while ((opt = getopt(argc, argv, "hn:")) != -1) { switch (opt) { @@ -2092,7 +2093,8 @@ int main_cd_insert(int argc, char **argv int main_cd_insert(int argc, char **argv) { int opt = 0; - char *p = NULL, *file = NULL, *virtdev; + const char *p = NULL, *virtdev; + char *file = NULL; /* modified by cd_insert tokenising it */ while ((opt = getopt(argc, argv, "hn:")) != -1) { switch (opt) { @@ -2159,7 +2161,7 @@ int main_console(int argc, char **argv) return 1; } -static int vncviewer(const char *domain_spec, int autopass) +static int vncviewer(const const char *domain_spec, int autopass) { find_domain(domain_spec); libxl_vncviewer_exec(&ctx, domid, autopass); @@ -2238,7 +2240,7 @@ int main_pcilist_assignable(int argc, ch return 0; } -static void pcilist(char *dom) +static void pcilist(const char *dom) { libxl_device_pci *pcidevs; int num, i; @@ -2258,7 +2260,7 @@ int main_pcilist(int argc, char **argv) int main_pcilist(int argc, char **argv) { int opt; - char *domname = NULL; + const char *domname = NULL; while ((opt = getopt(argc, argv, "h")) != -1) { switch (opt) { @@ -2281,7 +2283,7 @@ int main_pcilist(int argc, char **argv) return 0; } -static void pcidetach(char *dom, char *bdf, int force) +static void pcidetach(const char *dom, const char *bdf, int force) { libxl_device_pci pcidev; @@ -2300,7 +2302,7 @@ int main_pcidetach(int argc, char **argv { int opt; int force = 0; - char *domname = NULL, *bdf = NULL; + const char *domname = NULL, *bdf = NULL; while ((opt = getopt(argc, argv, "hf")) != -1) { switch (opt) { @@ -2326,7 +2328,7 @@ int main_pcidetach(int argc, char **argv pcidetach(domname, bdf, force); return 0; } -static void pciattach(char *dom, char *bdf, char *vs) +static void pciattach(const char *dom, const char *bdf, const char *vs) { libxl_device_pci pcidev; @@ -2344,7 +2346,7 @@ int main_pciattach(int argc, char **argv int main_pciattach(int argc, char **argv) { int opt; - char *domname = NULL, *bdf = NULL, *vs = NULL; + const char *domname = NULL, *bdf = NULL, *vs = NULL; while ((opt = getopt(argc, argv, "h")) != -1) { switch (opt) { @@ -2371,19 +2373,19 @@ int main_pciattach(int argc, char **argv return 0; } -static void pause_domain(char *p) +static void pause_domain(const char *p) { find_domain(p); libxl_domain_pause(&ctx, domid); } -static void unpause_domain(char *p) +static void unpause_domain(const char *p) { find_domain(p); libxl_domain_unpause(&ctx, domid); } -static void destroy_domain(char *p) +static void destroy_domain(const char *p) { int rc; find_domain(p); @@ -2395,7 +2397,7 @@ static void destroy_domain(char *p) if (rc) { fprintf(stderr,"destroy failed (rc=%d)\n.",rc); exit(-1); } } -static void shutdown_domain(char *p, int wait) +static void shutdown_domain(const char *p, int wait) { int rc; @@ -2438,7 +2440,7 @@ static void shutdown_domain(char *p, int } } -static void reboot_domain(char *p) +static void reboot_domain(const char *p) { int rc; find_domain(p); @@ -2521,7 +2523,7 @@ static void list_vm(void) free(info); } -static void save_domain_core_begin(char *domain_spec, +static void save_domain_core_begin(const char *domain_spec, const char *override_config_file, uint8_t **config_data_r, int *config_len_r) @@ -2586,7 +2588,7 @@ static void save_domain_core_writeconfig hdr.optional_data_len); } -static int save_domain(char *p, char *filename, int checkpoint, +static int save_domain(const char *p, const char *filename, int checkpoint, const char *override_config_file) { int fd; @@ -2703,7 +2705,7 @@ static void migration_child_report(pid_t migration_child = 0; } -static void migrate_domain(char *domain_spec, const char *rune, +static void migrate_domain(const char *domain_spec, const char *rune, const char *override_config_file) { pid_t child = -1; @@ -2978,8 +2980,8 @@ static void migrate_receive(int debug, i int main_restore(int argc, char **argv) { - char *checkpoint_file = NULL; - char *config_file = NULL; + const char *checkpoint_file = NULL; + const char *config_file = NULL; struct domain_create dom_info; int paused = 0, debug = 0, daemonize = 1, console_autoconnect = 0; int opt, rc; @@ -3066,7 +3068,7 @@ int main_migrate_receive(int argc, char int main_save(int argc, char **argv) { - char *filename = NULL, *p = NULL; + const char *filename = NULL, *p = NULL; const char *config_filename; int checkpoint = 0; int opt; @@ -3099,7 +3101,7 @@ int main_save(int argc, char **argv) int main_migrate(int argc, char **argv) { - char *p = NULL; + const char *p = NULL; const char *config_filename = NULL; const char *ssh_command = "ssh"; char *rune = NULL; @@ -3175,7 +3177,7 @@ int main_pause(int argc, char **argv) int main_pause(int argc, char **argv) { int opt; - char *p; + const char *p; while ((opt = getopt(argc, argv, "h")) != -1) { @@ -3202,7 +3204,7 @@ int main_unpause(int argc, char **argv) int main_unpause(int argc, char **argv) { int opt; - char *p; + const char *p; while ((opt = getopt(argc, argv, "h")) != -1) { @@ -3229,7 +3231,7 @@ int main_destroy(int argc, char **argv) int main_destroy(int argc, char **argv) { int opt; - char *p; + const char *p; while ((opt = getopt(argc, argv, "h")) != -1) { switch (opt) { @@ -3256,7 +3258,7 @@ int main_shutdown(int argc, char **argv) { int opt; int wait = 0; - char *p; + const char *p; while ((opt = getopt(argc, argv, "hw")) != -1) { switch (opt) { @@ -3285,7 +3287,7 @@ int main_reboot(int argc, char **argv) int main_reboot(int argc, char **argv) { int opt; - char *p; + const char *p; while ((opt = getopt(argc, argv, "h")) != -1) { switch (opt) { @@ -3401,8 +3403,9 @@ int main_list_vm(int argc, char **argv) int main_create(int argc, char **argv) { - char *filename = NULL; - char *p, extra_config[1024]; + const char *filename = NULL; + char *p; + char extra_config[1024]; struct domain_create dom_info; int paused = 0, debug = 0, daemonize = 1, console_autoconnect = 0, dryrun = 0, quiet = 0; @@ -3483,7 +3486,7 @@ int main_create(int argc, char **argv) return 0; } -static void button_press(char *p, char *b) +static void button_press(const char *p, const char *b) { libxl_button button; @@ -3504,8 +3507,8 @@ int main_button_press(int argc, char **a int main_button_press(int argc, char **argv) { int opt; - char *p; - char *b; + const char *p; + const char *b; while ((opt = getopt(argc, argv, "h")) != -1) { switch (opt) { @@ -3675,7 +3678,7 @@ int main_vcpulist(int argc, char **argv) return 0; } -static void vcpupin(char *d, const char *vcpu, char *cpu) +static void vcpupin(const char *d, const char *vcpu, char *cpu) { libxl_vcpuinfo *vcpuinfo; libxl_cpumap cpumap; @@ -3771,7 +3774,7 @@ int main_vcpupin(int argc, char **argv) return 0; } -static void vcpuset(char *d, char* nr_vcpus) +static void vcpuset(const char *d, const char* nr_vcpus) { char *endptr; unsigned int max_vcpus, i; @@ -3978,7 +3981,7 @@ int main_sched_credit(int argc, char **a libxl_dominfo *info; libxl_sched_credit scinfo; int nb_domain, i; - char *dom = NULL; + const char *dom = NULL; int weight = 256, cap = 0, opt_w = 0, opt_c = 0; int opt, rc; @@ -4050,7 +4053,7 @@ int main_domid(int argc, char **argv) int main_domid(int argc, char **argv) { int opt; - char *domname = NULL; + const char *domname = NULL; while ((opt = getopt(argc, argv, "h")) != -1) { switch (opt) { @@ -4124,8 +4127,8 @@ int main_rename(int argc, char **argv) int main_rename(int argc, char **argv) { int opt; - char *dom; - char *new_name; + const char *dom; + const char *new_name; while ((opt = getopt(argc, argv, "h")) != -1) { switch (opt) { @@ -4161,7 +4164,7 @@ int main_trigger(int argc, char **argv) int opt; char *trigger_name = NULL; char *endptr = NULL; - char *dom = NULL; + const char *dom = NULL; int vcpuid = 0; while ((opt = getopt(argc, argv, "h")) != -1) { @@ -4202,8 +4205,8 @@ int main_sysrq(int argc, char **argv) int main_sysrq(int argc, char **argv) { int opt; - char *sysrq = NULL; - char *dom = NULL; + const char *sysrq = NULL; + const char *dom = NULL; while ((opt = getopt(argc, argv, "h")) != -1) { switch (opt) { @@ -4323,7 +4326,8 @@ int main_networkattach(int argc, char ** { int opt; libxl_device_nic nic; - char *endptr, *tok; + char *endptr; + const char *tok; int i; unsigned int val; @@ -4499,7 +4503,7 @@ int main_blockattach(int argc, char **ar int main_blockattach(int argc, char **argv) { int opt; - char *tok; + const char *tok; uint32_t fe_domid, be_domid = 0; libxl_device_disk disk = { 0 }; @@ -4654,8 +4658,9 @@ int main_network2attach(int argc, char * int main_network2attach(int argc, char **argv) { int opt; - char *tok, *endptr; - char *back_dom = NULL; + const char *tok; + char *endptr; + const char *back_dom = NULL; uint32_t domid, back_domid; unsigned int val, i; libxl_device_net2 net2; @@ -4987,7 +4992,7 @@ static void print_uptime(int short_mode, int main_uptime(int argc, char **argv) { - char *dom = NULL; + const char *dom = NULL; int short_mode = 0; uint32_t domains[100]; int nb_doms = 0; @@ -5019,7 +5024,7 @@ int main_uptime(int argc, char **argv) int main_tmem_list(int argc, char **argv) { - char *dom = NULL; + const char *dom = NULL; char *buf = NULL; int use_long = 0; int all = 0; @@ -5065,7 +5070,7 @@ int main_tmem_list(int argc, char **argv int main_tmem_freeze(int argc, char **argv) { - char *dom = NULL; + const char *dom = NULL; int all = 0; int opt; @@ -5101,7 +5106,7 @@ int main_tmem_freeze(int argc, char **ar int main_tmem_destroy(int argc, char **argv) { - char *dom = NULL; + const char *dom = NULL; int all = 0; int opt; @@ -5137,7 +5142,7 @@ int main_tmem_destroy(int argc, char **a int main_tmem_thaw(int argc, char **argv) { - char *dom = NULL; + const char *dom = NULL; int all = 0; int opt; @@ -5173,7 +5178,7 @@ int main_tmem_thaw(int argc, char **argv int main_tmem_set(int argc, char **argv) { - char *dom = NULL; + const char *dom = NULL; uint32_t weight = 0, cap = 0, compress = 0; int opt_w = 0, opt_c = 0, opt_p = 0; int all = 0; @@ -5235,9 +5240,9 @@ int main_tmem_set(int argc, char **argv) int main_tmem_shared_auth(int argc, char **argv) { - char *autharg = NULL; + const char *autharg = NULL; char *endptr = NULL; - char *dom = NULL; + const char *dom = NULL; char *uuid = NULL; int auth = -1; int all = 0; @@ -5318,8 +5323,9 @@ int main_tmem_freeable(int argc, char ** int main_cpupoolcreate(int argc, char **argv) { - char *filename = NULL; - char *p, extra_config[1024]; + const const char *filename = NULL; + const char *p; + char extra_config[1024]; int dryrun = 0; int opt; int option_index = 0; @@ -5334,7 +5340,8 @@ int main_cpupoolcreate(int argc, char ** int config_len = 0; XLU_Config *config; const char *buf; - char *name, *sched; + char *name; + const char *sched; uint32_t poolid; int schedid = -1; XLU_ConfigList *cpus; @@ -5508,7 +5515,7 @@ int main_cpupoollist(int argc, char **ar }; int opt_long = 0; int opt_cpus = 0; - char *pool = NULL; + const char *pool = NULL; libxl_cpupoolinfo *poolinfo; int n_pools, p, c, n; uint32_t poolid; @@ -5598,7 +5605,7 @@ int main_cpupooldestroy(int argc, char * int main_cpupooldestroy(int argc, char **argv) { int opt; - char *pool; + const char *pool; uint32_t poolid; while ((opt = getopt(argc, argv, "h")) != -1) { @@ -5631,7 +5638,7 @@ int main_cpupoolcpuadd(int argc, char ** int main_cpupoolcpuadd(int argc, char **argv) { int opt; - char *pool; + const char *pool; uint32_t poolid; int cpu; @@ -5672,7 +5679,7 @@ int main_cpupoolcpuremove(int argc, char int main_cpupoolcpuremove(int argc, char **argv) { int opt; - char *pool; + const char *pool; uint32_t poolid; int cpu; @@ -5713,9 +5720,9 @@ int main_cpupoolmigrate(int argc, char * int main_cpupoolmigrate(int argc, char **argv) { int opt; - char *pool; - uint32_t poolid; - char *dom; + const char *pool; + uint32_t poolid; + const char *dom; uint32_t domid; while ((opt = getopt(argc, argv, "h")) != -1) { _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Ian Jackson
2010-Nov-09 12:00 UTC
[Xen-devel] Re: [PATCH] tools: xl: more const-correctness
I wrote:> tools: xl: more const-correctnessLooks like I was a bit over-enthusiastic: # HG changeset patch # User Ian Jackson <Ian.Jackson@eu.citrix.com> # Date 1289304005 0 # Node ID 7188d1e4b0e1ce409912dfa6d17f853720959053 # Parent cf7a126298fb8d16c564592bb95d18b7dca0a633 tools: libxl: Fix some "const const"s introduced in 711cb4229900 Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com> diff -r cf7a126298fb -r 7188d1e4b0e1 tools/libxl/xl_cmdimpl.c --- a/tools/libxl/xl_cmdimpl.c Tue Nov 09 11:50:37 2010 +0000 +++ b/tools/libxl/xl_cmdimpl.c Tue Nov 09 12:00:05 2010 +0000 @@ -2161,7 +2161,7 @@ int main_console(int argc, char **argv) return 1; } -static int vncviewer(const const char *domain_spec, int autopass) +static int vncviewer(const char *domain_spec, int autopass) { find_domain(domain_spec); libxl_vncviewer_exec(&ctx, domid, autopass); @@ -5323,7 +5323,7 @@ int main_tmem_freeable(int argc, char ** int main_cpupoolcreate(int argc, char **argv) { - const const char *filename = NULL; + const char *filename = NULL; const char *p; char extra_config[1024]; int dryrun = 0; _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel