ANNOUNCE: libsupp 4.0 for DJGPP 2.03 and 2.04 uploaded.

ANNOUNCE: libsupp 4.0 for DJGPP 2.03 and 2.04 uploaded.

Post by Juan Manue » Wed, 14 May 2008 21:38:41

his is libsupp 4.0 for MSDOS/DJGPP.


1.: Introduction.
=============

This is a support library for DJGPP 2.04 and 2.03. It shall provide a
small set of new functions that still have not been implemented for DJGPP
or improved versions of functions from DJGPP's CVS source tree so that
the original functions provided with DJGPP's libc.a (2.04 and 2.03) can
be replaced with these new ones.
The decision which function is part and which one is not part of this
library is based on the usefullnes for porting current GNU packages. If
the amount of provided functions increases in the future will depend on
the requirements of the GNU packages to be ported.

The following functions have been implemented to improve compatibility
with GNU glibc:
strndup()
strnlen()

The following functions have already been provided in previous versions
of this library:
argz_add()
argz_add_sep()
argz_append()
argz_count()
argz_create()
argz_createsep()
argz_delete()
argz_extract()
argz_insert()
argz_next()
argz_replace()
argz_stringify()
strtod()
strtof()
strtold()
signbit()
__signbitd()
__signbitf()
__signbitld()
asnprintf()
asprintf()
cprintf()
fprintf()
fseeko()
ftello()
printf()
snprintf()
sprintf()
vasnprintf()
vasprintf()
vfprintf()
vprintf()
vsnprntf()
vsprintf()
_doprnt()

The argz functions store strings in a contiguous chunk of memory using
'\0' as separator token. They are GNU extensions to glibc and have been
implemented to make porting easier.

The strto[dfld] functions now support the conversion of the hex format
strings like this:
"0xh.hhhhP[+|-]ddd"
into variables of the type float, double and long double.

signbit returns 0 if the sign of the mantissa of a floating point number
is positive; if the sign is negative it returns non-zero. __signbit[dfld]
are the internal implementations and should not be called except through
the macro signbit.

fseeko() and ftello() are wrappers for fseek() and ftell().

Apart from the features already provided by the familiy of printf()
functions from djdev204, this version of the functions will provide:
1: Flags.
': This flag allows to format the integer part with the thousands'
character. Because DJGPP only offers C/POSIX locale and this
do not define a thousands' character the flag is ignored.
2: Length modifiers.
DJGPP provides all of them.
3: Conversion specifiers.
%F: 'F' Has been added and works like 'f'.
%[aA]: With this conversion specifier a floating point number will be
converted in the style "[-]0xh.hhhhp$-3d", where h are hexadecimal
digits, p stands for the power of 2 and d is exponent expressed
in decimal digits. %a prints lower case characters and %A
prints upper case characters.
%n$: This implementation of pr