summaryrefslogtreecommitdiffstats
path: root/sys/ddb/db_sym.c
diff options
context:
space:
mode:
authordillon <dillon@FreeBSD.org>1999-01-27 19:00:49 +0000
committerdillon <dillon@FreeBSD.org>1999-01-27 19:00:49 +0000
commit153f359f37030efa351afc646b7c20ec86c43ec3 (patch)
tree7b67d66dc20193bb5e4d5f537705271a8e01d2d7 /sys/ddb/db_sym.c
parenta6a88d5c196f23f81a6ab6cd6c895263496f9c8d (diff)
downloadFreeBSD-src-153f359f37030efa351afc646b7c20ec86c43ec3.zip
FreeBSD-src-153f359f37030efa351afc646b7c20ec86c43ec3.tar.gz
Changes to support -Wall, -Wcast-qual. Had to make physical code changes
in db_lookup() to avoid the *cp = 0 / *cp = ':' combo ( temporary nul-terminate-then-restore-original ) on a const char * string.
Diffstat (limited to 'sys/ddb/db_sym.c')
-rw-r--r--sys/ddb/db_sym.c27
1 files changed, 15 insertions, 12 deletions
diff --git a/sys/ddb/db_sym.c b/sys/ddb/db_sym.c
index 8c5f91e..55db7be 100644
--- a/sys/ddb/db_sym.c
+++ b/sys/ddb/db_sym.c
@@ -23,7 +23,7 @@
* any improvements or extensions that they make and grant Carnegie the
* rights to redistribute these changes.
*
- * $Id: db_sym.c,v 1.26 1998/07/08 10:53:51 bde Exp $
+ * $Id: db_sym.c,v 1.27 1998/12/04 22:54:43 archie Exp $
*/
/*
@@ -48,7 +48,7 @@ static int db_nsymtab = 0;
static db_symtab_t *db_last_symtab; /* where last symbol was found */
-static db_sym_t db_lookup __P(( char *symstr));
+static db_sym_t db_lookup __P(( const char *symstr));
static char *db_qualify __P((db_sym_t sym, char *symtabname));
static boolean_t db_symbol_is_ambiguous __P((db_sym_t sym));
static boolean_t db_line_at_pc __P((db_sym_t, char **, int *,
@@ -87,7 +87,7 @@ db_qualify(sym, symtabname)
db_sym_t sym;
register char *symtabname;
{
- char *symname;
+ const char *symname;
static char tmp[256];
db_symbol_values(sym, &symname, 0);
@@ -111,7 +111,7 @@ db_eqname(src, dst, c)
boolean_t
db_value_of_name(name, valuep)
- char *name;
+ const char *name;
db_expr_t *valuep;
{
db_sym_t sym;
@@ -132,28 +132,31 @@ db_value_of_name(name, valuep)
*/
static db_sym_t
db_lookup(symstr)
- char *symstr;
+ const char *symstr;
{
db_sym_t sp;
register int i;
int symtab_start = 0;
int symtab_end = db_nsymtab;
- register char *cp;
+ register const char *cp;
/*
* Look for, remove, and remember any symbol table specifier.
*/
for (cp = symstr; *cp; cp++) {
if (*cp == ':') {
- *cp = '\0';
for (i = 0; i < db_nsymtab; i++) {
- if (! strcmp(symstr, db_symtabs[i].name)) {
+ int n = strlen(db_symtabs[i].name);
+
+ if (
+ n == (cp - symstr) &&
+ strncmp(symstr, db_symtabs[i].name, n) == 0
+ ) {
symtab_start = i;
symtab_end = i + 1;
break;
}
}
- *cp = ':';
if (i == db_nsymtab) {
db_error("invalid symbol table name");
}
@@ -189,7 +192,7 @@ static boolean_t
db_symbol_is_ambiguous(sym)
db_sym_t sym;
{
- char *sym_name;
+ const char *sym_name;
register int i;
register
boolean_t found_once = FALSE;
@@ -244,7 +247,7 @@ db_search_symbol( val, strategy, offp)
void
db_symbol_values(sym, namep, valuep)
db_sym_t sym;
- char **namep;
+ const char **namep;
db_expr_t *valuep;
{
db_expr_t value;
@@ -288,7 +291,7 @@ db_printsym(off, strategy)
{
db_expr_t d;
char *filename;
- char *name;
+ const char *name;
db_expr_t value;
int linenum;
db_sym_t cursym;
OpenPOWER on IntegriCloud