[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Changes to m4/m4/output.c,v
From: |
Eric Blake |
Subject: |
Changes to m4/m4/output.c,v |
Date: |
Wed, 08 Nov 2006 05:11:48 +0000 |
CVSROOT: /sources/m4
Module name: m4
Changes by: Eric Blake <ericb> 06/11/08 05:11:47
Index: m4/output.c
===================================================================
RCS file: /sources/m4/m4/m4/output.c,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -b -r1.36 -r1.37
--- m4/output.c 8 Nov 2006 04:26:53 -0000 1.36
+++ m4/output.c 8 Nov 2006 05:11:47 -0000 1.37
@@ -174,6 +174,7 @@
m4_diversion *diversion;
gl_list_iterator_t iter;
const void *elt;
+ bool fail = false;
if (diversion_table)
{
@@ -182,14 +183,21 @@
while (gl_list_iterator_next (&iter, &elt, NULL))
{
diversion = (m4_diversion *) elt;
- if (!diversion->size && diversion->u.file)
- close_stream_temp (diversion->u.file);
+ if (!diversion->size && diversion->u.file &&
+ close_stream_temp (diversion->u.file) != 0)
+ {
+ error (0, errno,
+ _("cannot clean temporary file for diversion"));
+ fail = true;
+ }
}
gl_list_iterator_free (&iter);
}
/* Clean up the temporary directory. */
if (cleanup_temp_dir (output_temp_dir) != 0)
+ fail = true;
+ if (fail)
_exit (exit_failure);
}
@@ -664,8 +672,9 @@
diversion->size = 0;
diversion->used = 0;
}
- else if (diversion->u.file)
- close_stream_temp (diversion->u.file);
+ else if (diversion->u.file && close_stream_temp (diversion->u.file) != 0)
+ m4_error (context, 0, errno,
+ _("cannot clean temporary file for diversion"));
gl_list_remove_node (diversion_table, node);
diversion->u.next = free_list;
free_list = diversion;
- Changes to m4/m4/output.c,v, Eric Blake, 2006/11/07
- Changes to m4/m4/output.c,v,
Eric Blake <=
- Changes to m4/m4/output.c,v, Eric Blake, 2006/11/11
- Changes to m4/m4/output.c,v, Eric Blake, 2006/11/14
- Changes to m4/m4/output.c,v, Eric Blake, 2006/11/14