projects
/
bison.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
tests: highlight empty right-hand sides
[bison.git]
/
src
/
files.c
diff --git
a/src/files.c
b/src/files.c
index a346c316922052a8883fcb6a7a8d150fb340ef45..bc8a4e51d2038c70c7ed7b8a13abfdbd6d3c4b7d 100644
(file)
--- a/
src/files.c
+++ b/
src/files.c
@@
-1,6
+1,6
@@
/* Open and close files for Bison.
/* Open and close files for Bison.
- Copyright (C) 1984, 1986, 1989, 1992, 2000-201
2
Free Software
+ Copyright (C) 1984, 1986, 1989, 1992, 2000-201
3
Free Software
Foundation, Inc.
This file is part of Bison, the GNU Compiler Compiler.
Foundation, Inc.
This file is part of Bison, the GNU Compiler Compiler.
@@
-25,6
+25,7
@@
#include <dirname.h>
#include <get-errno.h>
#include <quote.h>
#include <dirname.h>
#include <get-errno.h>
#include <quote.h>
+#include <quotearg.h>
#include <stdio-safer.h>
#include <xstrndup.h>
#include <stdio-safer.h>
#include <xstrndup.h>
@@
-109,7
+110,8
@@
xfopen (const char *name, const char *mode)
ptr = fopen_safer (name, mode);
if (!ptr)
ptr = fopen_safer (name, mode);
if (!ptr)
- error (EXIT_FAILURE, get_errno (), _("cannot open file `%s'"), name);
+ error (EXIT_FAILURE, get_errno (),
+ _("%s: cannot open"), quotearg_colon (name));
return ptr;
}
return ptr;
}
@@
-125,13
+127,25
@@
xfclose (FILE *ptr)
return;
if (ferror (ptr))
return;
if (ferror (ptr))
- error (EXIT_FAILURE, 0, _("
I/O
error"));
+ error (EXIT_FAILURE, 0, _("
input/output
error"));
if (fclose (ptr) != 0)
error (EXIT_FAILURE, get_errno (), _("cannot close file"));
}
\f
if (fclose (ptr) != 0)
error (EXIT_FAILURE, get_errno (), _("cannot close file"));
}
\f
+FILE *
+xfdopen (int fd, char const *mode)
+{
+ FILE *res = fdopen (fd, mode);
+ if (! res)
+ error (EXIT_FAILURE, get_errno (),
+ /* On a separate line to please the "unmarked_diagnostics"
+ syntax-check. */
+ "fdopen");
+ return res;
+}
+
/*------------------------------------------------------------------.
| Compute ALL_BUT_EXT, ALL_BUT_TAB_EXT and output files extensions. |
`------------------------------------------------------------------*/
/*------------------------------------------------------------------.
| Compute ALL_BUT_EXT, ALL_BUT_TAB_EXT and output files extensions. |
`------------------------------------------------------------------*/
@@
-140,7
+154,7
@@
xfclose (FILE *ptr)
static void
compute_exts_from_gf (const char *ext)
{
static void
compute_exts_from_gf (const char *ext)
{
- if (
strcmp (ext, ".y") == 0
)
+ if (
STREQ (ext, ".y")
)
{
src_extension = xstrdup (language->src_extension);
header_extension = xstrdup (language->header_extension);
{
src_extension = xstrdup (language->src_extension);
header_extension = xstrdup (language->header_extension);
@@
-205,7
+219,7
@@
file_name_split (const char *file_name,
*base = last_component (file_name);
/* Look for the extension, i.e., look for the last dot. */
*base = last_component (file_name);
/* Look for the extension, i.e., look for the last dot. */
- *ext =
mbs
rchr (*base, '.');
+ *ext =
str
rchr (*base, '.');
*tab = NULL;
/* If there is an extension, check if there is a `.tab' part right
*tab = NULL;
/* If there is an extension, check if there is a `.tab' part right
@@
-213,10
+227,9
@@
file_name_split (const char *file_name,
if (*ext)
{
size_t baselen = *ext - *base;
if (*ext)
{
size_t baselen = *ext - *base;
- size_t dottablen =
4
;
+ size_t dottablen =
sizeof (TAB_EXT) - 1
;
if (dottablen < baselen
if (dottablen < baselen
- && (strncmp (*ext - dottablen, ".tab", dottablen) == 0
- || strncmp (*ext - dottablen, "_tab", dottablen) == 0))
+ && STRPREFIX_LIT (TAB_EXT, *ext - dottablen))
*tab = *ext - dottablen;
}
}
*tab = *ext - dottablen;
}
}
@@
-345,9
+358,9
@@
void
output_file_name_check (char **file_name)
{
bool conflict = false;
output_file_name_check (char **file_name)
{
bool conflict = false;
- if (
0 == strcmp
(*file_name, grammar_file))
+ if (
STREQ
(*file_name, grammar_file))
{
{
- complain (_("refusing to overwrite the input file %s"),
+ complain (
NULL, complaint,
_("refusing to overwrite the input file %s"),
quote (*file_name));
conflict = true;
}
quote (*file_name));
conflict = true;
}
@@
-355,10
+368,10
@@
output_file_name_check (char **file_name)
{
int i;
for (i = 0; i < file_names_count; i++)
{
int i;
for (i = 0; i < file_names_count; i++)
- if (
0 == strcmp
(file_names[i], *file_name))
+ if (
STREQ
(file_names[i], *file_name))
{
{
-
warn (
_("conflicting outputs to file %s"),
- quote (*file_name));
+
complain (NULL, Wother,
_("conflicting outputs to file %s"),
+
quote (*file_name));
conflict = true;
}
}
conflict = true;
}
}