[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[SCM] GNU M4 source repository branch, master, updated. cvs-readonly-121
From: |
Eric Blake |
Subject: |
[SCM] GNU M4 source repository branch, master, updated. cvs-readonly-121-gee816a2 |
Date: |
Fri, 23 May 2008 12:23:47 +0000 |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU M4 source repository".
http://git.sv.gnu.org/gitweb/?p=m4.git;a=commitdiff;h=ee816a2224adb2a9eb20c4e5787875cd385437c3
The branch, master has been updated
via ee816a2224adb2a9eb20c4e5787875cd385437c3 (commit)
from a8e726e4bf47514e770f5885e416f92f150419a9 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit ee816a2224adb2a9eb20c4e5787875cd385437c3
Author: Eric Blake <address@hidden>
Date: Fri May 23 06:20:40 2008 -0600
Improve handling of frozen file errors.
* src/freeze.c (produce_frozen_state): Detect write failures.
(reload_frozen_state): Use close_stream.
* tests/freeze.at (freezing failure): New test.
* THANKS: Update.
Reported by Jean-Charles Longuet.
Signed-off-by: Eric Blake <address@hidden>
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 9 +++++++++
THANKS | 1 +
src/freeze.c | 7 +++++--
tests/freeze.at | 19 +++++++++++++++++++
4 files changed, 34 insertions(+), 2 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index bad66ae..ef9a327 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2008-05-23 Eric Blake <address@hidden>
+
+ Improve handling of frozen file errors.
+ * src/freeze.c (produce_frozen_state): Detect write failures.
+ (reload_frozen_state): Use close_stream.
+ * tests/freeze.at (freezing failure): New test.
+ * THANKS: Update.
+ Reported by Jean-Charles Longuet.
+
2008-05-19 Eric Blake <address@hidden>
In frozen file, split consecutive strings with newline.
diff --git a/THANKS b/THANKS
index 807bd1b..f6a22d6 100644
--- a/THANKS
+++ b/THANKS
@@ -61,6 +61,7 @@ Ian Taylor address@hidden
Ilya N. Golubev address@hidden
Jan Djarv address@hidden
Jason Merrill address@hidden
+Jean-Charles Longuet address@hidden
Jim Avera address@hidden
Jim Kingdom address@hidden
Jim Meyering address@hidden
diff --git a/src/freeze.c b/src/freeze.c
index d32fc9e..40de809 100644
--- a/src/freeze.c
+++ b/src/freeze.c
@@ -25,6 +25,7 @@
#include "m4.h"
#include "binary-io.h"
+#include "close-stream.h"
#include "quotearg.h"
static void produce_mem_dump (FILE *, const char *, size_t);
@@ -326,7 +327,9 @@ produce_frozen_state (m4 *context, const char *name)
/* All done. */
fputs ("# End of frozen state file\n", file);
- fclose (file);
+ if (close_stream (file) != 0)
+ m4_error (context, EXIT_FAILURE, errno, NULL,
+ _("unable to create frozen state"));
}
/* Issue a message saying that some character is an EXPECTED character. */
@@ -941,7 +944,7 @@ ill-formed frozen file, version 2 directive `%c'
encountered"), 'T');
free (string[0]);
free (string[1]);
free (string[2]);
- if (ferror (file) || fclose (file) != 0)
+ if (close_stream (file) != 0)
m4_error (context, EXIT_FAILURE, errno, NULL,
_("unable to read frozen state"));
m4_set_current_file (context, NULL);
diff --git a/tests/freeze.at b/tests/freeze.at
index 2aa2aea..548ced3 100644
--- a/tests/freeze.at
+++ b/tests/freeze.at
@@ -51,6 +51,25 @@ AT_CLEANUP
AT_BANNER([Freezing state.])
+## ---------------- ##
+## freezing failure ##
+## ---------------- ##
+
+AT_SETUP([freezing failure])
+AT_KEYWORDS([frozen])
+
+AT_CHECK_M4([-F /none/such], [1], [],
+[[m4: cannot open `/none/such': No such file or directory
+]])
+
+if test -w /dev/full && test -c /dev/full ; then
+ AT_CHECK_M4([-F /dev/full], [1], [],
+[[m4: unable to create frozen state: No space left on device
+]])
+fi
+AT_CLEANUP
+
+
## --------------- ##
## large diversion ##
## --------------- ##
hooks/post-receive
--
GNU M4 source repository
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [SCM] GNU M4 source repository branch, master, updated. cvs-readonly-121-gee816a2,
Eric Blake <=