Loading...
stdio/FreeBSD/flags.c.patch /dev/null Libc-763.12
--- /dev/null
+++ Libc/Libc-763.12/stdio/FreeBSD/flags.c.patch
@@ -0,0 +1,21 @@
+--- flags.c.bsdnew	2009-11-11 13:33:06.000000000 -0800
++++ flags.c	2009-11-11 13:33:06.000000000 -0800
+@@ -81,10 +81,17 @@ __sflags(mode, optr)
+ 	}
+ 
+ 	/* [rwa]\+ or [rwa]b\+ means read and write */
+-	if (*mode == '+' || (*mode == 'b' && mode[1] == '+')) {
++	if (*mode == 'b')
++		mode++;
++	if (*mode == '+') {
+ 		ret = __SRW;
+ 		m = O_RDWR;
++		mode++;
++		if (*mode == 'b')
++			mode++;
+ 	}
++	if (*mode == 'x')
++		o |= O_EXCL;
+ 	*optr = m | o;
+ 	return (ret);
+ }