diff options
Diffstat (limited to 'gdb/p-typeprint.c')
-rw-r--r-- | gdb/p-typeprint.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/gdb/p-typeprint.c b/gdb/p-typeprint.c index 54a761d464a..5ac3bc5431a 100644 --- a/gdb/p-typeprint.c +++ b/gdb/p-typeprint.c @@ -153,7 +153,7 @@ pascal_type_print_derivation_info (struct ui_file *stream, struct type *type) /* Print the Pascal method arguments ARGS to the file STREAM. */ void -pascal_type_print_method_args (char *physname, char *methodname, +pascal_type_print_method_args (const char *physname, const char *methodname, struct ui_file *stream) { int is_constructor = (strncmp (physname, "__ct__", 6) == 0); @@ -173,8 +173,7 @@ pascal_type_print_method_args (char *physname, char *methodname, while (isdigit (physname[0])) { int len = 0; - int i; - char storec; + int i, j; char *argname; while (isdigit (physname[len])) @@ -183,10 +182,11 @@ pascal_type_print_method_args (char *physname, char *methodname, } i = strtol (physname, &argname, 0); physname += len; - storec = physname[i]; - physname[i] = 0; + + for (j = 0; j < i; ++j) + fputc_filtered (physname[i], stream); fputs_filtered (physname, stream); - physname[i] = storec; + physname += i; if (physname[0] != 0) { @@ -638,7 +638,7 @@ pascal_type_print_base (struct type *type, struct ui_file *stream, int show, It might work for GNU pascal. */ for (j = 0; j < len2; j++) { - char *physname = TYPE_FN_FIELD_PHYSNAME (f, j); + const char *physname = TYPE_FN_FIELD_PHYSNAME (f, j); int is_constructor = (strncmp (physname, "__ct__", 6) == 0); int is_destructor = (strncmp (physname, "__dt__", 6) == 0); |