From 268c42b566c2be8deaf4c9c8571d3d2e23bae92d Mon Sep 17 00:00:00 2001 From: solar Date: Fri, 14 May 2010 22:07:08 +0000 Subject: [PATCH] Compacted initializing of status struct. --- functions/stdio/vfprintf.c | 14 +++----------- functions/stdio/vfscanf.c | 13 ++----------- functions/stdio/vsnprintf.c | 16 +++------------- functions/stdio/vsscanf.c | 13 +++---------- 4 files changed, 11 insertions(+), 45 deletions(-) diff --git a/functions/stdio/vfprintf.c b/functions/stdio/vfprintf.c index 626ad51..14e666a 100644 --- a/functions/stdio/vfprintf.c +++ b/functions/stdio/vfprintf.c @@ -15,18 +15,10 @@ int vfprintf( struct _PDCLIB_file_t * _PDCLIB_restrict stream, const char * _PDCLIB_restrict format, va_list arg ) { /* TODO: This function should interpret format as multibyte characters. */ - /* Members: base, flags, n, i, current, s, width, prec, stream, arg */ - struct _PDCLIB_status_t status; - status.base = 0; - status.flags = 0; - status.n = SIZE_MAX; - status.i = 0; - status.current = 0; - status.s = NULL; - status.width = 0; - status.prec = 0; - status.stream = stream; + /* base, flags, n, i, current, s, width, prec, stream, arg */ + struct _PDCLIB_status_t status = { 0, 0, SIZE_MAX, 0, 0, NULL, 0, 0, stream, NULL }; va_copy( status.arg, arg ); + while ( *format != '\0' ) { const char * rc; diff --git a/functions/stdio/vfscanf.c b/functions/stdio/vfscanf.c index bf09226..16ea592 100644 --- a/functions/stdio/vfscanf.c +++ b/functions/stdio/vfscanf.c @@ -14,17 +14,8 @@ int vfscanf( FILE * _PDCLIB_restrict stream, const char * _PDCLIB_restrict format, va_list arg ) { - struct _PDCLIB_status_t status; - status.base = 0; - status.flags = 0; - status.n = 0; - status.i = 0; - status.current = 0; - status.s = NULL; - status.width = 0; - status.prec = 0; - status.stream = stream; - // = { 0, 0, 0, 0, 0, NULL, 0, 0, stream } + /* base, flags, n, i, current, s, width, prec, stream, arg */ + struct _PDCLIB_status_t status = { 0, 0, 0, 0, 0, NULL, 0, 0, stream, NULL }; va_copy( status.arg, arg ); while ( *format != '\0' ) { diff --git a/functions/stdio/vsnprintf.c b/functions/stdio/vsnprintf.c index 4dbd7c2..dee30dc 100644 --- a/functions/stdio/vsnprintf.c +++ b/functions/stdio/vsnprintf.c @@ -13,20 +13,10 @@ int vsnprintf( char * _PDCLIB_restrict s, size_t n, const char * _PDCLIB_restrict format, _PDCLIB_va_list arg ) { - /* TODO: This function should interpret format as multibyte characters. */ - /* Members: base, flags, n, i, current, s, width, prec, stream, arg */ - struct _PDCLIB_status_t status; - status.base = 0; - status.flags = 0; - status.n = n; - status.i = 0; - status.current = 0; - status.s = s; - status.width = 0; - status.prec = 0; - status.stream = NULL; + /* base, flags, n, i, current, s, width, prec, stream, arg */ + struct _PDCLIB_status_t status = { 0, 0, n, 0, 0, s, 0, 0, NULL, NULL }; va_copy( status.arg, arg ); - // = { 0, 0, n, 0, 0, s, 0, 0, NULL }; + while ( *format != '\0' ) { const char * rc; diff --git a/functions/stdio/vsscanf.c b/functions/stdio/vsscanf.c index b494da1..20893c9 100644 --- a/functions/stdio/vsscanf.c +++ b/functions/stdio/vsscanf.c @@ -14,17 +14,10 @@ int vsscanf( const char * _PDCLIB_restrict s, const char * _PDCLIB_restrict format, va_list arg ) { - struct _PDCLIB_status_t status; - status.base = 0; - status.flags = 0; - status.n = 0; - status.i = 0; - status.current = 0; - status.s = (char *)s; - status.width = 0; - status.prec = 0; - status.stream = NULL; + /* base, flag, n, i, current, s, width, prec, stream, arg */ + struct _PDCLIB_status_t status = { 0, 0, 0, 0, 0, (char *)s, 0, 0, NULL, NULL }; va_copy( status.arg, arg ); + while ( *format != '\0' ) { const char * rc; -- 2.40.0