diff options
Diffstat (limited to 'trio/CHANGES')
-rw-r--r-- | trio/CHANGES | 626 |
1 files changed, 626 insertions, 0 deletions
diff --git a/trio/CHANGES b/trio/CHANGES new file mode 100644 index 00000000..4fe3aa80 --- /dev/null +++ b/trio/CHANGES @@ -0,0 +1,626 @@ +CHANGES -- trio + + +The changes listed without a name attributed to them were most likely done by +Bjorn Reese and/or Daniel Stenberg. + +Version 1.10 - 2003/03/06 +------------------------- +* Rearranged some include files to accommodate large file support (reported by + Albert Chin-A-Young) + +* Added support for SunOS 4.1.x lack of strerror, tolower, and toupper + (reported by Peter McCluskey). + +* Fixed pedantic compilation with TRIO_MINIMAL. + +* Jose Kahan + Moved <limits.h> to avoid redefinition problems. + +* Fixed hex-float exponents (reported by Matthias Clasen). + +* Fixed handling of negative width and precision via paramters (reported by + Jacob Navia). + +* Nigel Hall + Fixed TRIO_VA_START for VMS. + +* Rune Enggaard Lausen + Fixed compilation for Borland C++ Builder. + +* Fixed precision of hex-float numbers (reported by James Antill). + +* Fixed plus sign only to be added for signed numbers. + +* Fixed printing of integers with value and precision of zero (reported by + James Antill). + +* Fixed %#.o to only print one zero if the value is zero (reported by James + Antill). + +* Rewrote check for IEEE compilation option to remove dependency on additional + scripts. + +* Mehdi Lavasani + Makefile install target fixed to work with older install programs. + +* Collapsed the DECC, MSVC, HP-UX, and AIX code for trio_fpclassify_and_sign() + with further preprocessing. + + +Version 1.9 - 2002/10/13 +------------------------ +* Fixed trio_fpclassify_and_signbit on AIX 3.2 + +* Added configure check for -ieee/-mieee compilation option for Alpha machines. + +* Craig Berry + Fixed compilation on VMS. + +* Albert Chin-A-Young + Fixed incorrect conditional expression in trio_isinf. + +* Fixed the warnings about uninitialized va_list in the printfv and scanfv + family without the use of compiler specific pragmas (suggested by Ian + Pilcher). + +* Fixed space flag for floating-point numbers (reported by Ian Main). + + +Version 1.8 - 2002/07/10 +------------------------ +* Fixed infinite loop in multibyte handling (reported by Gisli Ottarsson). + +* Added the customizable cprintf/cscanf family which enables to user to specify + input and output stream functions (suggested by Florian Schulze). + +* Fixed trio_isinf by removing the HP-UX workaround, and instead making sure + that the C99 macro will adhere to the trio return values (reported by Luke + Dunstan). + +* Alexander Lukyanov + Fixed boundary case for scanning and EOF. + +* Jacob Navia + Enabled the L modifier for formatting. + +* Added TRIO_MINIMAL to build trio without the string functions. + +* Added the R modifier to print rounded floating-point numbers. + +* Added trio_to_long_double and long double scanning (the L modifier). + +* Added trio_locale_decimal_point, trio_locale_thousand_separator, + trio_locale_grouping to overwrite locale settings. + +* Rewrote TrioWriteDouble to avoid temporary buffers and thus the danger of + buffer overflows (for instance %.5000f). + +* Improved floating-point formatting accuracy. + +* Fixed formatting of non-decimal exponents. + +* Fixed thousand separator checking. + +* Fixed %f scanning to get a float and %lf to get a double. + +* Fixed WIN32 compilation (reported by Emmanuel Mogenet) + +* Fixed regression test cases to exclude disabled features. + + +Version 1.7 - 2002/05/07 +------------------------ +* Fixed trio_to_double to handle hex-floats properly. + +* Fixed printing of %a-format to be like %e, not like %g. + +* Fixed floating-point printing of values beyond the machine accuracy. + +* Fixed %f for printing with large precision. + +* Fixed the usage of C99 nan(), which caused a crash on OSF/1 (reported by + Georg Bolz) + +* Joe Orton + Fixed %p on 64-bit platforms. + +* Made trio compile with K&R compilers. + +* Emmanuel Mogenet + Fixed bug in trio_asprintf. + +* Emmanuel Mogenet + Various WIN32 fixes. + +* Joe Orton + Fixed trio_isinf() on HP-UX, and added test cases. + +* Joe Orton + Fixed non-portable use of $^ in Makefile. + +* Joe Orton + Added autoconf. + +* Alexander Lukyanov + Fixed a number of bugs in the scanning of EOF and the count specifier. + +* Richard Jinks + Added trio_nzero + +* Fixed incorrect handling of return code from TrioReadChar (reported by + Henrik Löf) + +* Fixed parsing of character class expressions. + +* Fixed trio_to_double which did not work with long fractions. + +* Fixed %f for printing of large numbers. + +* Fixed %#s to handle whitespaces as non-printable characters. + +* Added trio_isfinite, trio_signbit, and trio_fpclassify. + +* Added new test cases. + + +Version 1.6 - 2002/01/13 +------------------------ +* Added dynamic string functions. + +* Rewrote and extended documentation in JavaDoc (using Doxygen). + +* Moved and renamed strio functions to triostr. + +* Robert Collins + Added definition for Cygwin. + +* Markus Henke + Added long double workaround for the HP C/iX compiler. + +* Marc Verwerft + Improved error handling for dynamically allocated strings. + +* John Fotheringham + Made trionan compile on OpenVMS. + +* Added 'd' and 'D' as exponent letters when using TRIO_MICROSOFT. + +* Fixed uninitial memory read for the parameter modifiers. + + +Version 1.5 - 2001/09/08 +------------------------ +* Merged with libxml changes. + +* Moved NaN and Inf handling to separate file to enable reuse in other + projects. + +* Igor Zlatkovic + Fixed TrioGenerateNan for MSVC. + +* Fixed lots of preprocessor macros and internal data structure names. + + +Version 1.4 - 2001/06/03 +------------------------ +* Added hex-float (%a and %A) for scanning. + +* Added wide character arguments (%ls, %ws, %S, %lc, %wc, and %C) for both + printf and scanf. + +* Added mutex callbacks for user-specified specifiers to enable applications to + add thread-safety. These are registered with trio_register, where the + namespace is set to either ":enter" to lock a mutex, or ":leave" to unlock a + mutex. + +* Added equivalence class expressions for scanning. For example, %[[=a=]] scans + for all letters in the same equivalence class as the letter 'a' as defined + by the locale. + +* Changed character class expressions for scanning. The expressions must now + be embedded withing an extra set of brackets, e.g. %[[:alpha:]]. This was + done to adhere to the syntax of UNIX98 regular expressions. + +* Added the possibility to specify standard support (TRIO_C99 etc.) as compiler + options. + +* Fixed conversion of hex-float in StrToDouble. + +* Fixed formatting of hex-float numbers. + +* Stan Boehm + Fixed crash on QNX, which happend because some buffers on the stack were too + big. + +* Fixed default precision for %f and %g (reported by Jose Ortiz) + +* Howard Kapustein + Added the I8, I16, I32, and I64 modifiers. + +* Jose Ortiz + Fixed rounding problem for %e. + +* Jose Ortiz + Fixed various problems with the xlC and Sun C++ compilers. + + +Version 1.3 - 2001/05/16 +------------------------ +* trio's treatment of the field width when the %e code was used was not + correct (reported by Gisli Ottarsson). It turns out the fraction part should + be zero-padded by default and the exponent part should be zero-prefixed if + it is only one digit. At least that's how the GNU and Sun libc's work. The + trio floating point output looks identical to them now. + +* Fixed group scanning with modifiers. + +* Fixed compilation for 64-bit Digital Unix. + +* Igor Zlatkovic + Fixed compilation of dprintf, which uses read/write, for MSVC. + +* Fixed various compilation problems on Digital Unix (mainly associated with + va_list). + + +Version 1.2 - 2001/04/11 +------------------------ +* Added autoconf integration. If compiled with HAVE_CONFIG_H the following + happens. Firstly, <config.h> is included. Secondly, trio will only be + compiled if WITH_TRIO is defined herein. Thirdly, if TRIO_REPLACE_STDIO is + defined, only stdio functions that have not been detected by autoconf, i.e. + those not defined by HAVE_PRINTF or similar, will be replaced by trio + functions (suggested by Daniel Veillard). + +* Fixed '%m.nf' output. Previously trio did not treat the width properly + in all cases (reported by Gisli Ottarsson). + +* Added explicit promotion for the scanfv family. + +* Fixed more C++ compilation warnings. + + +Version 1.1 - 2001/02/25 +------------------------ +* Added explicit promotion for the printfv familiy. A float must be specified + by %hf. + +* Fixed positionals for printfv (reported by Gisli Ottarsson). + +* Fixed an integer to pointer conversion problem on the SGI MIPS C compiler + (reported by Gisli Ottarsson). + +* Fixed ANSI C++ warnings (type casting, and namespace is a reserved keyword). + +* Added \n to all examples in the documentation to prevent confusion. + +* Fixed StrSubstringMax + + +Version 1.0 - 2000/12/10 +------------------------ +* Bumped Version number. + + +Version 0.25 - 2000/12/09 +------------------------- +* Wrote more documentation. + +* Improved NaN support and added NaN to regression test. + +* Fixed C99 support. + +* Added missing getter/setter functions. + + +Version 0.24 - 2000/12/02 +------------------------- +* Added callback functionality for the user-defined specifier (<>). All + the necessary functions are defined in triop.h header file. See the + documentation for trio_register for further detail. + +* Wrote initial documentation on the callback functionality. + +* Added the printfv and scanfv family of functions, which takes a pointer + array rather than variadic arguments. Each pointer in the array must point + to the associated data (requested by Bruce Korb). + +* As indicated in version 0.21 the extension modifiers (<>) have now been + completely removed. + +* Added skipping of thousand-separators in floating-point number scanning. + + +Version 0.23 - 2000/10/21 +------------------------- +* Added width to scanning of floating-point numbers. + +* Wrote more documentation on trio_printf. + +* Fixed problem with trailing zeroes after decimal-point. + + +Version 0.22 - 2000/08/06 +------------------------- +* Added LC_CTYPE locale dependent character class expressions to scan lists. + Included are [:alnum:], [:alpha:], [:cntrl:], [:digit:], [:graph:], + [:lower:], [:print:], [:punct:], [:space:], [:upper:], [:xdigit:] + +* Added C escapes to alternative string formatting and scanning. + +* Added StrSubstringMax. + +* Wrote a little more documentation. + +* Fixed scanf return values. + +* Fixed a sign error for non-ascii characters. + + +Version 0.21 - 2000/07/19 +------------------------- +* Converted the documentation to TeX. With latex2man the documentation can + automatically be converted into man pages. + +* Added trio_scanf, trio_vscanf, trio_fscanf, and trio_vfscanf. + +* Added trio_dprintf, trio_vdprintf, trio_dscanf, and trio_vdscanf. These + functions can be used to write and read directly to pipes and sockets (the + assume blocking sockets). Stdio buffering is surpassed, so the functions are + async-safe. However, reading from stdin (STDIN_FILENO) or writing to stdout + (STDOUT_FILENO) reintroduces the buffering. + +* Added trio_dprintf and trio_vdprintf. These can be used to write directly + to pipes and sockets. + +* Paul Janzen + Added trio_asprintf and trio_vasprintf, which are compatible with the GNU + and BSD interfaces. + +* Added scanlist ranges for group scanning (%[]). + +* Added width for scanning (missing for floating-point numbers though). + +* Added variable size modifier (&) to handle system defined types of unknown + size. This modifier makes certain assumptions about the integer sizes, which + may not be valid on any machine. Consequently, the modifier will remain + undocumented, as it may be removed later. + +* Added \777 and \xFF to alternative string scanning (%#s) + +* Added the TRIO_REPLACE_STDIO check in the header. + +* Improved performance of the multibyte character parsing. + +* Fixed positionals (%n$) which had stopped working. + +* Fixed hh and ll modifiers to allow exactly two letters and no more. + +* Fixed ANSI C++ warnings. Also fixed the compiler warning about casting + between integer and pointer (this has been annoying me for ages). + +* Fixed snprintf and vsnprintf with zero buffer size. + +* Fixed NAN problems (reported by Keith Briggs). + +* Fixed parsing of multibyte characters. The format string was not correctly + advanced in case of a multibyte character. + +* Renamed many of the internal functions to have more consistant names. + +* Removed the <quote=c> and <fill=c> modifiers. They are not really worth + including. The other <> modifiers may disappear as well. + + +Version 0.20 - 2000/06/05 +------------------------- +* Added intmax_t and ptrdiff_t support. + +* Added support for LC_NUMERIC grouping. + +* Added double-dot notation for the conversion base. The style is now + %width.precision.base, where any argument can be a number, an asterix + indicating a parameter, or be omitted entirely. For example, %*..2i is + to specify binary numbers without precision, and with width as a parameter + on the va_list. + +* Added sticky modifier (!), which makes subsequent specifiers of the same + type reuse the current modifiers. Inspired by a suggestion from Gary Porter. + +* Added group scanning (%[]). Scanlist ranges and multibyte sequences are not + supported yet. + +* Added count scanning (%n). + +* Changed the number scanning to accept thousand separators and any base. + +* Fixed positional for parameters. It is possible to write something like + %3$*1$.*2$d (which happens to be the same as %*.*d). + +* Fixed precision of integers. + +* Fixed parameter flags. Before trio could only handle one parameter flag per + specifier, although two (three with double-dot base) were possible. + +* Fixed isinf() for those platforms where it is unimplemented. + + +Version 0.18 - 2000/05/27 +------------------------- +* Rewrote the entire floating-point formatting function (Danny Dulai had + reported several errors and even supplied some patches, which unfortunately + were lost due to the refactoring). + +* Removed the use of strlen() in the declaration of a stack array. This + caused problems on some compilers (besides it isn't really ANSI C compliant + anyways). Using some arbitrarily chosen maximum value; should examine if + some standard defines an upper limit on the length of decimal-point and + thousands-separator (sizeof(wchar_t) perhaps?) + +* Changed the parsing of the format string to be multibyte aware. + + +Version 0.17 - 2000/05/19 +------------------------- +* Added INF, -INF, and NAN for floating-point numbers. + +* Fixed %#.9g -- alternative with precision. + +* Ken Gibson + Fixed printing of negative hex numbers + +* Joerg (last name unknown) + Fixed convertion of non-ASCII characters + + +Version 0.16 - 1999/08/06 +------------------------- +* Changed the constness of the second argument of StrFloat and StrDouble. The + lack of parameter overloading in C is the reason for the strange use of + constness in strtof and strtod. + +* Cleaned up constness. + + +Version 0.15 - 1999/07/23 +------------------------- +* Fixed the internal representation of numbers from signed to unsigned. Signed + numbers posed a problem for large unsigned numbers (reported by Tero) + +* Fixed a tiny bug in trio_vsprintfcat + +* Changed the meaning of the max argument of StrAppendMax to be consistant + with StrFormatAppendMax. Now it is the maximal size of the entire target + buffer, not just the appended size. This makes it easier to avoid buffer + overflows (requested by Tero) + + +Version 0.14 - 1999/05/16 +------------------------- +* Added size_t support (just waiting for a C99 compliant compiler to add + ptrdiff_t and intmax_t) + +* Rewrote TrioOutStreamDouble so it does not use the libc sprintf to emulate + floating-point anylonger. + +* Fixed width, precision, and adjustment for numbers and doubles. + + +Version 0.13 - 1999/05/06 +------------------------- +* Fixed zero padding for %d. Now %d will only zero pad if explicitly requested + to do so with the 0 flag (reported by Tero). + +* Fixed an incorrect while() condition in TrioGetString (reported by Tero). + + +Version 0.12 - 1999/04/19 +------------------------- +* Fixed incorrect zero padding of pointers + +* Added StrHash with STRIO_HASH_PLAIN + +* Added StrFormatDateMax + + +Version 0.11 - 1999/03/25 +------------------------- +* Made it compile under cygwin + +* Fixed a bug were TrioPreprocess would return an error if no formatting chars + were found (reported by Tero). + + +Version - 1999/03/19 +-------------------- +* Added trio_strerror and TRIO_ERROR_NAME. + +* Changed the error codes to be positive (as errno) + +* Fixed two reads of uninitialized memory reported by Purify + +* Added binary specifiers 'b' and 'B' (like SCO.) ThousandSeparator can be + used to separate nibbles (4 bit) + +* Renamed all Internal* functions to Trio*, which seems like a better + namespace (even though it is of no practical interest because these + functions are not visible beyond the scope of this file.) + + +Version - 1999/03/12 +-------------------- +* Added hex-float format for StrToDouble + +* Double references and gaps in the arguments are not allowed (for the %n$ + format) and in both cases an error code is returned. + +* Added StrToDouble (and StrToFloat) + + +Version - 1999/03/08 +-------------------- +* Added InStream and OutStream to the trio_T structure. + +* Started work on TrioScan. + +* Return values for errors changed. Two macros to unpack the error code has + been added to the header. + +* Shortshort (hh) flag added. + +* %#s also quotes the quote-char now. + +* Removed the 'errorInFormat' boolean, which isn't used anymore after the + functions bail out with an error instead. + + +Version - 1999/03/04 +-------------------- +* More than MAX_PARAMETERS parametes will now cause the TrioPreprocess() + function to return error. + +* Unknown flags and/or specifiers cause errors too. + +* Added trio_snprintfcat and trio_vsnprintfcat and the defined name + StrFormatAppendMax. They append a formatted string to the end of a string. + +* Define MAX_PARAMETERS to 128 at all times instead of using NL_ARGMAX when + that exists. + +* Added platform fixes for Amiga as suggested by Tero Jänkä <tesaja@utu.fi> + + +Version - 1999/01/31 +-------------------- +* vaprintf did add a zero byte even when it had failed. + +* Cleaned up the code for locale handling and thousand separator + +* Added trio_aprintf() and trio_vaprintf(). They return an allocated string. + +* Added thousands separator for numbers + +* Added floating point support for *printf + + +Version - 1998/10/20 +-------------------- +* StrMatchCase() called StrMatch() instead of itself recursively + +* Rewrote the implementation of *printf and *scanf and put all the code in + this file. Extended qualifiers and qualifiers from other standards were + added. + +* Added StrSpanFunction, StrToLong, and StrToUnsignedLong + + +Version - 1998/05/23 +-------------------- +* Made the StrEqual* functions resistant to NULL pointers + +* Turns out strdup() is no standard at all, and some platforms (I seem to + recall HP-UX) has problems with it. Made our own StrDuplicate() instead. + +* Added StrFormat() and StrFormatMax() to serve as sprintf() and snprintf() + respectively. |