+++ /dev/null
---- 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);
- }