Loading...
stdio/FreeBSD/fclose.c.patch Libc-498.1.1 Libc-583
--- Libc/Libc-498.1.1/stdio/FreeBSD/fclose.c.patch
+++ Libc/Libc-583/stdio/FreeBSD/fclose.c.patch
@@ -1,14 +1,12 @@
-Index: fclose.c
-===================================================================
-RCS file: /cvs/root/Libc/stdio/FreeBSD/fclose.c,v
-retrieving revision 1.2
-diff -u -d -b -w -p -r1.2 fclose.c
---- fclose.c	2003/05/20 22:22:40	1.2
-+++ fclose.c	2005/02/14 21:57:28
-@@ -53,6 +53,10 @@ fclose(FILE *fp)
+--- fclose.c.orig	2009-02-15 03:11:22.000000000 -0800
++++ fclose.c	2009-02-15 19:01:59.000000000 -0800
+@@ -53,6 +53,13 @@ fclose(FILE *fp)
  {
  	int r;
  
++	if (!__sdidinit)
++		__sinit();
++
 +	if (fp == NULL) {
 +		errno = EFAULT;
 +		return (EOF);
@@ -16,3 +14,12 @@
  	if (fp->_flags == 0) {	/* not open! */
  		errno = EBADF;
  		return (EOF);
+@@ -69,7 +76,7 @@ fclose(FILE *fp)
+ 		FREELB(fp);
+ 	fp->_file = -1;
+ 	fp->_r = fp->_w = 0;	/* Mess up if reaccessed. */
+-	fp->_flags = 0;		/* Release this FILE for reuse. */
++	__sfprelease(fp);	/* Release this FILE for reuse. */
+ 	FUNLOCKFILE(fp);
+ 	return (r);
+ }