X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/2b81e969ea04c1a6502928ba7e847ec8ff7dcb2f..afac5ba023ada2ff1a7a56a0b61f63be2fd4224a:/src/files.c diff --git a/src/files.c b/src/files.c index 4acf9e89..d324966b 100644 --- a/src/files.c +++ b/src/files.c @@ -1,7 +1,7 @@ /* Open and close files for Bison. - Copyright (C) 1984, 1986, 1989, 1992, 2000, 2001, 2002, 2003, 2004, 2005 - Free Software Foundation, Inc. + Copyright (C) 1984, 1986, 1989, 1992, 2000, 2001, 2002, 2003, 2004, + 2005, 2006 Free Software Foundation, Inc. This file is part of Bison, the GNU Compiler Compiler. @@ -20,20 +20,20 @@ Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - +#include #include "system.h" #include +#include #include #include +#include #include #include "complain.h" -#include "dirname.h" #include "files.h" #include "getargs.h" #include "gram.h" -#include "stdio-safer.h" struct obstack pre_prologue_obstack; struct obstack post_prologue_obstack; @@ -208,7 +208,7 @@ static void file_name_split (const char *file_name, const char **base, const char **tab, const char **ext) { - *base = base_name (file_name); + *base = last_component (file_name); /* Look for the extension, i.e., look for the last dot. */ *ext = strrchr (*base, '.'); @@ -263,25 +263,23 @@ compute_file_name_parts (void) if (spec_file_prefix) { - /* If --file-prefix=foo was specified, ALL_BUT_TAB_EXT = - `foo'. */ - dir_prefix = xstrndup (grammar_file, base - grammar_file); - all_but_tab_ext = xstrdup (spec_file_prefix); + /* If --file-prefix=foo was specified, ALL_BUT_TAB_EXT = `foo'. */ + dir_prefix = xstrndup (grammar_file, base - grammar_file); + all_but_tab_ext = xstrdup (spec_file_prefix); } else if (yacc_flag) { - /* If --yacc, then the output is `y.tab.c'. */ - dir_prefix = ""; - all_but_tab_ext = "y"; + /* If --yacc, then the output is `y.tab.c'. */ + dir_prefix = ""; + all_but_tab_ext = "y"; } else { - /* Otherwise, ALL_BUT_TAB_EXT is computed from the input + /* Otherwise, ALL_BUT_TAB_EXT is computed from the input grammar: `foo/bar.yy' => `bar'. */ - dir_prefix = ""; - all_but_tab_ext = - xstrndup (base, - (strlen (base) - (ext ? strlen (ext) : 0))); + dir_prefix = ""; + all_but_tab_ext = + xstrndup (base, (strlen (base) - (ext ? strlen (ext) : 0))); } all_but_ext = concat2 (all_but_tab_ext, TAB_EXT); @@ -318,14 +316,14 @@ compute_output_file_names (void) if (defines_flag) { if (! spec_defines_file) - spec_defines_file = concat2 (all_but_ext, header_extension); + spec_defines_file = concat2 (all_but_ext, header_extension); name[names++] = spec_defines_file; } if (graph_flag) { if (! spec_graph_file) - spec_graph_file = concat2 (all_but_tab_ext, ".vcg"); + spec_graph_file = concat2 (all_but_tab_ext, ".vcg"); name[names++] = spec_graph_file; }