diff options
Diffstat (limited to 'gdb/testsuite/gdb.base/callfuncs.c')
-rw-r--r-- | gdb/testsuite/gdb.base/callfuncs.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/gdb/testsuite/gdb.base/callfuncs.c b/gdb/testsuite/gdb.base/callfuncs.c index 0fdc2fe..9917e78 100644 --- a/gdb/testsuite/gdb.base/callfuncs.c +++ b/gdb/testsuite/gdb.base/callfuncs.c @@ -133,7 +133,12 @@ int t_structs_i (struct struct1 tstruct) { return (tstruct.i); } long t_structs_l (struct struct1 tstruct) { return (tstruct.l); } float t_structs_f (struct struct1 tstruct) { return (tstruct.f); } double t_structs_d (struct struct1 tstruct) { return (tstruct.d); } -char *t_structs_a (struct struct1 tstruct) { return (tstruct.a); } +char *t_structs_a (struct struct1 tstruct) +{ + static char buf[8]; + strcpy (buf, tstruct.a); + return buf; +} #else char t_structs_c (tstruct) struct struct1 tstruct; { return (tstruct.c); } short t_structs_s (tstruct) struct struct1 tstruct; { return (tstruct.s); } @@ -141,7 +146,12 @@ int t_structs_i (tstruct) struct struct1 tstruct; { return (tstruct.i); } long t_structs_l (tstruct) struct struct1 tstruct; { return (tstruct.l); } float t_structs_f (tstruct) struct struct1 tstruct; { return (tstruct.f); } double t_structs_d (tstruct) struct struct1 tstruct; { return (tstruct.d); } -char *t_structs_a (tstruct) struct struct1 tstruct; { return (tstruct.a); } +char *t_structs_a (tstruct) struct struct1 tstruct; +{ + static char buf[8]; + strcpy (buf, tstruct.a); + return buf; +} #endif /* Test that calling functions works if there are a lot of arguments. */ |