summary refs log tree commit diff
path: root/libio
diff options
context:
space:
mode:
Diffstat (limited to 'libio')
-rw-r--r--libio/fileops.c6
-rw-r--r--libio/genops.c4
-rw-r--r--libio/libioP.h10
-rw-r--r--libio/memstream.c9
-rw-r--r--libio/strops.c6
5 files changed, 18 insertions, 17 deletions
diff --git a/libio/fileops.c b/libio/fileops.c
index 12b2ead125..3a0bdaaa62 100644
--- a/libio/fileops.c
+++ b/libio/fileops.c
@@ -138,8 +138,8 @@ DEFUN(_IO_file_close_it, (fp),
 }
 
 void
-DEFUN(_IO_file_finish, (fp),
-      register _IO_FILE* fp)
+DEFUN(_IO_file_finish, (fp, dummy),
+      register _IO_FILE* fp AND int dummy)
 {
   if (_IO_file_is_open(fp))
     {
@@ -147,7 +147,7 @@ DEFUN(_IO_file_finish, (fp),
       if (!(fp->_flags & _IO_DELETE_DONT_CLOSE))
 	_IO_SYSCLOSE (fp);
     }
-  _IO_default_finish(fp);
+  _IO_default_finish(fp, 0);
 }
 
 _IO_FILE *
diff --git a/libio/genops.c b/libio/genops.c
index e57328d529..db7fb180a3 100644
--- a/libio/genops.c
+++ b/libio/genops.c
@@ -481,8 +481,8 @@ DEFUN(_IO_default_sync, (fp),
    current implementation, this function can get called twice! */
 
 void
-DEFUN(_IO_default_finish, (fp),
-      _IO_FILE *fp)
+DEFUN(_IO_default_finish, (fp, dummy),
+      _IO_FILE *fp AND int dummy)
 {
   struct _IO_marker *mark;
   if (fp->_IO_buf_base && !(fp->_flags & _IO_USER_BUF))
diff --git a/libio/libioP.h b/libio/libioP.h
index c80bdf30c6..8fe11084df 100644
--- a/libio/libioP.h
+++ b/libio/libioP.h
@@ -101,8 +101,8 @@ extern "C" {
 /* The 'finish' function does any final cleaning up of an _IO_FILE object.
    It does not delete (free) it, but does everything else to finalize it/
    It matches the streambuf::~streambuf virtual destructor.  */
-typedef void (*_IO_finish_t) __P((_IO_FILE*)); /* finalize */
-#define _IO_FINISH(FP) JUMP0(__finish, FP)
+typedef void (*_IO_finish_t) __P((_IO_FILE*, int)); /* finalize */
+#define _IO_FINISH(FP) JUMP1(__finish, FP, 0)
 
 /* The 'overflow' hook flushes the buffer.
    The second argument is a character, or EOF.
@@ -295,7 +295,7 @@ extern int _IO_seekmark __P((_IO_FILE *, struct _IO_marker *, int));
 extern int _IO_default_underflow __P((_IO_FILE*));
 extern int _IO_default_uflow __P((_IO_FILE*));
 extern int _IO_default_doallocate __P((_IO_FILE*));
-extern void _IO_default_finish __P((_IO_FILE *));
+extern void _IO_default_finish __P((_IO_FILE *, int));
 extern int _IO_default_pbackfail __P((_IO_FILE*, int));
 extern _IO_FILE* _IO_default_setbuf __P((_IO_FILE *, char*, _IO_ssize_t));
 extern _IO_size_t _IO_default_xsputn __P((_IO_FILE *, const void*, _IO_size_t));
@@ -352,7 +352,7 @@ extern _IO_ssize_t _IO_file_read __P((_IO_FILE*, void*, _IO_ssize_t));
 extern int _IO_file_sync __P((_IO_FILE*));
 extern int _IO_file_close_it __P((_IO_FILE*));
 extern _IO_fpos_t _IO_file_seek __P((_IO_FILE *, _IO_off_t, int));
-extern void _IO_file_finish __P((_IO_FILE*));
+extern void _IO_file_finish __P((_IO_FILE*, int));
 
 /* Other file functions. */
 extern _IO_FILE* _IO_file_attach __P((_IO_FILE *, int));
@@ -366,7 +366,7 @@ extern int _IO_str_underflow __P((_IO_FILE*));
 extern int _IO_str_overflow __P((_IO_FILE *, int));
 extern int _IO_str_pbackfail __P((_IO_FILE*, int));
 extern _IO_fpos_t _IO_str_seekoff __P((_IO_FILE*,_IO_off_t,int,int));
-extern void _IO_str_finish __P ((_IO_FILE*));
+extern void _IO_str_finish __P ((_IO_FILE*, int));
 
 /* Other strfile functions */
 extern void _IO_str_init_static __P((_IO_FILE *, char*, int, char*));
diff --git a/libio/memstream.c b/libio/memstream.c
index e3c34d0b34..f03fc6e67d 100644
--- a/libio/memstream.c
+++ b/libio/memstream.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995, 1996 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
 This file is part of the GNU C Library.
 
 The GNU C Library is free software; you can redistribute it and/or
@@ -31,7 +31,7 @@ struct _IO_FILE_memstream
 
 
 static int _IO_mem_sync __P ((_IO_FILE* fp));
-static void _IO_mem_finish __P ((_IO_FILE* fp));
+static void _IO_mem_finish __P ((_IO_FILE* fp, int));
 
 
 static const struct _IO_jump_t _IO_mem_jumps =
@@ -124,8 +124,9 @@ _IO_mem_sync (fp)
 
 
 static void
-_IO_mem_finish (fp)
+_IO_mem_finish (fp, dummy)
      _IO_FILE* fp;
+     int dummy;
 {
   struct _IO_FILE_memstream *mp = (struct _IO_FILE_memstream *) fp;
 
@@ -139,5 +140,5 @@ _IO_mem_finish (fp)
 
   fp->_IO_buf_base = NULL;
 
-  _IO_default_finish (fp);
+  _IO_default_finish (fp, 0);
 }
diff --git a/libio/strops.c b/libio/strops.c
index 31c5df4e80..9c2650f352 100644
--- a/libio/strops.c
+++ b/libio/strops.c
@@ -258,14 +258,14 @@ DEFUN(_IO_str_pbackfail, (fp, c),
 }
 
 void
-DEFUN (_IO_str_finish, (fp),
-      register _IO_FILE* fp)
+DEFUN (_IO_str_finish, (fp, dummy),
+      register _IO_FILE* fp AND int dummy)
 {
   if (fp->_IO_buf_base && !(fp->_flags & _IO_USER_BUF))
     (((_IO_strfile*)fp)->_s._free_buffer)(fp->_IO_buf_base);
   fp->_IO_buf_base = NULL;
 
-  _IO_default_finish(fp);
+  _IO_default_finish(fp, 0);
 }
 
 struct _IO_jump_t _IO_str_jumps = {