* lib/Makefile.am (libbison_a_SOURCES): Add xstrndup.c.

* src/getargs.c (AS_FILE_NAME): New.
(getargs): Use it to convert DOSish file names.
* src/files.c (base_name): Rename as full_base_name to avoid
clashes with `base_name ()'.
(get_extension_index): Remove.
(filename_split): New.
(compute_base_names): N-th rewrite, using filename_split.
This commit is contained in:
Akim Demaille
2002-01-08 17:41:38 +00:00
parent 43cc2463d2
commit 55601256c2
5 changed files with 140 additions and 115 deletions

View File

@@ -159,6 +159,14 @@ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
| Process the options. |
`----------------------*/
/* Under DOS, there is no difference on the case. This can be
troublesome when looking for `.tab' etc. */
#ifdef MSDOS
# define AS_FILE_NAME(File) (strlwr (File), (File))
#else
# define AS_FILE_NAME(File) (File)
#endif
void
getargs (int argc, char *argv[])
{
@@ -186,7 +194,7 @@ getargs (int argc, char *argv[])
case 'g':
/* Here, the -g and --graph=FILE options are differentiated. */
graph_flag = 1;
spec_graph_file = optarg;
spec_graph_file = AS_FILE_NAME (optarg);
break;
case 'v':
@@ -194,13 +202,13 @@ getargs (int argc, char *argv[])
break;
case 'S':
skeleton = optarg;
skeleton = AS_FILE_NAME (optarg);
break;
case 'd':
/* Here, the -d and --defines options are differentiated. */
defines_flag = 1;
spec_defines_file = optarg;
spec_defines_file = AS_FILE_NAME (optarg);
break;
case 'l':
@@ -224,11 +232,11 @@ getargs (int argc, char *argv[])
break;
case 'o':
spec_outfile = optarg;
spec_outfile = AS_FILE_NAME (optarg);
break;
case 'b':
spec_file_prefix = optarg;
spec_file_prefix = AS_FILE_NAME (optarg);
break;
case 'p':