rewind.c.patch   [plain text]


--- rewind.c.bsdnew	2009-11-11 13:33:15.000000000 -0800
+++ rewind.c	2009-11-11 13:33:15.000000000 -0800
@@ -54,8 +54,8 @@ rewind(FILE *fp)
 
 	FLOCKFILE(fp);
 	if (_fseeko(fp, (off_t)0, SEEK_SET, 1) == 0) {
-		clearerr_unlocked(fp);
 		errno = serrno;
 	}
+	clearerr_unlocked(fp);	/* POSIX: clear stdio error regardless */
 	FUNLOCKFILE(fp);
 }