From d2929fdcf05bb14dc2484ee6918dbf67c5b46d75 Mon Sep 17 00:00:00 2001 From: Doug Evans Date: Fri, 6 Jun 2014 15:57:03 -0700 Subject: Add support for guile 2.0.5. * guile/guile-internal.h (gdbscm_guile_major_version): Declare. (gdbscm_guile_minor_version, gdbscm_guile_micro_version): Declare. (gdbscm_guile_version_is_at_least): Declare. (gdbscm_scm_string_to_int): Declare. * guile/guile.c (gdbscm_guile_major_version): New global. (gdbscm_guile_minor_version, gdbscm_guile_micro_version): New globals. (guile_datadir): New static global. (gdbscm_guile_data_directory): New function. (initialize_scheme_side): Update. (misc_guile_functions): Add guile-data-directory. (initialize_gdb_module): Fetch guile version number. * guile/lib/gdb.scm: Remove call to add-to-load-path. * guile/lib/gdb/init.scm (%initialize!): Ditto. * guile/lib/gdb/boot.scm: Use guile-data-directory. * guile/scm-exception.c (gdbscm_print_exception_with_stack): Fix comments. * guile/scm-string.c (gdbscm_scm_string_to_int): New function. * guile/scm-utils.c (gdbscm_guile_version_is_at_least): New function. * guile/scm-value.c (gdbscm_value_to_string): Only call scm_port_conversion_strategy if Guile version >= 2.0.6. doc/ * guile.texi (Guile Configuration): Document guile-data-directory. --- gdb/guile/scm-string.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'gdb/guile/scm-string.c') diff --git a/gdb/guile/scm-string.c b/gdb/guile/scm-string.c index 25f1d67..3e3e015 100644 --- a/gdb/guile/scm-string.c +++ b/gdb/guile/scm-string.c @@ -25,6 +25,19 @@ #include "charset.h" #include "guile-internal.h" +/* Convert STRING to an int. + STRING must be a valid integer. */ + +int +gdbscm_scm_string_to_int (SCM string) +{ + char *s = scm_to_latin1_string (string); + int r = atoi (s); + + free (s); + return r; +} + /* Convert a C (latin1) string to an SCM string. "latin1" is chosen because Guile won't throw an exception. */ -- cgit v1.1