forked from nuttx/nuttx-update
libc/stdio: Change FILE buffer field from "unsigned char *" to "char *"
to avoid the unnecessary casting Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
This commit is contained in:
parent
88b7ce80a0
commit
66db15437d
10 changed files with 31 additions and 40 deletions
|
@ -527,19 +527,19 @@ struct file_struct
|
|||
cookie_io_functions_t fs_iofunc; /* Callbacks to user / system functions */
|
||||
FAR void *fs_cookie; /* Pointer to file descriptor / cookie struct */
|
||||
#ifndef CONFIG_STDIO_DISABLE_BUFFERING
|
||||
FAR unsigned char *fs_bufstart; /* Pointer to start of buffer */
|
||||
FAR unsigned char *fs_bufend; /* Pointer to 1 past end of buffer */
|
||||
FAR unsigned char *fs_bufpos; /* Current position in buffer */
|
||||
FAR unsigned char *fs_bufread; /* Pointer to 1 past last buffered read char. */
|
||||
FAR char *fs_bufstart; /* Pointer to start of buffer */
|
||||
FAR char *fs_bufend; /* Pointer to 1 past end of buffer */
|
||||
FAR char *fs_bufpos; /* Current position in buffer */
|
||||
FAR char *fs_bufread; /* Pointer to 1 past last buffered read char. */
|
||||
# if CONFIG_STDIO_BUFFER_SIZE > 0
|
||||
unsigned char fs_buffer[CONFIG_STDIO_BUFFER_SIZE];
|
||||
char fs_buffer[CONFIG_STDIO_BUFFER_SIZE];
|
||||
# endif
|
||||
#endif
|
||||
uint16_t fs_oflags; /* Open mode flags */
|
||||
uint8_t fs_flags; /* Stream flags */
|
||||
#if CONFIG_NUNGET_CHARS > 0
|
||||
uint8_t fs_nungotten; /* The number of characters buffered for ungetc */
|
||||
unsigned char fs_ungotten[CONFIG_NUNGET_CHARS];
|
||||
char fs_ungotten[CONFIG_NUNGET_CHARS];
|
||||
#endif
|
||||
};
|
||||
|
||||
|
|
|
@ -121,7 +121,7 @@ ssize_t getdelim(FAR char **lineptr, size_t *n, int delimiter,
|
|||
dest = *lineptr;
|
||||
if (dest == NULL)
|
||||
{
|
||||
dest = (FAR char *)lib_malloc(bufsize);
|
||||
dest = lib_malloc(bufsize);
|
||||
if (dest == NULL)
|
||||
{
|
||||
ret = ENOMEM;
|
||||
|
@ -156,7 +156,7 @@ ssize_t getdelim(FAR char **lineptr, size_t *n, int delimiter,
|
|||
*/
|
||||
|
||||
bufsize += BUFSIZE_INCR;
|
||||
newbuffer = (FAR char *)lib_realloc(*lineptr, bufsize);
|
||||
newbuffer = lib_realloc(*lineptr, bufsize);
|
||||
if (newbuffer == NULL)
|
||||
{
|
||||
ret = ENOMEM;
|
||||
|
|
|
@ -102,7 +102,7 @@ ssize_t lib_fflush_unlocked(FAR FILE *stream, bool bforce)
|
|||
|
||||
/* Try to write that amount */
|
||||
|
||||
src = (FAR const char *)stream->fs_bufstart;
|
||||
src = stream->fs_bufstart;
|
||||
do
|
||||
{
|
||||
/* Perform the write */
|
||||
|
|
|
@ -229,7 +229,7 @@ ssize_t lib_fread_unlocked(FAR void *ptr, size_t count, FAR FILE *stream)
|
|||
{
|
||||
bytes_read = stream->fs_iofunc.read(
|
||||
stream->fs_cookie,
|
||||
(FAR char *)stream->fs_bufread,
|
||||
stream->fs_bufread,
|
||||
buffer_available);
|
||||
}
|
||||
else
|
||||
|
|
|
@ -166,9 +166,9 @@ static int vsprintf_internal(FAR struct lib_outstream_s *stream,
|
|||
union
|
||||
{
|
||||
#if defined (CONFIG_LIBC_LONG_LONG) || (ULONG_MAX > 4294967295UL)
|
||||
unsigned char __buf[22]; /* Size for -1 in octal, without '\0' */
|
||||
char __buf[22]; /* Size for -1 in octal, without '\0' */
|
||||
#else
|
||||
unsigned char __buf[11]; /* Size for -1 in octal, without '\0' */
|
||||
char __buf[11]; /* Size for -1 in octal, without '\0' */
|
||||
#endif
|
||||
#ifdef CONFIG_LIBC_FLOATINGPOINT
|
||||
struct dtoa_s __dtoa;
|
||||
|
@ -860,7 +860,7 @@ flt_oper:
|
|||
}
|
||||
|
||||
stream_putc(ndigs, stream);
|
||||
c = __ultoa_invert(exp, (FAR char *)buf, 10) - (FAR char *)buf;
|
||||
c = __ultoa_invert(exp, buf, 10) - buf;
|
||||
|
||||
if (exp >= 0 && exp <= 9)
|
||||
{
|
||||
|
@ -904,7 +904,7 @@ flt_oper:
|
|||
#else
|
||||
buf[0] = va_arg(ap, int);
|
||||
#endif
|
||||
pnt = (FAR char *)buf;
|
||||
pnt = buf;
|
||||
size = 1;
|
||||
goto str_lpad;
|
||||
|
||||
|
@ -913,7 +913,7 @@ flt_oper:
|
|||
#ifdef CONFIG_LIBC_NUMBERED_ARGS
|
||||
if ((flags & FL_ARGNUMBER) != 0)
|
||||
{
|
||||
pnt = (FAR char *)arglist[argnumber - 1].value.cp;
|
||||
pnt = arglist[argnumber - 1].value.cp;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1028,7 +1028,7 @@ str_lpad:
|
|||
#if !defined(CONFIG_LIBC_LONG_LONG) && defined(CONFIG_HAVE_LONG_LONG)
|
||||
DEBUGASSERT(x >= 0 && x <= ULONG_MAX);
|
||||
#endif
|
||||
c = __ultoa_invert(x, (FAR char *)buf, 10) - (FAR char *)buf;
|
||||
c = __ultoa_invert(x, buf, 10) - buf;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -1204,7 +1204,7 @@ str_lpad:
|
|||
#if !defined(CONFIG_LIBC_LONG_LONG) && defined(CONFIG_HAVE_LONG_LONG)
|
||||
DEBUGASSERT(x <= ULONG_MAX);
|
||||
#endif
|
||||
c = __ultoa_invert(x, (FAR char *)buf, base) - (FAR char *)buf;
|
||||
c = __ultoa_invert(x, buf, base) - buf;
|
||||
}
|
||||
|
||||
flags &= ~FL_NEGATIVE;
|
||||
|
|
|
@ -77,7 +77,7 @@
|
|||
int setvbuf(FAR FILE *stream, FAR char *buffer, int mode, size_t size)
|
||||
{
|
||||
#ifndef CONFIG_STDIO_DISABLE_BUFFERING
|
||||
FAR unsigned char *newbuf = NULL;
|
||||
FAR char *newbuf = NULL;
|
||||
uint8_t flags;
|
||||
int errcode;
|
||||
|
||||
|
@ -174,7 +174,7 @@ int setvbuf(FAR FILE *stream, FAR char *buffer, int mode, size_t size)
|
|||
|
||||
if (buffer != NULL)
|
||||
{
|
||||
newbuf = (FAR unsigned char *)buffer;
|
||||
newbuf = buffer;
|
||||
|
||||
/* Indicate that we have an I/O buffer managed by the caller
|
||||
* of setvbuf.
|
||||
|
@ -184,7 +184,7 @@ int setvbuf(FAR FILE *stream, FAR char *buffer, int mode, size_t size)
|
|||
}
|
||||
else
|
||||
{
|
||||
newbuf = (FAR unsigned char *)lib_malloc(size);
|
||||
newbuf = lib_malloc(size);
|
||||
if (newbuf == NULL)
|
||||
{
|
||||
errcode = ENOMEM;
|
||||
|
|
|
@ -41,14 +41,12 @@ int sprintf(FAR char *buf, FAR const IPTR char *fmt, ...)
|
|||
|
||||
/* Initialize a memory stream to write to the buffer */
|
||||
|
||||
lib_memoutstream((FAR struct lib_memoutstream_s *)&memoutstream, buf,
|
||||
LIB_BUFLEN_UNKNOWN);
|
||||
lib_memoutstream(&memoutstream, buf, LIB_BUFLEN_UNKNOWN);
|
||||
|
||||
/* Then let lib_vsprintf do the real work */
|
||||
|
||||
va_start(ap, fmt);
|
||||
n = lib_vsprintf((FAR struct lib_outstream_s *)&memoutstream.common,
|
||||
fmt, ap);
|
||||
n = lib_vsprintf(&memoutstream.common, fmt, ap);
|
||||
va_end(ap);
|
||||
return n;
|
||||
}
|
||||
|
|
|
@ -84,13 +84,13 @@ int vasprintf(FAR char **ptr, FAR const IPTR char *fmt, va_list ap)
|
|||
*/
|
||||
|
||||
lib_nulloutstream(&nulloutstream);
|
||||
lib_vsprintf((FAR struct lib_outstream_s *)&nulloutstream, fmt, ap);
|
||||
lib_vsprintf(&nulloutstream, fmt, ap);
|
||||
|
||||
/* Then allocate a buffer to hold that number of characters, adding one
|
||||
* for the null terminator.
|
||||
*/
|
||||
|
||||
buf = (FAR char *)lib_malloc(nulloutstream.nput + 1);
|
||||
buf = lib_malloc(nulloutstream.nput + 1);
|
||||
if (!buf)
|
||||
{
|
||||
#ifdef va_copy
|
||||
|
@ -104,18 +104,15 @@ int vasprintf(FAR char **ptr, FAR const IPTR char *fmt, va_list ap)
|
|||
* null terminator and will not report this in the number of output bytes.
|
||||
*/
|
||||
|
||||
lib_memoutstream((FAR struct lib_memoutstream_s *)&memoutstream,
|
||||
buf, nulloutstream.nput + 1);
|
||||
lib_memoutstream(&memoutstream, buf, nulloutstream.nput + 1);
|
||||
|
||||
/* Then let lib_vsprintf do it's real thing */
|
||||
|
||||
#ifdef va_copy
|
||||
nbytes = lib_vsprintf((FAR struct lib_outstream_s *)&memoutstream.common,
|
||||
fmt, ap2);
|
||||
nbytes = lib_vsprintf(&memoutstream.common, fmt, ap2);
|
||||
va_end(ap2);
|
||||
#else
|
||||
nbytes = lib_vsprintf((FAR struct lib_outstream_s *)&memoutstream.common,
|
||||
fmt, ap);
|
||||
nbytes = lib_vsprintf(&memoutstream.common, fmt, ap);
|
||||
#endif
|
||||
|
||||
/* Return a pointer to the string to the caller. NOTE: the memstream put()
|
||||
|
|
|
@ -44,8 +44,6 @@ int vsprintf(FAR char *dest, FAR const IPTR char *src, va_list ap)
|
|||
* libs/libc/stdio/lib_vsprintf do the work.
|
||||
*/
|
||||
|
||||
lib_memoutstream((FAR struct lib_memoutstream_s *)&memoutstream, dest,
|
||||
LIB_BUFLEN_UNKNOWN);
|
||||
return lib_vsprintf((FAR struct lib_outstream_s *)&memoutstream.common,
|
||||
src, ap);
|
||||
lib_memoutstream(&memoutstream, dest, LIB_BUFLEN_UNKNOWN);
|
||||
return lib_vsprintf(&memoutstream.common, src, ap);
|
||||
}
|
||||
|
|
|
@ -45,12 +45,10 @@ int vsscanf(FAR const char *buf, FAR const IPTR char *fmt, va_list ap)
|
|||
|
||||
/* Initialize a memory stream to freadm from the buffer */
|
||||
|
||||
lib_meminstream((FAR struct lib_meminstream_s *)&meminstream, buf,
|
||||
LIB_BUFLEN_UNKNOWN);
|
||||
lib_meminstream(&meminstream, buf, LIB_BUFLEN_UNKNOWN);
|
||||
|
||||
/* Then let lib_vscanf do the real work */
|
||||
|
||||
n = lib_vscanf((FAR struct lib_instream_s *)&meminstream.common, NULL,
|
||||
fmt, ap);
|
||||
n = lib_vscanf(&meminstream.common, NULL, fmt, ap);
|
||||
return n;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue