/* Scheme/Guile language support routines for GDB, the GNU debugger.
- Copyright 1995, 1996, 1998, 2000, 2001
- Free Software Foundation, Inc.
+
+ Copyright 1995, 1996, 1998, 2000, 2001, 2002, 2003 Free Software
+ Foundation, Inc.
This file is part of GDB.
#include "c-lang.h"
#include "scm-lang.h"
#include "scm-tags.h"
+#include "source.h"
#include "gdb_string.h"
#include "gdbcore.h"
unsigned int length, int width,
int force_ellipses);
-extern struct type **CONST_PTR (c_builtin_types[]);
+extern struct type **const (c_builtin_types[]);
struct type *builtin_type_scm;
or Boolean (CONTEXT == TYPE_CODE_BOOL). */
LONGEST
-scm_unpack (struct type *type, char *valaddr, enum type_code context)
+scm_unpack (struct type *type, const char *valaddr, enum type_code context)
{
if (is_scmvalue_type (type))
{
static int
in_eval_c (void)
{
- if (current_source_symtab && current_source_symtab->filename)
+ struct symtab_and_line cursal = get_current_source_symtab_and_line ();
+
+ if (cursal.symtab && cursal.symtab->filename)
{
- char *filename = current_source_symtab->filename;
+ char *filename = cursal.symtab->filename;
int len = strlen (filename);
if (len >= 6 && strcmp (filename + len - 6, "eval.c") == 0)
return 1;
static struct value *
scm_lookup_name (char *str)
{
- value_ptr args[3];
+ struct value *args[3];
int len = strlen (str);
struct value *func;
struct value *val;
(struct symtab **) NULL);
if (sym)
return value_of_variable (sym, NULL);
- error ("No symbol \"%s\" in current context.");
+ error ("No symbol \"%s\" in current context.", str);
}
struct value *