From: Eli Zaretskii Date: Thu, 6 Apr 2000 15:24:36 +0000 (+0000) Subject: * top.c (filename_completer): Set subsequent_name to 1 early on, X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=bcea15ac193d7dfb5827826bf878224a6ad9b10a;p=binutils-gdb.git * top.c (filename_completer): Set subsequent_name to 1 early on, to prevent an infinite loop if the first file in the directory is a backup file. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 2ac78b274ef..2d684f9bbcf 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2000-04-06 Eli Zaretskii + + * top.c (filename_completer): Set subsequent_name to 1 early on, + to prevent an infinite loop if the first file in the directory is + a backup file (whose name ends in a `~'). + 2000-04-05 Jim Blandy * solib.c (update_solib_list): New function. diff --git a/gdb/top.c b/gdb/top.c index dd5a8c3a608..7c996499db7 100644 --- a/gdb/top.c +++ b/gdb/top.c @@ -1887,6 +1887,11 @@ filename_completer (text, word) return_val[return_val_used++] = p; break; } + /* We need to set subsequent_name to a non-zero value before the + continue line below, because otherwise, if the first file seen + by GDB is a backup file whose name ends in a `~', we will loop + indefinitely. */ + subsequent_name = 1; /* Like emacs, don't complete on old versions. Especially useful in the "source" command. */ if (p[strlen (p) - 1] == '~') @@ -1916,7 +1921,6 @@ filename_completer (text, word) free (p); } } - subsequent_name = 1; } #if 0 /* There is no way to do this just long enough to affect quote inserting