This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] wrap #ifdef for C99 around iswspace and mbrtowc in vfscanf.c


Hello,

Unfortunately the WANT_IO_C99_FORMATS flag was added to keep additional formats like %C from
eating up space in the existing printf/scanf family. Support for %lc and %ls was already in
place by then and so putting the logic under that flag may cause existing platform applications to
fail as only a few platforms have that flag turned on.


I have made a fix to the code to check the ELIX level flag that is provided in newlib.h. If defined and
less than 2, then the code is #ifdef'd out.


-- Jeff J.

litb_devel@web.de wrote:
Hello List,

while working on my port of newlib, i got undefined references to those functions. That happened because i compile newlib using EL/IX level 1, which causes them not to be defined. I wrapped the portion that prints wide characters/strings with _WANT_IO_C99_FORMATS, just like it's already done while parsing the format string. Please be kind, it's my first patch/diff for newlib. :)
have fun, litb.


Index: libc/stdio/vfscanf.c
===================================================================
RCS file: /cvs/src/src/newlib/libc/stdio/vfscanf.c,v
retrieving revision 1.40
diff -r1.40 vfscanf.c
824a825
#ifdef _WANT_IO_C99_FORMATS
863c864,866
< else if (flags & SUPPRESS)
---
else
#endif /* _WANT_IO_C99_FORMATS */
if (flags & SUPPRESS)
952a956
#ifdef _WANT_IO_C99_FORMATS
1001c1005,1007
< else if (flags & SUPPRESS)
---
else
#endif /* _WANT_IO_C99_FORMATS */
if (flags & SUPPRESS)





Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]