summaryrefslogtreecommitdiff
path: root/TODO
diff options
context:
space:
mode:
authorManuel Novoa III <mjn3@codepoet.org>2003-08-01 20:08:59 +0000
committerManuel Novoa III <mjn3@codepoet.org>2003-08-01 20:08:59 +0000
commit1217289737588e65b088b3535428b27c7287d699 (patch)
tree6a292ac767d219702e26a6a2111737f84a96900c /TODO
parent32b76c5ec3c257b7287913d0d1a96e0cbb2e9c6a (diff)
Add a new *scanf implementation, includeing the *wscanf functions.
Should be standards compliant and with several optional features, including support for hexadecimal float notation, locale awareness, glibc-like locale-specific digit grouping with the `'' flag, and positional arg support. I tested it pretty well (finding several bugs in glibc's scanf in the process), but it is brand new so be aware. The *wprintf functions now support floating point output. Also, a couple of bugs were squashed. Finally, %a/%A conversions are now implemented. Implement the glibc xlocale interface for thread-specific locale support. Also add the various *_l(args, locale_t loc_arg) funcs. NOTE!!! setlocale() is NOT threadsafe! NOTE!!! The strto{floating point} conversion functions are now locale aware. The also now support hexadecimal floating point notation. Add the wcsto{floating point} conversion functions. Fix a bug in mktime() related to dst. Note that unlike glibc's mktime, uClibc's version always normalizes the struct tm before attempting to determine the correct dst setting if tm_isdst == -1 on entry. Add a stub version of the libintl functions. (untested) Fixed a known memory leak in setlocale() related to the collation data. Add lots of new config options (which Erik agreed to sort out :-), including finally exposing some of the stripped down stdio configs. Be careful with those though, as they haven't been tested in a long time. (temporary) GOTCHAs... The ctype functions are currently incorrect for 8-bit locales. They will be fixed shortly. The ctype functions are now table-based, resulting in larger staticly linked binaries. I'll be adding an option to use the old approach in the stub locale configuration.
Diffstat (limited to 'TODO')
-rw-r--r--TODO54
1 files changed, 22 insertions, 32 deletions
diff --git a/TODO b/TODO
index 8cfac9d7d..0737971c9 100644
--- a/TODO
+++ b/TODO
@@ -25,53 +25,43 @@ I'm currently working on completing the wide char and locale support.
1) Little things that need fixing:
----------------------------------
- *) Fix bug in *printf: outdigit precison bug
- a) Use locale decimal point in *printf() and strto*d() -- slightly
- complicated by the fact that at least one locale uses a wchar
- radix that does not map to a single byte in UTF-8.
- b) Use locale digit grouping in *printf() flosting point.
- c) Deal with mb format string issues in scanf and strftime (at least).
- d) Support gnu/bsd extension members tm_gmtoff and tm_zone in struct tm.
+ a) Fix the ctype support for 8-bit locales.
+ b) Fix bug in *printf: outdigit precison bug
+ c) Check that gnu/bsd extension members tm_gmtoff and tm_zone in struct tm
+ are respected where they should be.
+ d) Implement the obstack printf funcs for glibc compat.
+ e) Implement glibc 'a' flag for scanf string conversions.
+ f) Allow use of the older non-table-based ctype functions when using
+ stub locale support. (smaller)
- 2) Implement wide char floating point conversion functions -- wcsto*().
-
- 3) Reimplement scanf for narrow and wide streams.
- -------------------------------------------------
- The current char version of scanf() needs some cleanup. Also,
- modifying the char version of scanf() to create the wchar versions
- will require reworking the implementation of matching char sets
- (enclosed in []).
-
- 4) Additional str{f|p}time issues.
+ 2) Additional str{f|p}time issues.
----------------------------------
a) Spacing issue wrt strptime.
b) Support locale specific alternate digits. (data is in place)
c) Support locale era in year designations. (data is in place)
+ d) Deal with mb format string issues in strftime.
+ e) Implement wcsftime.
- 5) Other locale issues (my implementation):
+ 3) Other locale issues (my implementation):
-------------------------------------------
- a) Additional clean up of ctype and wctype, primarily to allow for mmap'd
- locales and updateable locale data.
- b) Build a C-only locale object for linking and allow full locale data to
- be mmap'd in later, to allow updating and to make locale support useful
- for staticly linked apps.
- c) Adapt regex lib to use my collation data and add the necessary collating
+ a) Do a little more clean up of ctype and wctype.
+ b) Rework of the locale data organization to make using locales reasonable
+ when staticly linking. (mmap)
+ c) Rewrite the locale data generation tools to process the text specifications
+ rather than relying on glibc.
+ d) Adapt regex lib to use my collation data and add the necessary collating
item tables to support SUSv3 required features.
- d) transliteration of unsupported wchars in 8-bit locales (like glibc).
- e) Support ISO/IEC 14652 draft locale extensions (LC_PAPER, etc).
+ e) transliteration of unsupported wchars in 8-bit locales (like glibc).
+ f) Support ISO/IEC 14652 draft locale extensions (LC_PAPER, etc).
+ g) Implement strfrom.
+ h) Shift-state codeset locale support?
Other stuff:
-Reimplement _dtostr to correct its deficiencies (%A support!) and hopefully
- reduce its size.
-
Move the target-specific sysconf.c generator to extra (as it needs to be
run on the target) and fix libc/unistd/Makefile.
-Make errno and endptr handling the default in the strto* functions and
- document how to turn those off to save space.
-
-----------------------------------------------------------------------------
ds's list: