libc/fopen: add open for text (translated) access support

Change-Id: I5bb4e01a91a0f8ea82437cdcba191c484aa1b77f
Signed-off-by: chao.an <anchao@xiaomi.com>
This commit is contained in:
chao.an 2020-07-28 10:13:00 +08:00 committed by Abdelatif Guettouche
parent 2af62314d7
commit 82caa786cc
1 changed files with 17 additions and 0 deletions

View File

@ -49,6 +49,7 @@
* and writing) */
#define MODE_B (1 << 4) /* Bit 4: "{r|w|a|x|+}b" Binary mode */
#define MODE_X (1 << 5) /* Bit 5: "{r|w|a|b|+}x" Open exclusive mode */
#define MODE_T (1 << 6) /* Bit 6: "{r|w|a|+}t" Text mode */
#define MODE_NONE 0 /* No access mode determined */
#define MODE_MASK (MODE_R | MODE_W | MODE_A)
@ -285,6 +286,22 @@ int lib_mode2oflags(FAR const char *mode)
}
break;
/* Open for text (translated) access ("{r|w|a|x|+}t") */
case 't' :
if ((state & MODE_MASK) != MODE_NONE)
{
/* The file is opened in text mode */
oflags |= O_TEXT;
state |= MODE_T;
}
else
{
goto errout;
}
break;
/* Unrecognized or unsupported mode */
default: