From f1bf2a86a69f93a03844a5fdf3ff97187556fdf7 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 9 Mar 2017 14:55:33 +0000 Subject: [PATCH 21/26] wrestool: Const-correctness in command line argument handling. Signed-off-by: Richard W.M. Jones --- wrestool/extract.c | 2 +- wrestool/main.c | 30 +++++++++++++++--------------- wrestool/restable.c | 18 +++++++++--------- wrestool/wrestool.h | 6 +++--- 4 files changed, 28 insertions(+), 28 deletions(-) diff --git a/wrestool/extract.c b/wrestool/extract.c index e1140a3..0044ce0 100644 --- a/wrestool/extract.c +++ b/wrestool/extract.c @@ -39,7 +39,7 @@ extract_resources_callback (WinLibrary *fi, WinResource *wr, size_t size; bool free_it; void *memory; - char *outname; + const char *outname; FILE *out; memory = extract_resource(fi, wr, &size, &free_it, type_wr->id, (lang_wr == NULL ? NULL : lang_wr->id), arg_raw); diff --git a/wrestool/main.c b/wrestool/main.c index 218bbbd..4c33ba9 100644 --- a/wrestool/main.c +++ b/wrestool/main.c @@ -47,12 +47,12 @@ const char version_etc_copyright[] = "Copyright (C) 1998 Oskar Liljeblad"; bool arg_raw; static FILE *verbose_file; static int arg_verbosity; -static char *arg_output; -static char *arg_type; -static char *arg_name; -static char *arg_language; +static const char *arg_output; +static const char *arg_type; +static const char *arg_name; +static const char *arg_language; static int arg_action; -static char *res_types[] = { +static const char *res_types[] = { /* 0x01: */ "cursor", "bitmap", "icon", "menu", "dialog", "string", "fontdir", "font", "accelerator", "rcdata", "messagelist", @@ -64,14 +64,14 @@ static char *res_types[] = { }; #define RES_TYPE_COUNT ((int)(sizeof(res_types)/sizeof(char *))) -static char *res_type_string_to_id (char *); -static char *get_extract_extension (char *); +static const char *res_type_string_to_id (const char *); +static const char *get_extract_extension (const char *); /* res_type_id_to_string: * Translate a numeric resource type to it's corresponding string type. * (For informative-ness.) */ -char * +const char * res_type_id_to_string (int id) { if (id == 241) @@ -85,10 +85,10 @@ res_type_id_to_string (int id) * Translate a resource type string to integer. * (Used to convert the --type option.) */ -static char * -res_type_string_to_id (char *type) +static const char * +res_type_string_to_id (const char *type) { - static char *res_type_ids[] = { + static const char *res_type_ids[] = { "-1", "-2", "-3", "-4", "-5", "-6", "-7", "-8", "-9", "-10", "-11", "-12", NULL, "-14", NULL, "-16", "-17", NULL, "-19", "-20", "-21", "-22" @@ -110,8 +110,8 @@ res_type_string_to_id (char *type) * Return extension for files of a certain resource type * */ -static char * -get_extract_extension (char *type) +static const char * +get_extract_extension (const char *type) { uint16_t value; @@ -134,8 +134,8 @@ get_extract_extension (char *type) /* get_destination_name: * Make a filename for a resource that is to be extracted. */ -char * -get_destination_name (WinLibrary *fi, char *type, char *name, char *lang) +const char * +get_destination_name (WinLibrary *fi, const char *type, const char *name, const char *lang) { static char filename[1024]; diff --git a/wrestool/restable.c b/wrestool/restable.c index 1547979..df0ffd5 100644 --- a/wrestool/restable.c +++ b/wrestool/restable.c @@ -35,11 +35,11 @@ static WinResource *list_ne_type_resources (WinLibrary *, int *); static WinResource *list_ne_name_resources (WinLibrary *, WinResource *, int *); static WinResource *list_pe_resources (WinLibrary *, Win32ImageResourceDirectory *, int, int *); static int calc_vma_size (WinLibrary *); -static void do_resources_recurs (WinLibrary *, WinResource *, WinResource *, WinResource *, WinResource *, char *, char *, char *, DoResourceCallback); +static void do_resources_recurs (WinLibrary *, WinResource *, WinResource *, WinResource *, WinResource *, const char *, const char *, const char *, DoResourceCallback); static char *get_resource_id_quoted (WinResource *); -static WinResource *find_with_resource_array(WinLibrary *, WinResource *, char *); +static WinResource *find_with_resource_array(WinLibrary *, WinResource *, const char *); static WinResource *list_resources (WinLibrary *fi, WinResource *res, int *count); -static bool compare_resource_id (WinResource *wr, char *id); +static bool compare_resource_id (WinResource *wr, const char *id); /* Check whether access to a PE_SECTIONS is allowed */ #define RETURN_IF_BAD_PE_SECTIONS(ret, module) \ @@ -53,7 +53,7 @@ static bool compare_resource_id (WinResource *wr, char *id); */ void -do_resources (WinLibrary *fi, char *type, char *name, char *lang, DoResourceCallback cb) +do_resources (WinLibrary *fi, const char *type, const char *name, const char *lang, DoResourceCallback cb) { WinResource *type_wr; WinResource *name_wr; @@ -77,8 +77,8 @@ do_resources (WinLibrary *fi, char *type, char *name, char *lang, DoResourceCall static void do_resources_recurs (WinLibrary *fi, WinResource *base, WinResource *type_wr, - WinResource *name_wr, WinResource *lang_wr, - char *type, char *name, char *lang, DoResourceCallback cb) + WinResource *name_wr, WinResource *lang_wr, + const char *type, const char *name, const char *lang, DoResourceCallback cb) { int c, rescnt; WinResource *wr; @@ -116,7 +116,7 @@ print_resources_callback (WinLibrary *fi, WinResource *wr, WinResource *type_wr, WinResource *name_wr, WinResource *lang_wr) { - char *type, *offset; + const char *type, *offset; int32_t id; size_t size; @@ -155,7 +155,7 @@ get_resource_id_quoted (WinResource *wr) } static bool -compare_resource_id (WinResource *wr, char *id) +compare_resource_id (WinResource *wr, const char *id) { if (wr->numeric_id) { int32_t cmp1, cmp2; @@ -518,7 +518,7 @@ calc_vma_size (WinLibrary *fi) } static WinResource * -find_with_resource_array(WinLibrary *fi, WinResource *wr, char *id) +find_with_resource_array(WinLibrary *fi, WinResource *wr, const char *id) { int c, rescnt; WinResource *return_wr; diff --git a/wrestool/wrestool.h b/wrestool/wrestool.h index e4bae73..a3543a3 100644 --- a/wrestool/wrestool.h +++ b/wrestool/wrestool.h @@ -93,13 +93,13 @@ typedef void (*DoResourceCallback) (WinLibrary *, WinResource *, WinResource *, bool read_library (WinLibrary *); WinResource *find_resource (WinLibrary *, const char *, const char *, const char *, int *); void *get_resource_entry (WinLibrary *, WinResource *, size_t *); -void do_resources (WinLibrary *, char *, char *, char *, DoResourceCallback); +void do_resources (WinLibrary *, const char *, const char *, const char *, DoResourceCallback); void print_resources_callback (WinLibrary *, WinResource *, WinResource *, WinResource *, WinResource *); /* bool compare_resource_id (WinResource *, char *); */ /* main.c */ -char *res_type_id_to_string (int); -char *get_destination_name (WinLibrary *, char *, char *, char *); +const char *res_type_id_to_string (int); +const char *get_destination_name (WinLibrary *, const char *, const char *, const char *); /* extract.c */ void *extract_resource (WinLibrary *, WinResource *, size_t *, bool *, char *, char *, bool); -- 2.10.2