22 lines
		
	
	
	
		
			605 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
	
		
			605 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
Index: lib/libc/stdio/fflush.c
 | 
						|
===================================================================
 | 
						|
--- lib/libc/stdio/fflush.c.orig
 | 
						|
+++ lib/libc/stdio/fflush.c
 | 
						|
@@ -124,11 +124,13 @@
 | 
						|
 		t = _swrite(fp, (char *)p, n);
 | 
						|
 		if (t <= 0) {
 | 
						|
 			/* Reset _p and _w. */
 | 
						|
-			if (p > fp->_p)	/* Some was written. */
 | 
						|
+			if (p > fp->_p) {
 | 
						|
+				/* Some was written. */
 | 
						|
 				memmove(fp->_p, p, n);
 | 
						|
-			fp->_p += n;
 | 
						|
-			if ((fp->_flags & (__SLBF | __SNBF)) == 0)
 | 
						|
-				fp->_w -= n;
 | 
						|
+				fp->_p += n;
 | 
						|
+				if ((fp->_flags & (__SLBF | __SNBF)) == 0)
 | 
						|
+					fp->_w -= n;
 | 
						|
+			}
 | 
						|
 			fp->_flags |= __SERR;
 | 
						|
 			return (EOF);
 | 
						|
 		}
 |