From: Joel Brobecker <brobecker@adacore.com>
To: gdb-patches@sourceware.org
Cc: Joel Brobecker <brobecker@adacore.com>
Subject: [VxWorks 05/20] more parsing routines in cli/cli-utils
Date: Fri, 04 Mar 2011 06:22:00 -0000 [thread overview]
Message-ID: <1299219720-13398-6-git-send-email-brobecker@adacore.com> (raw)
In-Reply-To: <1299219720-13398-1-git-send-email-brobecker@adacore.com>
These are used to parse various messages received from the target
server, or to parse the output of some TCL commands. But they might
be useful to others as well.
gdb/ChangeLog:
* cli/cli-utils.h (skip_token, get_token): Add declarations.
* cli/cli-utils.c (skip_token, get_token): New functions.
---
gdb/cli/cli-utils.c | 33 +++++++++++++++++++++++++++++++++
gdb/cli/cli-utils.h | 16 ++++++++++++++++
2 files changed, 49 insertions(+), 0 deletions(-)
diff --git a/gdb/cli/cli-utils.c b/gdb/cli/cli-utils.c
index 133ac53..3e872b3 100644
--- a/gdb/cli/cli-utils.c
+++ b/gdb/cli/cli-utils.c
@@ -226,3 +226,36 @@ skip_to_space (char *chp)
chp++;
return chp;
}
+
+/* See documentation in cli-utils.h. */
+
+char *
+skip_token (char *chp)
+{
+ chp = skip_spaces (chp);
+ chp = skip_to_space (chp);
+ return chp;
+}
+
+/* See documentation in cli-utils.h. */
+
+char *
+get_token (char *chp, char **token)
+{
+ char *start;
+ char *end;
+ char tmp;
+
+ if (chp == NULL)
+ return NULL;
+
+ start = skip_spaces (chp);
+ end = skip_to_space (start);
+
+ tmp = *end;
+ *end = '\0';
+ *token = xstrdup (start);
+ *end = tmp;
+
+ return end;
+}
diff --git a/gdb/cli/cli-utils.h b/gdb/cli/cli-utils.h
index 8f0b46e..5f2fab9 100644
--- a/gdb/cli/cli-utils.h
+++ b/gdb/cli/cli-utils.h
@@ -65,4 +65,20 @@ extern char *skip_spaces (char *chp);
extern char *skip_to_space (char *chp);
+/* Skip the first space-delimited token in CHP, returning a pointer to
+ the character immediately following that token (either a whitespace,
+ or an end-of-line character). If CHP is NULL, return NULL. */
+
+extern char *skip_token (char *chp);
+
+/* Copy the first space-delimited token from CHP into TOKEN, and
+ return a pointer to the character immediately following that token
+ (either a whitespace, or an end-of-line character). If CHP is NULL,
+ then do nothing and return NULL.
+
+ The string containing the token is allocated on the heap, and
+ must be deallocated later. */
+
+extern char *get_token (char *chp, char **token);
+
#endif /* CLI_UTILS_H */
--
1.7.0.4
next prev parent reply other threads:[~2011-03-04 6:22 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-04 6:22 Add support for VxWorks (v3) Joel Brobecker
2011-03-04 6:22 ` [VxWorks 03/20] New toplevel_command_post observer Joel Brobecker
2011-03-04 6:22 ` [VxWorks 01/20] fix parameter names in cli/cli-utils.h Joel Brobecker
2011-03-04 6:22 ` [VxWorks 02/20] Some ada-lang/ada-tasks routines needed by the VxWorks target Joel Brobecker
2011-03-04 6:22 ` [VxWorks 04/20] New general purpose routines in utils.c Joel Brobecker
2011-03-04 6:22 ` Joel Brobecker [this message]
2011-03-04 6:23 ` [VxWorks 10/20] Add options to control Vxworks related settings Joel Brobecker
2011-03-04 6:23 ` [VxWorks 08/20] New modules gdb_dlfcn and remote-wtx-utils Joel Brobecker
2011-03-04 6:23 ` [VxWorks 06/20] add new "unload" command (symetry of existing "load" command) Joel Brobecker
2011-03-04 6:23 ` [VxWorks 07/20] new struct bp_target_info target_private_data field Joel Brobecker
2011-03-04 6:24 ` [VxWorks 09/20] remote-wtxapi: The WTX API abstraction layer Joel Brobecker
2011-03-04 6:24 ` [VxWorks 12/20] "multi-tasks-mode" support Joel Brobecker
2011-03-04 6:24 ` [VxWorks 14/20] remote-wtx-hw: register fetch/store support Joel Brobecker
2011-03-04 6:24 ` [VxWorks 11/20] VxWorks breakpoint-handling module Joel Brobecker
2011-03-04 6:24 ` [VxWorks 13/20] Add partition support Joel Brobecker
2011-03-04 6:25 ` [VxWorks 16/20] WTX-TCL support module Joel Brobecker
2011-03-04 6:25 ` [VxWorks 18/20] Add tdep files for x86 and powerpc Joel Brobecker
2011-03-04 6:25 ` [VxWorks 15/20] Add new "wtx" target Joel Brobecker
2011-03-04 6:25 ` [VxWorks 19/20] Configury and Makefile updates for VxWorks Joel Brobecker
2011-03-04 6:25 ` [VxWorks 17/20] Add support for VxWorks 6 Joel Brobecker
2011-03-04 6:25 ` [VxWorks 20/20] document the new VxWorks port Joel Brobecker
2011-03-04 9:36 ` Add support for VxWorks (v3) Pedro Alves
2011-03-04 10:05 ` Joel Brobecker
2011-03-04 10:45 ` Pedro Alves
2011-03-04 12:10 ` Joel Brobecker
2011-03-07 19:49 ` Tom Tromey
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1299219720-13398-6-git-send-email-brobecker@adacore.com \
--to=brobecker@adacore.com \
--cc=gdb-patches@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox