diff options
author | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-12-10 19:01:14 +0000 |
---|---|---|
committer | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-12-10 19:01:14 +0000 |
commit | aa2fdaf5c7d695c0b66d3edb6f4d9387ce1be35c (patch) | |
tree | cebcf9efc22d8454456c092d25af09a9af2c8e11 /gcc/melt-runtime.c | |
parent | 103117bf461613a971323796bea5950c31c459db (diff) | |
download | gcc-aa2fdaf5c7d695c0b66d3edb6f4d9387ce1be35c.tar.gz |
2009-12-10 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk rev 155134
2009-12-10 Basile Starynkevitch <basile@starynkevitch.net>
{{while merging with trunk, avoiding warnings...}}
* gcc/melt-runtime.c (meltgc_out_printf): FIXME - vasprintf is a GNU
extension!
(meltgc_load_modulelist) check fgets.
(melt_output_cfile_decl_impl_secondary): check getcwd.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@155136 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/melt-runtime.c')
-rw-r--r-- | gcc/melt-runtime.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/gcc/melt-runtime.c b/gcc/melt-runtime.c index 61349d2f950..83c168eebeb 100644 --- a/gcc/melt-runtime.c +++ b/gcc/melt-runtime.c @@ -2427,7 +2427,9 @@ meltgc_out_printf (melt_ptr_t outbuf_p, return; } va_start (ap, fmt); - vasprintf (&cstr, fmt, ap); + /* FIXME: vasprintf is a GNU function */ + if (vasprintf (&cstr, fmt, ap) > l) + gcc_unreachable (); va_end (ap); meltgc_add_out_raw (outbuf_p, cstr); free (cstr); @@ -6061,7 +6063,8 @@ loadit: { char *pc = 0; memset (linbuf, 0, sizeof (linbuf)); - fgets (linbuf, sizeof (linbuf) - 1, filmod); + if (!fgets (linbuf, sizeof (linbuf) - 1, filmod) && !feof(filmod)) + fatal_error ("MELT failed to read from module list %s - %m", modlistpath); pc = strchr (linbuf, '\n'); if (pc) *pc = (char) 0; @@ -10024,8 +10027,9 @@ melt_output_cfile_decl_impl_secondary (melt_ptr_t unitnam, FILE *cfil = NULL; FILE *oldfil = NULL; static char pwdbuf[500]; - memset(pwdbuf, 0, sizeof(pwdbuf)); - getcwd(pwdbuf, sizeof(pwdbuf)-1); + memset (pwdbuf, 0, sizeof(pwdbuf)); + if (!getcwd (pwdbuf, sizeof(pwdbuf)-1)) + fatal_error ("getcwd failure %m"); gcc_assert (melt_magic_discr (unitnam) == OBMAG_STRING); gcc_assert (melt_magic_discr (declbuf) == OBMAG_STRBUF); gcc_assert (melt_magic_discr (implbuf) == OBMAG_STRBUF); |