diff options
author | Keith Seitz <keiths@redhat.com> | 2012-11-10 20:18:58 +0000 |
---|---|---|
committer | Keith Seitz <keiths@redhat.com> | 2012-11-10 20:18:58 +0000 |
commit | 6cad06895668ad73b91161fc2c95f0b113bdb898 (patch) | |
tree | 0af4ae7e2b701d9a760f26f600ef5b5eb77b96d5 /gdb/testsuite/gdb.base/printcmds.c | |
parent | e3fa7da3f6f27b5da85c1f906f5f88cd73d3f1d9 (diff) | |
download | gdb-6cad06895668ad73b91161fc2c95f0b113bdb898.tar.gz |
PR gdb/14288
* c-valprint.c (c_val_print): For character arrays
with "print null" option on, print ellipses if
the output is truncated and the next character is not \000.
* valprint.c (MAX_WCHARS): Define.
(WCHAR_BUFLEN): Likewise.
(WCHAR_BUFLEN_MAX): Likewise.
(struct converted_character): New structure.
(count_next_character): New function.
(print_converted_chars_to_obstack): New function.
(generic_printstr): Rewrite using count_next_character
and print_converted_chars_to_obstack.
* gdb.base/printcmds.c: Add invalid_XXX globals
for repeated byte tests.
* gdb.base/printcmds.exp (test_repeat_bytes): New procedure.
* gdb.base/wchar.c (main): Add and construct a wchar_t
array with repeated characters.
* gdb.base/wchar.exp: Add repeated character tests.
Diffstat (limited to 'gdb/testsuite/gdb.base/printcmds.c')
-rw-r--r-- | gdb/testsuite/gdb.base/printcmds.c | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.base/printcmds.c b/gdb/testsuite/gdb.base/printcmds.c index 743734b4a5c..d80c13d95af 100644 --- a/gdb/testsuite/gdb.base/printcmds.c +++ b/gdb/testsuite/gdb.base/printcmds.c @@ -122,6 +122,98 @@ struct some_struct } }; +/* The following variables are used for testing byte repeat sequences. + The variable names are encoded: invalid_XYZ where: + X = start + Y = invalid + Z = end + + Each of X and Z can be "E" (empty), "S" (single), "L" (long single), + or "R" (repeat). + + Y can be either any of the above except "E" (otherwise there is nothing + to test). */ +char invalid_ESE[] = "\240"; +char invalid_SSE[] = "a\240"; +char invalid_LSE[] = "abaabbaaabbb\240"; +char invalid_RSE[] = "aaaaaaaaaaaaaaaaaaaa\240"; +char invalid_ESS[] = "\240c"; +char invalid_SSS[] = "a\240c"; +char invalid_LSS[] = "abaabbaaabbb\240c"; +char invalid_RSS[] = "aaaaaaaaaaaaaaaaaaaa\240c"; +char invalid_ESL[] = "\240cdccddcccddd"; +char invalid_SSL[] = "a\240cdccddcccddd"; +char invalid_LSL[] = "abaabbaaabbb\240cdccddcccddd"; +char invalid_RSL[] = "aaaaaaaaaaaaaaaaaaaa\240cdccddcccddd"; +char invalid_ESR[] = "\240cccccccccccccccccccc"; +char invalid_SSR[] = "a\240cccccccccccccccccccc"; +char invalid_LSR[] = "abaabbaaabbb\240cccccccccccccccccccc"; +char invalid_RSR[] = "aaaaaaaaaaaaaaaaaaaa\240cccccccccccccccccccc"; +char invalid_ELE[] = "\240\240\240\240"; +char invalid_SLE[] = "a\240\240\240\240"; +char invalid_LLE[] = "abaabbaaabbb\240\240\240\240"; +char invalid_RLE[] = "aaaaaaaaaaaaaaaaaaaa\240\240\240\240"; +char invalid_ELS[] = "\240\240\240\240c"; +char invalid_SLS[] = "a\240\240\240\240c"; +char invalid_LLS[] = "abaabbaaabbb\240\240\240\240c"; +char invalid_RLS[] = "aaaaaaaaaaaaaaaaaaaa\240\240\240\240c"; +char invalid_ELL[] = "\240\240\240\240cdccddcccddd"; +char invalid_SLL[] = "a\240\240\240\240cdccddcccddd"; +char invalid_LLL[] = "abaabbaaabbb\240\240\240\240cdccddcccddd"; +char invalid_RLL[] = "aaaaaaaaaaaaaaaaaaaa\240\240\240\240cdccddcccddd"; +char invalid_ELR[] = "\240\240\240\240cccccccccccccccccccc"; +char invalid_SLR[] = "a\240\240\240\240cccccccccccccccccccc"; +char invalid_LLR[] = "abaabbaaabbb\240\240\240\240cccccccccccccccccccc"; +char invalid_RLR[] = "aaaaaaaaaaaaaaaaaaaa\240\240\240\240cccccccccccccccccccc"; +char invalid_ERE[] = "" + "\240\240\240\240\240\240\240\240\240\240" + "\240\240\240\240\240\240\240\240\240\240"; +char invalid_LRE[] = "abaabbaaabbb" + "\240\240\240\240\240\240\240\240\240\240" + "\240\240\240\240\240\240\240\240\240\240"; +char invalid_RRE[] = "aaaaaaaaaaaaaaaaaaaa" + "\240\240\240\240\240\240\240\240\240\240" + "\240\240\240\240\240\240\240\240\240\240"; +char invalid_ERS[] = "" + "\240\240\240\240\240\240\240\240\240\240" + "\240\240\240\240\240\240\240\240\240\240c"; +char invalid_ERL[] = "" + "\240\240\240\240\240\240\240\240\240\240" + "\240\240\240\240\240\240\240\240\240\240cdccddcccddd"; +char invalid_ERR[] = "" + "\240\240\240\240\240\240\240\240\240\240" + "\240\240\240\240\240\240\240\240\240\240cccccccccccccccccccc"; +char invalid_SRE[] = "a" + "\240\240\240\240\240\240\240\240\240\240" + "\240\240\240\240\240\240\240\240\240\240"; +char invalid_SRS[] = "a" + "\240\240\240\240\240\240\240\240\240\240" + "\240\240\240\240\240\240\240\240\240\240c"; +char invalid_SRL[] = "a" + "\240\240\240\240\240\240\240\240\240\240" + "\240\240\240\240\240\240\240\240\240\240cdccddcccddd"; +char invalid_SRR[] = "a" + "\240\240\240\240\240\240\240\240\240\240" + "\240\240\240\240\240\240\240\240\240\240cccccccccccccccccccc"; +char invalid_LRS[] = "abaabbaaabbb" + "\240\240\240\240\240\240\240\240\240\240" + "\240\240\240\240\240\240\240\240\240\240c"; +char invalid_LRL[] = "abaabbaaabbb" + "\240\240\240\240\240\240\240\240\240\240" + "\240\240\240\240\240\240\240\240\240\240cdccddcccddd"; +char invalid_LRR[] = "abaabbaaabbb" + "\240\240\240\240\240\240\240\240\240\240" + "\240\240\240\240\240\240\240\240\240\240cccccccccccccccccccc"; +char invalid_RRS[] = "aaaaaaaaaaaaaaaaaaaa" + "\240\240\240\240\240\240\240\240\240\240" + "\240\240\240\240\240\240\240\240\240\240c"; +char invalid_RRL[] = "aaaaaaaaaaaaaaaaaaaa" + "\240\240\240\240\240\240\240\240\240\240" + "\240\240\240\240\240\240\240\240\240\240cdccddcccddd"; +char invalid_RRR[] = "aaaaaaaaaaaaaaaaaaaa" + "\240\240\240\240\240\240\240\240\240\240" + "\240\240\240\240\240\240\240\240\240\240cccccccccccccccccccc"; + /* -- */ int main () |