2002-11-19 Klee Dienes Adam Fedor * completer.c (skip_quoted_chars): Renamed from skip_chars. Add the ability to explicitly specify the quote characters and word break characters; if NULL is specified for either, use the old behavior of using the characters used by the completer. (skip_chars): New function. Convenience wrapper around skip_quoted_chars to provide the original skip_chars behavior. * completer.h (skip_quoted_chars): Add prototype. Index: completer.c =================================================================== RCS file: /cvs/src/src/gdb/completer.c,v retrieving revision 1.11 diff -u -r1.11 completer.c --- completer.c 24 Mar 2002 00:40:35 -0000 1.11 +++ completer.c 20 Nov 2002 08:52:45 -0000 @@ -678,16 +678,25 @@ return (output); } -/* Skip over a possibly quoted word (as defined by the quote characters - and word break characters the completer uses). Returns pointer to the - location after the "word". */ + +/* Skip over the possibly quoted word STR (as defined by the quote + characters QUOTECHARS and the the word break characters + BREAKCHARS). Returns pointer to the location after the "word". If + either QUOTECHARS or BREAKCHARS is NULL, use the same values used + by the completer. */ char * -skip_quoted (char *str) +skip_quoted_chars (char *str, char *quotechars, char *breakchars) { char quote_char = '\0'; char *scan; + if (quotechars == NULL) + quotechars = gdb_completer_quote_characters; + + if (breakchars == NULL) + breakchars = gdb_completer_word_break_characters; + for (scan = str; *scan != '\0'; scan++) { if (quote_char != '\0') @@ -700,16 +709,26 @@ break; } } - else if (strchr (gdb_completer_quote_characters, *scan)) + else if (strchr (quotechars, *scan)) { /* Found start of a quoted string. */ quote_char = *scan; } - else if (strchr (gdb_completer_word_break_characters, *scan)) + else if (strchr (breakchars, *scan)) { break; } } + return (scan); } +/* Skip over the possibly quoted word STR (as defined by the quote + characters and word break characters used by the completer). + Returns pointer to the location after the "word". */ + +char * +skip_quoted (char *str) +{ + return skip_quoted_chars (str, NULL, NULL); +} Index: completer.h =================================================================== RCS file: /cvs/src/src/gdb/completer.h,v retrieving revision 1.6 diff -u -r1.6 completer.h --- completer.h 18 Feb 2002 01:12:38 -0000 1.6 +++ completer.h 20 Nov 2002 08:52:45 -0000 @@ -39,6 +39,8 @@ /* Exported to linespec.c */ -extern char *skip_quoted (char *str); +extern char *skip_quoted_chars (char *, char *, char *); + +extern char *skip_quoted (char *); #endif /* defined (COMPLETER_H) */