From patchwork Tue Jul 22 18:55:18 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Tromey X-Patchwork-Id: 2143 Received: (qmail 26791 invoked by alias); 22 Jul 2014 18:55:41 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 26731 invoked by uid 89); 22 Jul 2014 18:55:40 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.8 required=5.0 tests=AWL, BAYES_00, RP_MATCHES_RCVD, SPF_HELO_PASS, SPF_PASS autolearn=ham version=3.3.2 X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Tue, 22 Jul 2014 18:55:38 +0000 Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s6MItbxJ006833 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 22 Jul 2014 14:55:37 -0400 Received: from barimba.redhat.com (ovpn-113-154.phx2.redhat.com [10.3.113.154]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s6MItMWb000387; Tue, 22 Jul 2014 14:55:36 -0400 From: Tom Tromey To: gdb-patches@sourceware.org Cc: Tom Tromey Subject: [PATCH 12/13] constify command docs Date: Tue, 22 Jul 2014 12:55:18 -0600 Message-Id: <1406055319-26380-13-git-send-email-tromey@redhat.com> In-Reply-To: <1406055319-26380-1-git-send-email-tromey@redhat.com> References: <1406055319-26380-1-git-send-email-tromey@redhat.com> This makes the command "doc" parameter const. 2014-07-22 Tom Tromey * cli/cli-decode.c (add_cmd, add_prefix_cmd) (add_abbrev_prefix_cmd, add_set_or_show_cmd, add_info) (add_info_alias, add_com): Make "doc" const. (print_doc_line): Make "str" const. (delete_cmd): Update. * cli/cli-decode.h (struct cmd_list_element) : Now const. (print_doc_line): Update. * cli/cli-script.c (document_command): Update. * command.h (add_cmd, add_prefix_cmd, add_abbrev_prefix_cmd) (add_com, add_info, add_info_alias): Update. * guile/scm-cmd.c (cmdscm_destroyer): Update. * python/py-cmd.c (cmdpy_destroyer): Update. --- gdb/ChangeLog | 15 +++++++++++++++ gdb/cli/cli-decode.c | 20 ++++++++++---------- gdb/cli/cli-decode.h | 4 ++-- gdb/cli/cli-script.c | 13 ++++++++----- gdb/command.h | 13 +++++++------ gdb/guile/scm-cmd.c | 2 +- gdb/python/py-cmd.c | 2 +- gdb/value.c | 2 +- 8 files changed, 45 insertions(+), 26 deletions(-) diff --git a/gdb/cli/cli-decode.c b/gdb/cli/cli-decode.c index 622cf5f..819aea8 100644 --- a/gdb/cli/cli-decode.c +++ b/gdb/cli/cli-decode.c @@ -183,7 +183,7 @@ set_cmd_completer (struct cmd_list_element *cmd, completer_ftype *completer) struct cmd_list_element * add_cmd (const char *name, enum command_class class, cmd_cfunc_ftype *fun, - char *doc, struct cmd_list_element **list) + const char *doc, struct cmd_list_element **list) { struct cmd_list_element *c = (struct cmd_list_element *) xmalloc (sizeof (struct cmd_list_element)); @@ -329,7 +329,7 @@ add_alias_cmd (const char *name, const char *oldname, enum command_class class, struct cmd_list_element * add_prefix_cmd (const char *name, enum command_class class, cmd_cfunc_ftype *fun, - char *doc, struct cmd_list_element **prefixlist, + const char *doc, struct cmd_list_element **prefixlist, const char *prefixname, int allow_unknown, struct cmd_list_element **list) { @@ -356,7 +356,7 @@ add_prefix_cmd (const char *name, enum command_class class, struct cmd_list_element * add_abbrev_prefix_cmd (const char *name, enum command_class class, - cmd_cfunc_ftype *fun, char *doc, + cmd_cfunc_ftype *fun, const char *doc, struct cmd_list_element **prefixlist, const char *prefixname, int allow_unknown, struct cmd_list_element **list) @@ -398,7 +398,7 @@ add_set_or_show_cmd (const char *name, enum command_class class, var_types var_type, void *var, - char *doc, + const char *doc, struct cmd_list_element **list) { struct cmd_list_element *c = add_cmd (name, class, NULL, doc, list); @@ -805,7 +805,7 @@ delete_cmd (const char *name, struct cmd_list_element **list, if (iter->hookee_post) iter->hookee_post->hook_post = 0; if (iter->doc && iter->doc_allocated) - xfree (iter->doc); + xfree ((char *) iter->doc); *posthook = iter->hook_post; *posthookee = iter->hookee_post; @@ -846,7 +846,7 @@ delete_cmd (const char *name, struct cmd_list_element **list, /* Add an element to the list of info subcommands. */ struct cmd_list_element * -add_info (const char *name, cmd_cfunc_ftype *fun, char *doc) +add_info (const char *name, cmd_cfunc_ftype *fun, const char *doc) { return add_cmd (name, no_class, fun, doc, &infolist); } @@ -854,7 +854,7 @@ add_info (const char *name, cmd_cfunc_ftype *fun, char *doc) /* Add an alias to the list of info subcommands. */ struct cmd_list_element * -add_info_alias (const char *name, char *oldname, int abbrev_flag) +add_info_alias (const char *name, const char *oldname, int abbrev_flag) { return add_alias_cmd (name, oldname, 0, abbrev_flag, &infolist); } @@ -863,7 +863,7 @@ add_info_alias (const char *name, char *oldname, int abbrev_flag) struct cmd_list_element * add_com (const char *name, enum command_class class, cmd_cfunc_ftype *fun, - char *doc) + const char *doc) { return add_cmd (name, class, fun, doc, &cmdlist); } @@ -1111,11 +1111,11 @@ help_all (struct ui_file *stream) /* Print only the first line of STR on STREAM. */ void -print_doc_line (struct ui_file *stream, char *str) +print_doc_line (struct ui_file *stream, const char *str) { static char *line_buffer = 0; static int line_size; - char *p; + const char *p; if (!line_buffer) { diff --git a/gdb/cli/cli-decode.h b/gdb/cli/cli-decode.h index 1ddafd3..865d4a0 100644 --- a/gdb/cli/cli-decode.h +++ b/gdb/cli/cli-decode.h @@ -128,7 +128,7 @@ struct cmd_list_element First line is brief documentation; remaining lines form, with it, the full documentation. First line should end with a period. Entire string should also end with a period, not a newline. */ - char *doc; + const char *doc; /* For set/show commands. A method for printing the output to the specified stream. */ @@ -229,7 +229,7 @@ extern void not_just_help_class_command (char *arg, int from_tty); /* Exported to cli/cli-setshow.c */ -extern void print_doc_line (struct ui_file *, char *); +extern void print_doc_line (struct ui_file *, const char *); extern const char * const auto_boolean_enums[]; diff --git a/gdb/cli/cli-script.c b/gdb/cli/cli-script.c index 1147073..fbcc2dd 100644 --- a/gdb/cli/cli-script.c +++ b/gdb/cli/cli-script.c @@ -1611,24 +1611,27 @@ document_command (char *comname, int from_tty) doclines = read_command_lines (tmpbuf, from_tty, 0, 0, 0); if (c->doc) - xfree (c->doc); + xfree ((char *) c->doc); { struct command_line *cl1; int len = 0; + char *doc; for (cl1 = doclines; cl1; cl1 = cl1->next) len += strlen (cl1->line) + 1; - c->doc = (char *) xmalloc (len + 1); - *c->doc = 0; + doc = (char *) xmalloc (len + 1); + *doc = 0; for (cl1 = doclines; cl1; cl1 = cl1->next) { - strcat (c->doc, cl1->line); + strcat (doc, cl1->line); if (cl1->next) - strcat (c->doc, "\n"); + strcat (doc, "\n"); } + + c->doc = doc; } free_command_lines (&doclines); diff --git a/gdb/command.h b/gdb/command.h index e676237..4ac3bfb 100644 --- a/gdb/command.h +++ b/gdb/command.h @@ -123,7 +123,7 @@ extern int valid_user_defined_cmd_name_p (const char *name); extern struct cmd_list_element *add_cmd (const char *, enum command_class, cmd_cfunc_ftype *fun, - char *, + const char *, struct cmd_list_element **); extern struct cmd_list_element *add_alias_cmd (const char *, const char *, @@ -132,7 +132,7 @@ extern struct cmd_list_element *add_alias_cmd (const char *, const char *, extern struct cmd_list_element *add_prefix_cmd (const char *, enum command_class, cmd_cfunc_ftype *fun, - char *, + const char *, struct cmd_list_element **, const char *, int, struct cmd_list_element **); @@ -140,7 +140,7 @@ extern struct cmd_list_element *add_prefix_cmd (const char *, enum command_class extern struct cmd_list_element *add_abbrev_prefix_cmd (const char *, enum command_class, cmd_cfunc_ftype *fun, - char *, + const char *, struct cmd_list_element **, const char *, int, struct cmd_list_element @@ -205,16 +205,17 @@ extern int lookup_cmd_composition (const char *text, extern struct cmd_list_element *add_com (const char *, enum command_class, cmd_cfunc_ftype *fun, - char *); + const char *); extern struct cmd_list_element *add_com_alias (const char *, const char *, enum command_class, int); extern struct cmd_list_element *add_info (const char *, cmd_cfunc_ftype *fun, - char *); + const char *); -extern struct cmd_list_element *add_info_alias (const char *, char *, int); +extern struct cmd_list_element *add_info_alias (const char *, const char *, + int); extern VEC (char_ptr) *complete_on_cmdlist (struct cmd_list_element *, const char *, const char *, int); diff --git a/gdb/guile/scm-cmd.c b/gdb/guile/scm-cmd.c index 7b8e3a5..54bed2c 100644 --- a/gdb/guile/scm-cmd.c +++ b/gdb/guile/scm-cmd.c @@ -290,7 +290,7 @@ cmdscm_destroyer (struct cmd_list_element *self, void *context) /* We allocated the name, doc string, and perhaps the prefix name. */ xfree ((char *) self->name); - xfree (self->doc); + xfree ((char *) self->doc); xfree ((char *) self->prefixname); } diff --git a/gdb/python/py-cmd.c b/gdb/python/py-cmd.c index f8f1f05..21f2a20 100644 --- a/gdb/python/py-cmd.c +++ b/gdb/python/py-cmd.c @@ -108,7 +108,7 @@ cmdpy_destroyer (struct cmd_list_element *self, void *context) /* We allocated the name, doc string, and perhaps the prefix name. */ xfree ((char *) self->name); - xfree (self->doc); + xfree ((char *) self->doc); xfree ((char *) self->prefixname); do_cleanups (cleanup); diff --git a/gdb/value.c b/gdb/value.c index 29abe5f..83a2854 100644 --- a/gdb/value.c +++ b/gdb/value.c @@ -2312,7 +2312,7 @@ static void function_destroyer (struct cmd_list_element *self, void *ignore) { xfree ((char *) self->name); - xfree (self->doc); + xfree ((char *) self->doc); } /* Add a new internal function. NAME is the name of the function; DOC