1
0
Fork 0
mirror of git://git.code.sf.net/p/cdesktopenv/code synced 2025-02-15 04:32:24 +00:00

Remove AT&T UWIN support code

UWIN was David Korn's UNIX emulation layer for Microsoft Windows.
It was never very well known, certainly not like Cygwin or
Microsoft SFU/Interix. It was a very interesting system that
exposed the Windows registry to the file system, making it
UNIX-like, and that natively used ksh and all the AST utilities.

Regrettably, it appears to be dead and buried. Only 32-bit binaries
can still be found in the wild, as well as the source code at:
	https://github.com/att/uwin
The latter does not seem to be usable since (as far as I can tell)
it requires a UWIN environment with a compiler to build, and UWIN
binaries with a compiler are simply nowhere to be found.

The activity level on that repo (which is zero) also shows how much
interest there still is in this project. And of course the
supporting code in this repo is almost certainly broken by now as
we've never been able to test it on a UWIN system.

The AST team clearly cared about it since roughly 8k lines of code
are dedicated to its support, disabled (directly or indirectly) on
non-UWIN systems via the _UWIN macro. This removes all that.
This commit is contained in:
Martijn Dekker 2022-07-21 09:37:26 +02:00
parent 7ba2c68525
commit d9a85caf22
149 changed files with 108 additions and 8676 deletions

View file

@ -682,64 +682,6 @@ use) case $1 in
32|64) bit=$1 ;;
esac
shift
# HOSTTYPE specific setup
case $HOSTTYPE in
win32.*)sys=uwin
wow=$(uname -i)
case $bit in
32) case $HOSTTYPE in
*-64) HOSTTYPE=${HOSTTYPE%-64} ;;
esac
;;
64) case $HOSTTYPE in
*-64) ;;
*) HOSTTYPE=$HOSTTYPE-64 ;;
esac
case $wow in
*/32) err_out "cannot build $bit-bit on $wow $sys" ;;
esac
;;
esac
case $bit in
'') PS1="($sys) " ;;
*) PS1="($sys-$bit) " ;;
esac
$exec umask 002
$exec unset MAKESKIP
P=$PWD
A=$P/arch/$HOSTTYPE
$exec export CDPATH=:..:$A/src/cmd:$A/src/lib:$A/src/uwin:$P/lib/package
$exec export INSTALLROOT=$A
$exec export PACKAGEROOT=$P
$exec export PATH=$A/bin:$P/bin:$PATH
$exec export PS1="$PS1"
$exec export VPATH=$A:$P
$exec export nativepp=/usr/lib
if test -n "$INSTALLROOT" && test -d "$INSTALLROOT/include/ast"
then $exec export PACKAGE_ast=$INSTALLROOT
elif test -d ${PWD%/*}/ast/arch/$HOSTTYPE
then $exec export PACKAGE_ast=${PWD%/*}/ast/arch/$HOSTTYPE
fi
# run the command
case $# in
0) case $show in
':') $exec exec $SHELL ;;
esac
;;
*) $exec exec $SHELL -c "$@"
;;
esac
exit
;;
esac
PACKAGEROOT=$PWD
$show export PACKAGEROOT
esac

View file

@ -682,64 +682,6 @@ use) case $1 in
32|64) bit=$1 ;;
esac
shift
# HOSTTYPE specific setup
case $HOSTTYPE in
win32.*)sys=uwin
wow=$(uname -i)
case $bit in
32) case $HOSTTYPE in
*-64) HOSTTYPE=${HOSTTYPE%-64} ;;
esac
;;
64) case $HOSTTYPE in
*-64) ;;
*) HOSTTYPE=$HOSTTYPE-64 ;;
esac
case $wow in
*/32) err_out "cannot build $bit-bit on $wow $sys" ;;
esac
;;
esac
case $bit in
'') PS1="($sys) " ;;
*) PS1="($sys-$bit) " ;;
esac
$exec umask 002
$exec unset MAKESKIP
P=$PWD
A=$P/arch/$HOSTTYPE
$exec export CDPATH=:..:$A/src/cmd:$A/src/lib:$A/src/uwin:$P/lib/package
$exec export INSTALLROOT=$A
$exec export PACKAGEROOT=$P
$exec export PATH=$A/bin:$P/bin:$PATH
$exec export PS1="$PS1"
$exec export VPATH=$A:$P
$exec export nativepp=/usr/lib
if test -n "$INSTALLROOT" && test -d "$INSTALLROOT/include/ast"
then $exec export PACKAGE_ast=$INSTALLROOT
elif test -d ${PWD%/*}/ast/arch/$HOSTTYPE
then $exec export PACKAGE_ast=${PWD%/*}/ast/arch/$HOSTTYPE
fi
# run the command
case $# in
0) case $show in
':') $exec exec $SHELL ;;
esac
;;
*) $exec exec $SHELL -c "$@"
;;
esac
exit
;;
esac
PACKAGEROOT=$PWD
$show export PACKAGEROOT
esac

View file

@ -37,9 +37,6 @@ done
for i in $probe_header
do echo "#include <$i>"
done
echo '#ifdef _UWIN'
echo "int _Pr0b3_uwin=_UWIN;"
echo '#endif'
echo '#ifdef __BORLANDC__'
echo "int _Pr0b3_version_BORLAND=__BORLANDC__;"
echo '#endif'
@ -67,7 +64,6 @@ echo '#endif'
} > easy.c
include=
uwin=
$cc -E easy.c 2>&1 |
egrep -i '^(#(line)? 1 .*\.[hH]| *int +_Pr0b3_[a-zA-Z_]* *= *[0-9])' |
@ -213,18 +209,10 @@ CC.STATIC = -Bstatic
then stdlib="$stdlib $d"
fi
done
case $uwin in
[0-9]*) cat <<!
CC.STDINCLUDE = /usr/include $stdinc
CC.STDLIB = /usr/lib$lib $stdlib
!
;;
*) cat <<!
cat <<!
CC.STDINCLUDE = $stdinc
CC.STDLIB = $stdlib
!
;;
esac
cat <<!
CC.STRICT =
CC.STRIP = strip

View file

@ -1,7 +1,7 @@
hdr nc,exec_attr
mem exception.name,_exception.name math.h
lib setreuid,setregid,nice,fork,spawnveg,fchdir
lib pathnative,pathposix,uwin_path,uwin_unpath,fts_notify
lib pathnative,pathposix,fts_notify
lib memcntl sys/mman.h
lib getexecuser,free_execattr exec_attr.h -lsecdb

View file

@ -31,7 +31,7 @@
#include "defs.h"
#if !defined(SHOPT_SPAWN)
# if _UWIN || _use_spawnveg
# if _use_spawnveg
# define SHOPT_SPAWN 1
# endif
#endif /* !SHOPT_SPAWN */

View file

@ -44,20 +44,6 @@ static Dtdisc_t _Refdisc =
offsetof(struct Namref,np),sizeof(struct Namval_t*),sizeof(struct Namref)
};
#if !_lib_pathnative && _lib_uwin_path
#define _lib_pathnative 1
extern int uwin_path(const char*, char*, int);
size_t
pathnative(const char* path, char* buf, size_t siz)
{
return uwin_path(path, buf, siz);
}
#endif /* _lib_pathnative */
static void attstore(Namval_t*,void*);
static void pushnam(Namval_t*,void*);
static char *staknam(Namval_t*, char*);

View file

@ -1033,8 +1033,6 @@ make install
done pathnative.o generated
make pathposix.o
make path/pathposix.c
make uwin.h implicit
done uwin.h dontcare virtual
prev include/ast.h implicit
done path/pathposix.c
prev path/pathposix.c
@ -2752,33 +2750,6 @@ make install
prev comp/killpg.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Iinclude -Istd -D_PACKAGE_ast -c comp/killpg.c
done killpg.o generated
make hsearch.o
make comp/hsearch.c
make cdt/dthdr.h implicit
make cdt/cdtlib.h implicit
prev include/debug.h implicit
make include/aso.h implicit
prev ast_common.h implicit
done include/aso.h dontcare
prev include/cdt.h implicit
make ${INSTALLROOT}/include/ast/dlldefs.h implicit
done ${INSTALLROOT}/include/ast/dlldefs.h dontcare
prev include/ast.h implicit
done cdt/cdtlib.h dontcare
done cdt/dthdr.h dontcare
prev include/ast.h implicit
done comp/hsearch.c
prev comp/hsearch.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icdt -Icomp -Iinclude -Istd -I${INSTALLROOT}/include/ast -D_PACKAGE_ast -c comp/hsearch.c
done hsearch.o generated
make tsearch.o
make comp/tsearch.c
prev cdt/dthdr.h implicit
prev include/ast.h implicit
done comp/tsearch.c
prev comp/tsearch.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icdt -Icomp -Iinclude -Istd -I${INSTALLROOT}/include/ast -D_PACKAGE_ast -c comp/tsearch.c
done tsearch.o generated
make getlogin.o
make comp/getlogin.c
prev include/ast.h implicit
@ -3542,7 +3513,18 @@ make install
done regstat.o generated
make dtclose.o
make cdt/dtclose.c
prev cdt/dthdr.h implicit
make cdt/dthdr.h implicit
make cdt/cdtlib.h implicit
prev include/debug.h implicit
make include/aso.h implicit
prev ast_common.h implicit
done include/aso.h dontcare
prev include/cdt.h implicit
make ${INSTALLROOT}/include/ast/dlldefs.h implicit
done ${INSTALLROOT}/include/ast/dlldefs.h dontcare
prev include/ast.h implicit
done cdt/cdtlib.h dontcare
done cdt/dthdr.h dontcare
done cdt/dtclose.c
prev cdt/dtclose.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icdt -Icomp -Iinclude -Istd -I${INSTALLROOT}/include/ast -D_PACKAGE_ast -c cdt/dtclose.c
@ -4251,20 +4233,6 @@ make install
prev stdio/fdopen.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Iport -Isfio -Istdio -Iinclude -Istd -I${INSTALLROOT}/include -D_PACKAGE_ast -c stdio/fdopen.c
done fdopen.o generated
make feof.o
make stdio/feof.c
prev stdio/stdhdr.h implicit
done stdio/feof.c
prev stdio/feof.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Iport -Isfio -Istdio -Iinclude -Istd -I${INSTALLROOT}/include -D_PACKAGE_ast -c stdio/feof.c
done feof.o generated
make ferror.o
make stdio/ferror.c
prev stdio/stdhdr.h implicit
done stdio/ferror.c
prev stdio/ferror.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Iport -Isfio -Istdio -Iinclude -Istd -I${INSTALLROOT}/include -D_PACKAGE_ast -c stdio/ferror.c
done ferror.o generated
make fflush.o
make stdio/fflush.c
prev stdio/stdhdr.h implicit
@ -4293,13 +4261,6 @@ make install
prev stdio/fgets.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Iport -Isfio -Istdio -Iinclude -Istd -I${INSTALLROOT}/include -D_PACKAGE_ast -c stdio/fgets.c
done fgets.o generated
make fileno.o
make stdio/fileno.c
prev stdio/stdhdr.h implicit
done stdio/fileno.c
prev stdio/fileno.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Iport -Isfio -Istdio -Iinclude -Istd -I${INSTALLROOT}/include -D_PACKAGE_ast -c stdio/fileno.c
done fileno.o generated
make fopen.o
make stdio/fopen.c
prev stdio/stdhdr.h implicit
@ -4321,13 +4282,6 @@ make install
prev stdio/fpurge.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Iport -Isfio -Istdio -Iinclude -Istd -I${INSTALLROOT}/include -D_PACKAGE_ast -c stdio/fpurge.c
done fpurge.o generated
make fputc.o
make stdio/fputc.c
prev stdio/stdhdr.h implicit
done stdio/fputc.c
prev stdio/fputc.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Iport -Isfio -Istdio -Iinclude -Istd -I${INSTALLROOT}/include -D_PACKAGE_ast -c stdio/fputc.c
done fputc.o generated
make fputs.o
make stdio/fputs.c
prev stdio/stdhdr.h implicit
@ -4398,41 +4352,6 @@ make install
prev stdio/fwrite.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Iport -Isfio -Istdio -Iinclude -Istd -I${INSTALLROOT}/include -D_PACKAGE_ast -c stdio/fwrite.c
done fwrite.o generated
make flockfile.o
make stdio/flockfile.c
prev stdio/stdhdr.h implicit
done stdio/flockfile.c
prev stdio/flockfile.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Iport -Isfio -Istdio -Iinclude -Istd -I${INSTALLROOT}/include -D_PACKAGE_ast -c stdio/flockfile.c
done flockfile.o generated
make ftrylockfile.o
make stdio/ftrylockfile.c
prev stdio/stdhdr.h implicit
done stdio/ftrylockfile.c
prev stdio/ftrylockfile.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Iport -Isfio -Istdio -Iinclude -Istd -I${INSTALLROOT}/include -D_PACKAGE_ast -c stdio/ftrylockfile.c
done ftrylockfile.o generated
make funlockfile.o
make stdio/funlockfile.c
prev stdio/stdhdr.h implicit
done stdio/funlockfile.c
prev stdio/funlockfile.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Iport -Isfio -Istdio -Iinclude -Istd -I${INSTALLROOT}/include -D_PACKAGE_ast -c stdio/funlockfile.c
done funlockfile.o generated
make getc.o
make stdio/getc.c
prev stdio/stdhdr.h implicit
done stdio/getc.c
prev stdio/getc.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Iport -Isfio -Istdio -Iinclude -Istd -I${INSTALLROOT}/include -D_PACKAGE_ast -c stdio/getc.c
done getc.o generated
make getchar.o
make stdio/getchar.c
prev stdio/stdhdr.h implicit
done stdio/getchar.c
prev stdio/getchar.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Iport -Isfio -Istdio -Iinclude -Istd -I${INSTALLROOT}/include -D_PACKAGE_ast -c stdio/getchar.c
done getchar.o generated
make getw.o
make stdio/getw.c
prev stdio/stdhdr.h implicit
@ -4461,13 +4380,6 @@ make install
prev stdio/printf.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Iport -Isfio -Istdio -Iinclude -Istd -I${INSTALLROOT}/include -D_PACKAGE_ast -c stdio/printf.c
done printf.o generated
make putc.o
make stdio/putc.c
prev stdio/stdhdr.h implicit
done stdio/putc.c
prev stdio/putc.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Iport -Isfio -Istdio -Iinclude -Istd -I${INSTALLROOT}/include -D_PACKAGE_ast -c stdio/putc.c
done putc.o generated
make putchar.o
make stdio/putchar.c
prev stdio/stdhdr.h implicit
@ -4657,21 +4569,6 @@ make install
prev stdio/_flsbuf.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Iport -Isfio -Istdio -Iinclude -Istd -I${INSTALLROOT}/include -D_PACKAGE_ast -c stdio/_flsbuf.c
done _flsbuf.o generated
make _stdfun.o
make stdio/_stdfun.c
prev stdio/stdhdr.h implicit
make FEATURE/uwin implicit
make features/uwin
done features/uwin
exec - iffe ${IFFEFLAGS} -v -X ast -X std -c "${CC} ${mam_cc_FLAGS} ${CCFLAGS} ${LDFLAGS}" run features/uwin
done FEATURE/uwin dontcare generated
prev uwin.h implicit
prev include/ast_windows.h implicit
prev include/ast.h implicit
done stdio/_stdfun.c
prev stdio/_stdfun.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Iport -Isfio -Istdio -Iinclude -Istd -I${INSTALLROOT}/include -D_PACKAGE_ast -c stdio/_stdfun.c
done _stdfun.o generated
make _stdopen.o
make stdio/_stdopen.c
prev stdio/stdhdr.h implicit
@ -5257,196 +5154,13 @@ make install
prev vmalloc/vmgetmem.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Iinclude -Istd -D_PACKAGE_ast -c vmalloc/vmgetmem.c
done vmgetmem.o generated
make a64l.o
make uwin/a64l.c
prev FEATURE/uwin implicit
done uwin/a64l.c
prev uwin/a64l.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Istd -c uwin/a64l.c
done a64l.o generated
make acosh.o
make uwin/acosh.c
make uwin/mathimpl.h implicit
done uwin/mathimpl.h dontcare
prev FEATURE/uwin implicit
done uwin/acosh.c
prev uwin/acosh.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iuwin -Istd -c uwin/acosh.c
done acosh.o generated
make asinh.o
make uwin/asinh.c
prev uwin/mathimpl.h implicit
prev FEATURE/uwin implicit
done uwin/asinh.c
prev uwin/asinh.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iuwin -Istd -c uwin/asinh.c
done asinh.o generated
make atanh.o
make uwin/atanh.c
prev uwin/mathimpl.h implicit
prev FEATURE/uwin implicit
done uwin/atanh.c
prev uwin/atanh.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iuwin -Istd -c uwin/atanh.c
done atanh.o generated
make cbrt.o
make uwin/cbrt.c
prev uwin/mathimpl.h implicit
prev FEATURE/uwin implicit
done uwin/cbrt.c
prev uwin/cbrt.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iuwin -Istd -c uwin/cbrt.c
done cbrt.o generated
make crypt.o
make uwin/crypt.c
prev std/stdio.h implicit
prev FEATURE/uwin implicit
done uwin/crypt.c
prev uwin/crypt.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Iinclude -Istd -c uwin/crypt.c
done crypt.o generated
make erf.o
make uwin/erf.c
prev uwin/mathimpl.h implicit
make ieee_libm.h implicit
done ieee_libm.h dontcare virtual
prev FEATURE/uwin implicit
done uwin/erf.c
prev uwin/erf.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iuwin -Istd -c uwin/erf.c
done erf.o generated
make err.o
make uwin/err.c
prev windows.h implicit
prev include/error.h implicit
prev include/ast.h implicit
prev FEATURE/uwin implicit
done uwin/err.c
prev uwin/err.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Iinclude -Istd -D_PACKAGE_ast -c uwin/err.c
done err.o generated
make exp.o
make uwin/exp.c
prev uwin/mathimpl.h implicit
prev FEATURE/uwin implicit
done uwin/exp.c
prev uwin/exp.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iuwin -Istd -c uwin/exp.c
done exp.o generated
make exp__E.o
make uwin/exp__E.c
prev uwin/mathimpl.h implicit
prev FEATURE/uwin implicit
done uwin/exp__E.c
prev uwin/exp__E.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iuwin -Istd -c uwin/exp__E.c
done exp__E.o generated
make expm1.o
make uwin/expm1.c
prev uwin/mathimpl.h implicit
prev FEATURE/uwin implicit
done uwin/expm1.c
prev uwin/expm1.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iuwin -Istd -c uwin/expm1.c
done expm1.o generated
make gamma.o
make uwin/gamma.c
prev uwin/mathimpl.h implicit
prev FEATURE/uwin implicit
done uwin/gamma.c
prev uwin/gamma.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iuwin -Istd -c uwin/gamma.c
done gamma.o generated
make getpass.o
make uwin/getpass.c
prev include/ast.h implicit
prev FEATURE/uwin implicit
done uwin/getpass.c
prev uwin/getpass.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Iinclude -Istd -D_PACKAGE_ast -c uwin/getpass.c
done getpass.o generated
make lgamma.o
make uwin/lgamma.c
prev uwin/mathimpl.h implicit
prev FEATURE/uwin implicit
done uwin/lgamma.c
prev uwin/lgamma.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iuwin -Istd -c uwin/lgamma.c
done lgamma.o generated
make log.o
make uwin/log.c
prev uwin/mathimpl.h implicit
prev FEATURE/uwin implicit
done uwin/log.c
prev uwin/log.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iuwin -Istd -c uwin/log.c
done log.o generated
make log1p.o
make uwin/log1p.c
prev uwin/mathimpl.h implicit
prev FEATURE/uwin implicit
done uwin/log1p.c
prev uwin/log1p.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iuwin -Istd -c uwin/log1p.c
done log1p.o generated
make log__L.o
make uwin/log__L.c
prev uwin/mathimpl.h implicit
prev FEATURE/uwin implicit
done uwin/log__L.c
prev uwin/log__L.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iuwin -Istd -c uwin/log__L.c
done log__L.o generated
make rand48.o
make uwin/rand48.c
prev FEATURE/uwin implicit
done uwin/rand48.c
prev uwin/rand48.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Istd -c uwin/rand48.c
done rand48.o generated
make random.o
make uwin/random.c
prev FEATURE/uwin implicit
done uwin/random.c
prev uwin/random.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Istd -c uwin/random.c
done random.o generated
make rcmd.o
make uwin/rcmd.c
prev std/nl_types.h implicit
make uwin/rlib.h implicit
prev std/endian.h implicit
prev std/stdio.h implicit
prev std/stdio.h implicit
prev include/ast_std.h implicit
done uwin/rlib.h dontcare
prev FEATURE/uwin implicit
done uwin/rcmd.c
prev uwin/rcmd.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Iuwin -Iinclude -Istd -c uwin/rcmd.c
done rcmd.o generated
make rint.o
make uwin/rint.c
prev FEATURE/uwin implicit
done uwin/rint.c
prev uwin/rint.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Istd -c uwin/rint.c
done rint.o generated
make support.o
make uwin/support.c
prev uwin/mathimpl.h implicit
prev FEATURE/uwin implicit
done uwin/support.c
prev uwin/support.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iuwin -Istd -c uwin/support.c
done support.o generated
exec - ${AR} rc libast.a state.o transition.o opendir.o readdir.o rewinddir.o seekdir.o telldir.o getcwd.o fastfind.o hashalloc.o hashdump.o hashfree.o hashlast.o hashlook.o hashscan.o hashsize.o hashview.o hashwalk.o memhash.o memsum.o strhash.o strkey.o strsum.o stracmp.o strnacmp.o ccmap.o ccmapid.o ccnative.o chresc.o chrtoi.o
exec - ${AR} rc libast.a streval.o strexpr.o strmatch.o strcopy.o modei.o modex.o strmode.o strlcat.o strlcpy.o strlook.o strncopy.o strsearch.o strpsearch.o stresc.o stropt.o strtape.o strpcmp.o strnpcmp.o strvcmp.o strnvcmp.o tok.o tokline.o tokscan.o pathaccess.o pathcat.o pathcanon.o pathcheck.o pathpath.o pathexists.o pathfind.o pathicase.o pathkey.o pathprobe.o pathrepl.o pathnative.o pathposix.o pathtemp.o pathtmp.o pathstat.o pathgetlink.o pathsetlink.o pathbin.o pathshell.o pathcd.o pathprog.o ftwalk.o ftwflags.o fts.o astintercept.o conformance.o getenv.o setenviron.o optget.o optjoin.o optesc.o optctx.o strsort.o struniq.o magic.o mime.o mimetype.o signal.o sigflag.o systrace.o error.o errorf.o errormsg.o errorx.o localeconv.o setlocale.o translate.o catopen.o iconv.o lc.o lctab.o mc.o base64.o recfmt.o recstr.o reclen.o fmtrec.o fmtbase.o fmtbuf.o fmtclock.o fmtdev.o fmtelapsed.o fmterror.o fmtesc.o fmtfmt.o fmtfs.o fmtident.o fmtint.o fmtip4.o fmtip6.o fmtls.o fmtmatch.o fmtmode.o fmtnum.o fmtperm.o fmtre.o fmttime.o
exec - ${AR} rc libast.a fmtuid.o fmtgid.o fmtsignal.o fmtscale.o fmttmx.o fmttv.o fmtversion.o strelapsed.o strperm.o struid.o strgid.o strtoip4.o strtoip6.o stack.o stk.o swapget.o swapmem.o swapop.o swapput.o sigdata.o sigcrit.o sigunblock.o procopen.o procclose.o procrun.o procfree.o tmdate.o tmequiv.o tmfix.o tmfmt.o tmform.o tmgoff.o tminit.o tmleap.o tmlex.o tmlocale.o tmmake.o tmpoff.o tmscan.o tmsleep.o tmtime.o tmtype.o tmweek.o tmword.o tmzone.o tmxdate.o tmxduration.o tmxfmt.o tmxgettime.o tmxleap.o tmxmake.o tmxscan.o tmxsettime.o tmxsleep.o tmxtime.o tmxtouch.o tvcmp.o tvgettime.o tvsettime.o tvsleep.o tvtouch.o cmdarg.o vecargs.o vecfile.o vecfree.o vecload.o vecstring.o univdata.o touch.o mnt.o debug.o memccpy.o memchr.o memcmp.o memcpy.o memdup.o memmove.o memset.o mkdir.o mkfifo.o mknod.o rmdir.o remove.o rename.o link.o unlink.o strdup.o strchr.o strrchr.o strstr.o strtod.o strtold.o strtol.o strtoll.o strtoul.o strtoull.o strton.o strtonll.o strntod.o strntold.o strnton.o
exec - ${AR} rc libast.a strntonll.o strntol.o strntoll.o strntoul.o strntoull.o strcasecmp.o strncasecmp.o strerror.o mktemp.o tmpnam.o fsync.o execlp.o execve.o execvp.o execvpe.o spawnveg.o vfork.o killpg.o hsearch.o tsearch.o getlogin.o putenv.o setenv.o unsetenv.o lstat.o statvfs.o eaccess.o gross.o omitted.o readlink.o symlink.o getpgrp.o setpgid.o setsid.o waitpid.o fcntl.o open.o atexit.o getdents.o getwd.o dup2.o errno.o getpreroot.o ispreroot.o realopen.o setpreroot.o getgroups.o mount.o system.o iblocks.o modedata.o tmdata.o memfatal.o sfkeyprintf.o sfdcdio.o sfdcdos.o sfdcfilter.o sfdcseekable.o sfdcslow.o sfdcsubstr.o sfdctee.o sfdcunion.o sfdcmore.o sfdcprefix.o wc.o wc2utf8.o basename.o closelog.o dirname.o fmtmsglib.o fnmatch.o ftw.o getdate.o getsubopt.o glob.o nftw.o openlog.o re_comp.o resolvepath.o realpath.o regcmp.o regexp.o setlogmask.o strftime.o strptime.o swab.o syslog.o tempnam.o wordexp.o mktime.o regalloc.o regclass.o regcoll.o regcomp.o regcache.o regdecomp.o regerror.o regexec.o regfatal.o reginit.o
exec - ${AR} rc libast.a strntonll.o strntol.o strntoll.o strntoul.o strntoull.o strcasecmp.o strncasecmp.o strerror.o mktemp.o tmpnam.o fsync.o execlp.o execve.o execvp.o execvpe.o spawnveg.o vfork.o killpg.o getlogin.o putenv.o setenv.o unsetenv.o lstat.o statvfs.o eaccess.o gross.o omitted.o readlink.o symlink.o getpgrp.o setpgid.o setsid.o waitpid.o fcntl.o open.o atexit.o getdents.o getwd.o dup2.o errno.o getpreroot.o ispreroot.o realopen.o setpreroot.o getgroups.o mount.o system.o iblocks.o modedata.o tmdata.o memfatal.o sfkeyprintf.o sfdcdio.o sfdcdos.o sfdcfilter.o sfdcseekable.o sfdcslow.o sfdcsubstr.o sfdctee.o sfdcunion.o sfdcmore.o sfdcprefix.o wc.o wc2utf8.o basename.o closelog.o dirname.o fmtmsglib.o fnmatch.o ftw.o getdate.o getsubopt.o glob.o nftw.o openlog.o re_comp.o resolvepath.o realpath.o regcmp.o regexp.o setlogmask.o strftime.o strptime.o swab.o syslog.o tempnam.o wordexp.o mktime.o regalloc.o regclass.o regcoll.o regcomp.o regcache.o regdecomp.o regerror.o regexec.o regfatal.o reginit.o
exec - ${AR} rc libast.a regnexec.o regsubcomp.o regsubexec.o regsub.o regrecord.o regrexec.o regstat.o dtclose.o dtdisc.o dthash.o dtlist.o dtmethod.o dtopen.o dtstat.o dtstrhash.o dttree.o dtuser.o dtview.o dtwalk.o dtnew.o dtcomp.o sfclose.o sfclrlock.o sfdisc.o sfdlen.o sfexcept.o sfgetl.o sfgetu.o sfcvt.o sfecvt.o sffcvt.o sfextern.o sffilbuf.o sfflsbuf.o sfprints.o sfgetd.o sfgetr.o sfllen.o sfmode.o sfmove.o sfnew.o sfpkrd.o sfnotify.o sfnputc.o sfopen.o sfpeek.o sfpoll.o sfpool.o sfpopen.o sfprintf.o sfputd.o sfputl.o sfputr.o sfputu.o sfrd.o sfread.o sfreserve.o sfscanf.o sfseek.o sfset.o sfsetbuf.o sfsetfd.o sfsize.o sfsk.o sfstack.o sfstrtod.o sfsync.o sfswap.o sftable.o sftell.o sftmp.o sfungetc.o sfvprintf.o sfvscanf.o sfwr.o sfwrite.o sfpurge.o sfraise.o sfwalk.o sfgetm.o sfputm.o sfresize.o _sfclrerr.o _sfeof.o _sferror.o _sffileno.o _sfopen.o _sfstacked.o _sfvalue.o _sfgetc.o _sfgetl.o _sfgetl2.o _sfgetu.o _sfgetu2.o _sfdlen.o _sfllen.o _sfslen.o _sfulen.o _sfputc.o _sfputd.o _sfputl.o _sfputm.o
exec - ${AR} rc libast.a _sfputu.o clearerr.o fclose.o fdopen.o feof.o ferror.o fflush.o fgetc.o fgetpos.o fgets.o fileno.o fopen.o fprintf.o fpurge.o fputc.o fputs.o fread.o freopen.o fscanf.o fseek.o fseeko.o fsetpos.o ftell.o ftello.o fwrite.o flockfile.o ftrylockfile.o funlockfile.o getc.o getchar.o getw.o pclose.o popen.o printf.o putc.o putchar.o puts.o putw.o rewind.o scanf.o setbuf.o setbuffer.o setlinebuf.o setvbuf.o snprintf.o sprintf.o sscanf.o asprintf.o vasprintf.o tmpfile.o ungetc.o vfprintf.o vfscanf.o vprintf.o vscanf.o vsnprintf.o vsprintf.o vsscanf.o _doprnt.o _doscan.o _filbuf.o _flsbuf.o _stdfun.o _stdopen.o _stdprintf.o _stdscanf.o _stdsprnt.o _stdvbuf.o _stdvsnprnt.o _stdvsprnt.o _stdvsscn.o fgetwc.o fwprintf.o putwchar.o vfwscanf.o wprintf.o fgetws.o fwscanf.o swprintf.o vswprintf.o wscanf.o fputwc.o getwc.o swscanf.o vswscanf.o fputws.o getwchar.o ungetwc.o vwprintf.o fwide.o putwc.o vfwprintf.o vwscanf.o stdio_c99.o fcloseall.o fmemopen.o getdelim.o getline.o frexp.o frexpl.o astcopy.o
exec - ${AR} rc libast.a astconf.o astdynamic.o astquery.o astwinsize.o conftab.o aststatic.o getopt.o getoptl.o aso.o asolock.o asometh.o asorelax.o aso-sem.o aso-fcntl.o vmbest.o vmclear.o vmclose.o vmdcheap.o vmdebug.o vmdisc.o vmexit.o vmlast.o vmopen.o vmpool.o vmprivate.o vmprofile.o vmregion.o vmsegment.o vmset.o vmstat.o vmstrdup.o vmtrace.o vmwalk.o vmmopen.o malloc.o vmgetmem.o a64l.o acosh.o asinh.o atanh.o cbrt.o crypt.o erf.o err.o exp.o exp__E.o expm1.o gamma.o getpass.o lgamma.o log.o log1p.o log__L.o rand48.o random.o rcmd.o rint.o support.o
exec - ${AR} rc libast.a _sfputu.o clearerr.o fclose.o fdopen.o fflush.o fgetc.o fgetpos.o fgets.o fopen.o fprintf.o fpurge.o fputs.o fread.o freopen.o fscanf.o fseek.o fseeko.o fsetpos.o ftell.o ftello.o fwrite.o getw.o pclose.o popen.o printf.o putchar.o puts.o putw.o rewind.o scanf.o setbuf.o setbuffer.o setlinebuf.o setvbuf.o snprintf.o sprintf.o sscanf.o asprintf.o vasprintf.o tmpfile.o ungetc.o vfprintf.o vfscanf.o vprintf.o vscanf.o vsnprintf.o vsprintf.o vsscanf.o _doprnt.o _doscan.o _filbuf.o _flsbuf.o _stdopen.o _stdprintf.o _stdscanf.o _stdsprnt.o _stdvbuf.o _stdvsnprnt.o _stdvsprnt.o _stdvsscn.o fgetwc.o fwprintf.o putwchar.o vfwscanf.o wprintf.o fgetws.o fwscanf.o swprintf.o vswprintf.o wscanf.o fputwc.o getwc.o swscanf.o vswscanf.o fputws.o getwchar.o ungetwc.o vwprintf.o fwide.o putwc.o vfwprintf.o vwscanf.o stdio_c99.o fcloseall.o fmemopen.o getdelim.o getline.o frexp.o frexpl.o astcopy.o
exec - ${AR} rc libast.a astconf.o astdynamic.o astquery.o astwinsize.o conftab.o aststatic.o getopt.o getoptl.o aso.o asolock.o asometh.o asorelax.o aso-sem.o aso-fcntl.o vmbest.o vmclear.o vmclose.o vmdcheap.o vmdebug.o vmdisc.o vmexit.o vmlast.o vmopen.o vmpool.o vmprivate.o vmprofile.o vmregion.o vmsegment.o vmset.o vmstat.o vmstrdup.o vmtrace.o vmwalk.o vmmopen.o malloc.o vmgetmem.o
exec - (ranlib libast.a) >/dev/null 2>&1 || true
done libast.a generated
done ast virtual

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2012 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -23,7 +23,7 @@
#include "asohdr.h"
#if defined(_UWIN) && defined(_BLD_ast) || !_aso_fcntl
#if !_aso_fcntl
NoN(aso_meth_fcntl)

View file

@ -23,7 +23,7 @@
#include "asohdr.h"
#if defined(_UWIN) && defined(_BLD_ast) || !_aso_semaphore
#if !_aso_semaphore
NoN(aso_meth_semaphore)

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2012 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -24,12 +24,6 @@
#include "asohdr.h"
#include "FEATURE/aso"
#if defined(_UWIN) && defined(_BLD_ast)
NoN(aso)
#else
/*
* AST atomic scalar operations
* AT&T Research
@ -45,20 +39,12 @@ NoN(aso)
#if !_PACKAGE_ast
#if _UWIN
extern ssize_t sfsprintf(char*, size_t, const char*, ...);
#else
#include <stdio.h>
#define sfsprintf snprintf
#endif
#endif
#if defined(_aso_casptr) && (defined(_aso_cas32) || defined(_aso_cas64))
#define ASO_METHOD (&_aso_meth_intrinsic)
#define ASO_LOCKF 0
@ -863,5 +849,3 @@ asocasptr(void volatile* p, void* o, void* n)
lock(state.data, k, p);
return o;
}
#endif

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2012 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -56,11 +56,6 @@
#include "FEATURE/asometh"
#if _UWIN
#undef _aso_fcntl
#undef _aso_semaphore
#endif
#include "aso.h"
#define HASH(p,z) ((integralof(p)*FNV_MULT)%(z))

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -23,12 +23,6 @@
#include "asohdr.h"
#if defined(_UWIN) && defined(_BLD_ast)
NoN(asolock)
#else
int
asolock(unsigned int volatile* lock, unsigned int key, int type)
{
@ -51,5 +45,3 @@ asolock(unsigned int volatile* lock, unsigned int key, int type)
}
return -1;
}
#endif

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -23,12 +23,6 @@
#include "asohdr.h"
#if defined(_UWIN) && defined(_BLD_ast)
NoN(asometh)
#else
/*
* this is the default user visible asometh()
* -ltaso intercepts asometh() to prepend ASO_THREAD methods
@ -39,5 +33,3 @@ asometh(int type, void* data)
{
return _asometh(type, data);
}
#endif

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -23,12 +23,6 @@
#include "asohdr.h"
#if defined(_UWIN) && defined(_BLD_ast)
NoN(asorelax)
#else
#if _PACKAGE_ast
#include <tv.h>
#else
@ -52,5 +46,3 @@ asorelax(long nsec)
return nanosleep(&ts, 0);
#endif
}
#endif

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2012 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -636,15 +636,6 @@ static int treeevent(Dt_t* dt, int event, void* arg)
else return 0;
}
#if _UWIN
void* dtfinger(Dt_t* dt)
{
return (dt && dt->meth && (dt->meth->type & DT_ORDERED)) ? (void*)((Dttree_t*)dt->data)->root : NIL(void*);
}
#endif
/* make this method available */
static Dtmethod_t _Dtoset = { dttree, DT_OSET, treeevent, "Dtoset" };
static Dtmethod_t _Dtobag = { dttree, DT_OBAG, treeevent, "Dtobag" };

View file

@ -1,121 +0,0 @@
/***********************************************************************
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
* *
* A copy of the License is available at *
* http://www.eclipse.org/org/documents/epl-v10.html *
* (with md5 checksum b35adb5213ca9657e911e9befb180842) *
* *
* Information and Software Systems Research *
* AT&T Research *
* Florham Park NJ *
* *
* Glenn Fowler <gsf@research.att.com> *
* David Korn <dgk@research.att.com> *
* Phong Vo <kpv@research.att.com> *
* *
***********************************************************************/
/*
* hsearch() for systems that have <search.h> but no hsearch()
* why would such a system provide the interface but not the
* implementation? that's what happens when one slimes their
* way through standards compliance
*
* NOTE: please excuse the crude feature test
*/
#if !_UWIN
void _STUB_hsearch(){}
#else
#if _PACKAGE_ast
#include <ast.h>
#endif
#define hcreate ______hcreate
#define hdestroy ______hdestroy
#define hsearch ______hsearch
#include <search.h>
#undef hcreate
#undef hdestroy
#undef hsearch
#include "dthdr.h"
#if defined(__EXPORT__)
#define extern __EXPORT__
#endif
/* POSIX hsearch library based on libdt
** Written by Kiem-Phong Vo (AT&T Research, 07/19/95)
*/
/* type of objects in hash table */
typedef struct _hash_s
{ Dtlink_t link;
ENTRY item;
} Hash_t;
/* object delete function */
static void hashfree(Dt_t* dt, void* obj, Dtdisc_t* disc)
{
free(((Hash_t*)obj)->item.key);
free(obj);
}
static Dt_t* Hashtab; /* object dictionary */
static Dtdisc_t Hashdisc = /* discipline */
{ sizeof(Dtlink_t), -1,
0,
NIL(Dtmake_f), hashfree,
NIL(Dtcompar_f), /* always use strcmp */
NIL(Dthash_f),
NIL(Dtmemory_f),
NIL(Dtevent_f)
};
extern
int hcreate(size_t nel)
{
if(Hashtab) /* already opened */
return 0;
if(!(Hashtab = dtopen(&Hashdisc,Dtset)) )
return 0;
return 1;
}
extern void hdestroy()
{ if(Hashtab)
dtclose(Hashtab);
Hashtab = NIL(Dt_t*);
}
extern
ENTRY* hsearch(ENTRY item, ACTION action)
{
reg Hash_t* o;
if(!Hashtab)
return NIL(ENTRY*);
if(!(o = (Hash_t*)dtmatch(Hashtab,item.key)) && action == ENTER &&
(o = (Hash_t*)malloc(sizeof(Hash_t)) ) )
{ o->item = item;
o = (Hash_t*)dtinsert(Hashtab,o);
}
return o ? &(o->item) : NIL(ENTRY*);
}
#endif

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2012 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -144,263 +144,6 @@ static const _ast_iconv_list_t codes[] =
{ 0 },
};
#if _UWIN
#include <ast_windows.h>
#ifndef CP_UCS2
#define CP_UCS2 0x0000
#endif
static char _win_maps[] = "/reg/local_machine/SOFTWARE/Classes/MIME/Database/Charset";
/*
* return the codeset index given its name or alias
* the map is in the what? oh, the registry
*/
static int
_win_codeset(const char* name)
{
register char* s;
char* e;
int n;
Sfio_t* sp;
char aka[128];
char tmp[128];
#if DEBUG_TRACE
error(DEBUG_TRACE, "AHA#%d _win_codeset name=%s", __LINE__, name);
#endif
if (name == name_native)
return CP_ACP;
if (!strcasecmp(name, "utf") || !strcasecmp(name, "utf8") || !strcasecmp(name, "utf-8"))
return CP_UTF8;
if (!strcasecmp(name, "ucs") || !strcasecmp(name, "ucs2") || !strcasecmp(name, "ucs-2"))
return CP_UCS2;
if (name[0] == '0' && name[1] == 'x' && (n = strtol(name, &e, 0)) > 0 && !*e)
return n;
for (;;)
{
sfsprintf(tmp, sizeof(tmp), "%s/%s", _win_maps, name);
if (!(sp = sfopen(0, tmp, "r")))
{
s = (char*)name;
if ((s[0] == 'c' || s[0] == 'C') && (s[1] == 'p' || s[1] == 'P'))
s += 2;
if (!isdigit(s[0]))
break;
sfsprintf(tmp, sizeof(tmp), "%s/windows-%s", _win_maps, s);
if (!(sp = sfopen(0, tmp, "r")))
break;
}
for (;;)
{
if (!(s = sfgetr(sp, '\n', 0)))
{
sfclose(sp);
return -1;
}
if (!strncasecmp(s, "AliasForCharSet=", 16))
{
n = sfvalue(sp) - 17;
s += 16;
if (n >= sizeof(aka))
n = sizeof(aka) - 1;
memcpy(aka, s, n);
aka[n] = 0;
sfclose(sp);
name = (const char*)aka;
break;
}
if (!strncasecmp(s, "CodePage=", 9))
{
s += 9;
n = strtol(s, 0, 0);
sfclose(sp);
return n;
}
}
}
return -1;
}
/*
* get and check the codeset indices
*/
static _ast_iconv_t
_win_iconv_open(register Conv_t* cc, const char* t, const char* f)
{
#if DEBUG_TRACE
error(DEBUG_TRACE, "AHA#%d _win_iconv_open f=%s t=%s\n", __LINE__, f, t);
#endif
if ((cc->from.index = _win_codeset(f)) < 0)
return (_ast_iconv_t)(-1);
if ((cc->to.index = _win_codeset(t)) < 0)
return (_ast_iconv_t)(-1);
#if DEBUG_TRACE
error(DEBUG_TRACE, "AHA#%d _win_iconv_open f=0x%04x t=0x%04x\n", __LINE__, cc->from.index, cc->to.index);
#endif
return (_ast_iconv_t)cc;
}
/*
* even though the indices already check out
* they could still be rejected
*/
static size_t
_win_iconv(_ast_iconv_t cd, char** fb, size_t* fn, char** tb, size_t* tn)
{
Conv_t* cc = (Conv_t*)cd;
size_t un;
size_t tz;
size_t fz;
size_t bz;
size_t pz;
size_t oz;
LPWSTR ub;
#if DEBUG_TRACE
error(DEBUG_TRACE, "AHA#%d _win_iconv from=0x%04x to=0x%04x\n", __LINE__, cc->from.index, cc->to.index);
#endif
if (cc->from.index == cc->to.index || cc->from.index != CP_UCS2 && cc->to.index == 0)
{
/*
* easy
*/
fz = tz = (*fn < *tn) ? *fn : *tn;
memcpy(*tb, *fb, fz);
}
else
{
ub = 0;
un = *fn;
/*
* from => UCS-2
*/
if (cc->to.index == CP_UCS2)
{
if ((tz = MultiByteToWideChar(cc->from.index, 0, (LPCSTR)*fb, (int)*fn, (LPWSTR)*tb, *tn)) && tz <= *tn)
{
fz = *fn;
tz *= sizeof(WCHAR);
}
else
{
/*
* target too small
* binary search on input size to make it fit
*/
oz = 0;
pz = *fn / 2;
fz = *fn - pz;
for (;;)
{
while (!(tz = MultiByteToWideChar(cc->from.index, 0, (LPCSTR)*fb, (int)fz, (LPWSTR)*tb, 0)))
if (++fz >= *fn)
goto nope;
tz *= sizeof(WCHAR);
if (tz == *tn)
break;
if (!(pz /= 2))
{
if (!(fz = oz))
goto nope;
break;
}
if (tz > *tn)
fz -= pz;
else
{
oz = fz;
fz += pz;
}
}
}
}
else
{
if (cc->from.index == CP_UCS2)
{
un = *fn / sizeof(WCHAR);
ub = (LPWSTR)*fb;
}
else if (!(un = MultiByteToWideChar(cc->from.index, 0, (LPCSTR)*fb, (int)*fn, (LPWSTR)*tb, 0)))
goto nope;
else if (!(ub = (LPWSTR)malloc(un * sizeof(WCHAR))))
goto nope;
else if (!(un = MultiByteToWideChar(cc->from.index, 0, (LPCSTR)*fb, (int)*fn, (LPWSTR)ub, un)))
goto nope;
/*
* UCS-2 => to
*/
if (tz = WideCharToMultiByte(cc->to.index, 0, (LPCWSTR)ub, un, *tb, *tn, 0, 0))
fz = *fn;
else
{
/*
* target too small
* binary search on input size to make it fit
*/
oz = 0;
pz = *fn / 2;
bz = *fn - pz;
for (;;)
{
while (!(fz = MultiByteToWideChar(cc->from.index, 0, (LPCSTR)*fb, (int)bz, (LPWSTR)ub, un)))
if (++bz > *fn)
goto nope;
if (!(tz = WideCharToMultiByte(cc->to.index, 0, (LPCWSTR)ub, fz, *tb, 0, 0, 0)))
goto nope;
if (tz == *tn)
break;
if (!(pz /= 2))
{
if (!(fz = oz))
goto nope;
break;
}
if (tz > *tn)
bz -= pz;
else
{
oz = bz;
bz += pz;
}
}
if (!(tz = WideCharToMultiByte(cc->to.index, 0, (LPCWSTR)ub, fz, *tb, tz, 0, 0)))
goto nope;
#if DEBUG_TRACE
error(DEBUG_TRACE, "AHA#%d _win_iconv *fn=%u fz=%u[%u] *tn=%u tz=%u\n", __LINE__, *fn, fz, fz * sizeof(WCHAR), *tn, tz);
#endif
}
if (ub != (LPWSTR)*fb)
free(ub);
}
}
*fb += fz;
*fn -= fz;
*tb += tz;
*tn -= tz;
return fz;
nope:
if (ub && ub != (LPWSTR)*fb)
free(ub);
errno = EINVAL;
return (size_t)(-1);
}
#endif
/*
* return canonical character code set name for m
* if b!=0 then canonical name placed in b of size n
@ -1106,10 +849,6 @@ error(DEBUG_TRACE, "AHA#%d _ast_iconv_open f=%s:%s:%d t=%s:%s:%d\n", __LINE__, f
#if _lib_iconv_open
else if ((cc->cvt = iconv_open(t, f)) != (iconv_t)(-1) || (cc->cvt = iconv_open(to, fr)) != (iconv_t)(-1))
cc->from.fun = (_ast_iconv_f)iconv;
#endif
#if _UWIN
else if ((cc->cvt = _win_iconv_open(cc, t, f)) != (_ast_iconv_t)(-1) || (cc->cvt = _win_iconv_open(cc, to, fr)) != (_ast_iconv_t)(-1))
cc->from.fun = (_ast_iconv_f)_win_iconv;
#endif
else
{
@ -1556,34 +1295,8 @@ _ast_iconv_move(_ast_iconv_t cd, Sfio_t* ip, Sfio_t* op, size_t n, Iconv_disc_t*
_ast_iconv_list_t*
_ast_iconv_list(_ast_iconv_list_t* cp)
{
#if _UWIN
struct dirent* ent;
if (!cp)
{
if (!(cp = newof(0, _ast_iconv_list_t, 1, 0)))
return ccmaplist(NiL);
if (!(cp->data = opendir(_win_maps)))
{
free(cp);
return ccmaplist(NiL);
}
}
if (cp->data)
{
if (ent = readdir((DIR*)cp->data))
{
cp->name = cp->match = cp->desc = (const char*)ent->d_name;
return cp;
}
closedir((DIR*)cp->data);
free(cp);
return ccmaplist(NiL);
}
#else
if (!cp)
return ccmaplist(NiL);
#endif
if (cp->ccode >= 0)
return (cp = ccmaplist(cp)) ? cp : (_ast_iconv_list_t*)codes;
return (++cp)->name ? cp : (_ast_iconv_list_t*)0;

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -23,7 +23,7 @@
#include <ast.h>
#if _lib_memccpy && !_UWIN
#if _lib_memccpy
NoN(memccpy)

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -23,10 +23,6 @@
#define putenv ______putenv
#if _UWIN
#define _STDLIB_H_ 1
#endif
#include <ast.h>
#undef putenv

View file

@ -82,103 +82,6 @@ header(void)
}
}
#if _UWIN
#include <ast_windows.h>
#undef _lib_setlocale
#define _lib_setlocale 1
#define setlocale(c,l) native_setlocale(c,l)
extern char* uwin_setlocale(int, const char*);
/*
* convert locale to native locale name in buf
*/
static char*
native_locale(const char* locale, char* buf, size_t siz)
{
Lc_t* lc;
const Lc_attribute_list_t* ap;
int i;
unsigned long lcid;
unsigned long langidx;
unsigned long ctry;
char lbuf[128];
char cbuf[128];
if (locale && *locale)
{
if (!(lc = lcmake(locale)))
return 0;
langidx = lc->language->index;
ctry = 0;
for (ap = lc->attributes; ap; ap = ap->next)
if (ctry = ap->attribute->index)
break;
if (!ctry)
{
for (i = 0; i < elementsof(lc->territory->languages); i++)
if (lc->territory->languages[i] == lc->language)
{
ctry = lc->territory->indices[i];
break;
}
if (!ctry)
{
if (!langidx)
return 0;
ctry = SUBLANG_DEFAULT;
}
}
lcid = MAKELCID(MAKELANGID(langidx, ctry), SORT_DEFAULT);
}
else
lcid = GetUserDefaultLCID();
if (GetLocaleInfo(lcid, LOCALE_SENGLANGUAGE, lbuf, sizeof(lbuf)) <= 0 ||
GetLocaleInfo(lcid, LOCALE_SENGCOUNTRY, cbuf, sizeof(cbuf)) <= 0)
return 0;
if (lc->charset->ms)
sfsprintf(buf, siz, "%s_%s.%s", lbuf, cbuf, lc->charset->ms);
else
sfsprintf(buf, siz, "%s_%s", lbuf, cbuf);
return buf;
}
/*
* locale!=0 here
*/
static char*
native_setlocale(int category, const char* locale)
{
char* usr;
char* sys;
char buf[256];
if (!(usr = native_locale(locale, buf, sizeof(buf))))
return 0;
/*
* Win32 doesn't have LC_MESSAGES
*/
if (category == LC_MESSAGES)
return (char*)locale;
sys = uwin_setlocale(category, usr);
if (ast.locale.set & AST_LC_debug)
sfprintf(sfstderr, "locale uwin %17s %-24s %-24s\n", lc_categories[lcindex(category, 0)].name, usr, sys);
return sys;
}
#else
#define native_locale(a,b,c) ((char*)0)
#endif
/*
* LC_COLLATE and LC_CTYPE native support
*/
@ -2432,8 +2335,7 @@ default_setlocale(int category, const char* locale)
#endif
#if !_UWIN
/* <TODO> [2022-07-21]: remove this and _vmkeep? obsolete? */
/*
* workaround for Solaris and FreeBSD systems
* they call free() with addresses that look like they came from the stack
@ -2454,8 +2356,7 @@ _sys_setlocale(int category, const char* locale)
}
#define setlocale(a,b) _sys_setlocale(a,b)
#endif
/* </TODO> */
/*
* set a single AST_LC_* locale category
@ -2796,7 +2697,7 @@ _ast_setlocale(int category, const char* locale)
u = 0;
if ((s = getenv("LANG")) && *s)
{
if (streq(s, local) && (u || (u = native_locale(locale, tmp, sizeof(tmp)))))
if (u && streq(s, local))
s = u;
lang = lcmake(s);
}
@ -2804,7 +2705,7 @@ _ast_setlocale(int category, const char* locale)
lang = 0;
if ((s = getenv("LC_ALL")) && *s)
{
if (streq(s, local) && (u || (u = native_locale(locale, tmp, sizeof(tmp)))))
if (u && streq(s, local))
s = u;
lc_all = lcmake(s);
}
@ -2815,7 +2716,7 @@ _ast_setlocale(int category, const char* locale)
/* explicitly set by setlocale() */;
else if ((s = getenv(lc_categories[i].name)) && *s)
{
if (streq(s, local) && (u || (u = native_locale(locale, tmp, sizeof(tmp)))))
if (u && streq(s, local))
s = u;
lc_categories[i].prev = lcmake(s);
}

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2012 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -31,14 +31,10 @@
#undef strtoll
#if !_UWIN
#undef _def_map_ast
#include <ast_map.h>
#endif
#define S2I_function strtoll
#define S2I_number intmax_t
#define S2I_unumber uintmax_t

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2012 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -31,14 +31,10 @@
#undef strtoull
#if !_UWIN
#undef _def_map_ast
#include <ast_map.h>
#endif
#define S2I_function strtoull
#define S2I_number intmax_t
#define S2I_unumber uintmax_t

View file

@ -43,9 +43,6 @@ Syslog_state_t log = { LOG_USER, -1, 0, ~0 };
static const Namval_t attempt[] =
{
#if _UWIN
"/var/log/syslog", 0,
#endif
"/dev/log", 0,
"var/log/syslog", 0,
"lib/syslog/log", 0,
@ -92,161 +89,6 @@ const Namval_t log_severity[] =
0, 0
};
#if _UWIN
/*
* open /dev/(fdp|tcp|udp)/HOST/SERVICE for read
*/
#include <ctype.h>
#include <ls.h>
#include <sys/socket.h>
#include <sys/un.h>
#include <netdb.h>
#include <netinet/in.h>
#if !defined(htons) && !_lib_htons
# define htons(x) (x)
#endif
#if !defined(htonl) && !_lib_htonl
# define htonl(x) (x)
#endif
#ifndef INADDR_LOOPBACK
#define INADDR_LOOPBACK 0x7f000001L
#endif
/*
* convert s to sockaddr_in
* -1 returned on error
*/
static int
str2inet(register char* s, char* prot, struct sockaddr_in* addr)
{
register int c;
register int v;
register int n = 0;
unsigned long a = 0;
unsigned short p = 0;
if (!strncmp(s, "local/", 6))
{
a = INADDR_LOOPBACK;
n = 4;
s += 6;
}
else if (!isdigit(*s))
{
struct hostent* hp;
char* e = strchr(s, '/');
if (!(e = strchr(s, '/')))
return -1;
*e = 0;
hp = gethostbyname(s);
*e = '/';
if (!hp || hp->h_addrtype != AF_INET || hp->h_length > sizeof(struct in_addr))
return -1;
a = (unsigned long)((struct in_addr*)hp->h_addr)->s_addr;
n = 6;
s = e + 1;
}
for (;;)
{
v = 0;
while ((c = *s++) >= '0' && c <= '9')
v = v * 10 + c - '0';
if (++n <= 4)
a = (a << 8) | (v & 0xff);
else
{
if (n <= 5)
a = htonl(a);
if (c)
{
struct servent* sp;
if (!(sp = getservbyname(s - 1, prot)))
return -1;
p = sp->s_port;
}
else
p = htons(v);
break;
}
if (c != '.' && c != '/')
return -1;
}
memset((char*)addr, 0, sizeof(*addr));
addr->sin_family = AF_INET;
addr->sin_addr.s_addr = a;
addr->sin_port = p;
return 0;
}
/*
* call this after open fails to see if path is a socket
*/
int
sockopen(const char* path)
{
int fd;
struct sockaddr_in addr;
char buf[PATH_MAX];
if (pathgetlink(path, buf, sizeof(buf)) <= 0)
{
if (strlen(path) >= sizeof(buf))
return -1;
strcpy(buf, path);
}
#if LOCAL
{
int ul;
struct sockaddr_un ua;
struct stat st;
if ((ul = strlen(buf)) < sizeof(ua.sun_path) && !stat(buf, &st) && S_ISSOCK(st.st_mode))
{
if ((fd = socket(AF_UNIX, SOCK_STREAM, 0)) < 0)
return -1;
ua.sun_family = AF_UNIX;
strcpy(ua.sun_path, buf);
ul += sizeof(ua.sun_family) + 1;
if (!connect(fd, (struct sockaddr*)&ua, ul))
return fd;
close(fd);
return -1;
}
}
#endif
if (!strmatch(buf, "/dev/(tcp|udp)/*/*"))
return -1;
buf[8] = 0;
if (str2inet(buf + 9, buf + 5, &addr))
return -1;
if ((fd = socket(AF_INET, buf[5] == 't' ? SOCK_STREAM : SOCK_DGRAM, 0)) < 0)
return -1;
if (connect(fd, (struct sockaddr*)&addr, sizeof(addr)))
{
close(fd);
return -1;
}
return fd;
}
#else
int
sockopen(const char* path)
{
return -1;
}
#endif
void
sendlog(const char* msg)
{
@ -268,7 +110,7 @@ sendlog(const char* msg)
continue;
if (*(s = p->name) != '/' && !(s = pathpath(buf, s, "", PATH_REGULAR|PATH_READ, sizeof(buf))))
continue;
if ((log.fd = open(s, O_WRONLY|O_APPEND|O_NOCTTY|O_cloexec)) < 0 && (log.fd = sockopen(s)) < 0)
if ((log.fd = open(s, O_WRONLY|O_APPEND|O_NOCTTY|O_cloexec)) < 0)
continue;
#if !O_cloexec
fcntl(log.fd, F_SETFD, FD_CLOEXEC);

View file

@ -1,199 +0,0 @@
/***********************************************************************
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
* *
* A copy of the License is available at *
* http://www.eclipse.org/org/documents/epl-v10.html *
* (with md5 checksum b35adb5213ca9657e911e9befb180842) *
* *
* Information and Software Systems Research *
* AT&T Research *
* Florham Park NJ *
* *
* Glenn Fowler <gsf@research.att.com> *
* David Korn <dgk@research.att.com> *
* Phong Vo <kpv@research.att.com> *
* *
***********************************************************************/
/*
* tsearch() for systems that have <search.h> but no tsearch()
* why would such a system provide the interface but not the
* implementation? that's what happens when one slimes their
* way through standards compliance
*
* NOTE: please excuse the crude feature test
*/
#if !_UWIN
void _STUB_tsearch(){}
#else
#if _PACKAGE_ast
#include <ast.h>
#endif
#define tdelete ______tdelete
#define tfind ______tfind
#define tsearch ______tsearch
#define twalk ______twalk
#include <search.h>
#undef tdelete
#undef tfind
#undef tsearch
#undef twalk
#include "dthdr.h"
extern void* dtfinger(Dt_t*);
/* POSIX tsearch library based on libcdt
** Written by Kiem-Phong Vo (AT&T Research, 07/19/95)
*/
typedef struct _tree_s
{ Dtlink_t link;
void* key;
} Tree_t;
typedef struct _treedisc_s
{ Dtdisc_t disc;
int(* comparf)(const void*, const void*);
} Treedisc_t;
#if defined(__EXPORT__)
#define extern __EXPORT__
#endif
/* compare function */
static int treecompare(Dt_t* dt, char* one, char* two, Dtdisc_t* disc)
{
return (*((Treedisc_t*)disc)->comparf)((void*)one,(void*)two);
}
static Treedisc_t Treedisc =
{ { sizeof(Dtlink_t), -1, /* object is key */
0,
NIL(Dtmake_f), NIL(Dtfree_f),
treecompare,
NIL(Dthash_f),
NIL(Dtmemory_f),
NIL(Dtevent_f)
},
0
};
extern
void* tsearch(const void* key, void** rootp,
int(*comparf)(const void*,const void*) )
{
reg Dt_t* dt;
reg Tree_t* o;
if(!rootp ||
(!(dt = *((Dt_t**)rootp)) && !(dt = dtopen((Dtdisc_t*)(&Treedisc),Dtoset))) )
return NIL(void*);
/* dangerous to set comparf on each call but that's tsearch */
Treedisc.comparf = comparf;
if(!(o = (Tree_t*)dtmatch(dt,key)) )
{ if(!(o = (Tree_t*)malloc(sizeof(Tree_t))) )
return NIL(void*);
o->key = (void*)key;
dtinsert(dt,o);
}
if(o)
*rootp = (void*)dt;
else if(*rootp == NIL(void*) )
dtclose(dt);
return (void*)(&o->key);
}
extern
void* tfind(const void* key, void*const* rootp,
int(*comparf)(const void*, const void*) )
{
reg Dt_t* dt;
reg Tree_t* o;
if(!rootp || !(dt = *((Dt_t**)rootp)) )
return NIL(void*);
Treedisc.comparf = comparf;
return (o = (Tree_t*)dtmatch(dt,key)) ? (void*)(&o->key) : NIL(void*);
}
/* the original tdelete() specifies that it will return the parent pointer
** in the tree if there is one. Since we are using a splay tree, a deleted
** node is always rotated to the root first. So this implementation always
** returns the key of the new root.
*/
extern
void* tdelete(const void* key, void** rootp,
int(*comparf)(const void*, const void*) )
{
reg Dt_t* dt;
reg Tree_t* o;
Tree_t obj;
if(!rootp || !(dt = *((Dt_t**)rootp)) )
return NIL(void*);
Treedisc.comparf = comparf;
obj.key = (void*)key;
dtdelete(dt,&obj);
if(!(o = dtfinger(dt)) )
{ dtclose(dt);
*rootp = NIL(void*);
}
return o ? (void*)(&o->key) : NIL(void*);
}
/* the below routine assumes a particular layout of Dtlink_t.
** If this ever gets changed, this routine should be redone.
*/
#define lchild link.lh.__left
#define rchild link.rh.__rght
static void _twalk(Tree_t* obj, void(*action)(const void*,VISIT,int), int level)
{ if(!obj->lchild && !obj->rchild)
(*action)((void*)obj,leaf,level);
else
{ (*action)((void*)obj,preorder,level);
if(obj->lchild)
_twalk((Tree_t*)obj->lchild,action,level+1);
(*action)((void*)obj,postorder,level);
if(obj->rchild)
_twalk((Tree_t*)obj->rchild,action,level+1);
(*action)((void*)obj,endorder,level);
}
}
/* the original twalk allows specifying arbitrary node to start traversal.
** Since our root is a dictionary structure, the search here will start
** at whichever node happens to be current root.
*/
extern
void twalk(const void* root, void(*action)(const void*,VISIT,int) )
{
reg Tree_t* o;
if(root && (o = (Tree_t*)dtfinger((Dt_t*)root)) )
_twalk(o,action,0);
}
#endif

View file

@ -60,7 +60,7 @@ cat{
#endif
/* Windows variants and veneers */
#if !defined(_WINIX) && (_UWIN || __CYGWIN__ || __EMX__)
#if !defined(_WINIX) && (__CYGWIN__ || __EMX__)
# define _WINIX 1
#endif
@ -75,7 +75,7 @@ cat{
# if _BLD_STATIC && !_BLD_DLL
# undef _DLL
# else
# if !_UWIN && !defined(_DLL)
# if !defined(_DLL)
# define _DLL 1
# endif
# endif
@ -85,9 +85,6 @@ cat{
# if !defined(__IMPORT__) && ( _BLD_DLL || defined(_DLL) )
# define __IMPORT__ __declspec(dllimport)
# endif
# if _BLD_DLL && _UWIN
# define __DYNAMIC__(v) (_ast_getdll()->_ast_ ## v)
# endif
#endif
#if !defined(_astimport)
# if defined(__IMPORT__) && defined(_DLL)
@ -96,7 +93,7 @@ cat{
# define _astimport extern
# endif
#endif
#if _dll_import && ( !_BLD_DLL || _WINIX && !_UWIN )
#if _dll_import && ( !_BLD_DLL || _WINIX )
# define __EXTERN__(T,obj) extern T obj; T* _imp__ ## obj = &obj
# define __DEFINE__(T,obj,val) T obj = val; T* _imp__ ## obj = &obj
#else
@ -517,12 +514,6 @@ tst - -DTRY=1 - -DTRY=1 -Dvoid=char - -DTRY=2 - -DTRY=3 - -DTRY=4 output{
printf("/* va_arg() va_list type */\n");
#endif /*TRY == 4*/
#if _UWIN
printf("#ifndef va_copy\n");
printf("#define va_copy(to,fr) ((to)=(fr))\t");
printf("/* copy va_list fr -> to */\n");
printf("#endif\n");
#else
#if !defined(va_copy)
#if defined(__va_copy)
printf("#ifndef va_copy\n");
@ -542,7 +533,6 @@ tst - -DTRY=1 - -DTRY=1 -Dvoid=char - -DTRY=2 - -DTRY=3 - -DTRY=4 output{
printf("#endif\n");
#endif
#endif
#endif
#endif
printf("#endif\n");

View file

@ -630,19 +630,6 @@ tst - output{
int
main()
{
#if _UWIN
printf("\n");
printf("/* override some UWIN feature tests */\n");
printf("#undef _lib_execlp\n");
printf("#undef _lib_execvp\n");
printf("#undef _lib_execvpe\n");
printf("#undef _lib_fork\n");
printf("#undef _std_string\n");
printf("#define _std_string 1\n");
printf("#undef _stream_peek\n");
printf("\n");
#endif
#if _lib_posix_spawn || _lib_spawn_mode || _lib_spawn && _hdr_spawn && _mem_pgroup_inheritance || _lib_vfork && _real_vfork
printf("#if !_AST_no_spawnveg\n");
printf("#define _use_spawnveg 1\n");

View file

@ -295,23 +295,6 @@ int main()
#endif
printf("\n");
#ifdef _UWIN
printf("#ifdef _UWIN\n");
printf("#ifndef DBL_DIG\n");
printf("#define DBL_DIG 15\n");
printf("#endif\n");
printf("#ifndef DBL_MAX\n");
printf("#define DBL_MAX 1.7976931348623158e+308\n");
printf("#endif\n");
printf("#ifndef FLT_DIG\n");
printf("#define FLT_DIG 6\n");
printf("#endif\n");
printf("#ifndef FLT_MAX\n");
printf("#define FLT_MAX 3.402823466e+38F\n");
printf("#endif\n");
printf("#endif\n");
printf("\n");
#endif
#include "conflim.h"

View file

@ -518,9 +518,7 @@ main()
printf("#endif\n");
#endif
#endif
printf("#if !_UWIN\n");
printf("#undef extern\n");
printf("#endif\n");
#if _npt_strtold || _map_libc || _std_strtold
#if _npt_strtold && !_map_libc && !_std_strtold
printf("#ifndef _ISOC99_SOURCE\n");

View file

@ -25,7 +25,6 @@ tst tmp_rmfail note{ open files cannot be removed }end execute{
int
main()
{
#if !_UWIN
int n;
char* s;
FILE* fr;
@ -71,7 +70,6 @@ tst tmp_rmfail note{ open files cannot be removed }end execute{
fclose(fr);
if (strcmp(file, data) != 0)
return 0;
#endif
return 1;
}
}end

View file

@ -115,7 +115,6 @@ output{
printf("#ifndef TMP_MAX\n");
printf("#define TMP_MAX %d\n", TMP_MAX);
printf("#endif\n");
#if !_UWIN
printf("\n");
printf("#define _doprnt _ast_doprnt\n");
printf("#define _doscan _ast_doscan\n");
@ -191,12 +190,7 @@ output{
printf("#define putc_unlocked _ast_putc_unlocked\n");
printf("#define putchar_unlocked _ast_putchar_unlocked\n");
printf("#define flockfile _ast_flockfile\n");
printf("#define ftrylockfile _ast_ftrylockfile\n");
printf("#define funlockfile _ast_funlockfile\n");
printf("\n");
#endif
return 0;
}
}end
@ -359,14 +353,12 @@ cat{
#else
#if !_UWIN
#if _BLD_ast && defined(__EXPORT__)
#define extern extern __EXPORT__
#endif
#if !_BLD_ast && defined(__IMPORT__)
#define extern extern __IMPORT__
#endif
#endif
extern FILE _Sfstdin;
extern FILE _Sfstdout;

View file

@ -5,7 +5,7 @@ _cc_export_dynamic = note{ probe CC.EXPORT.DYNAMIC supported }end run{
}end
tst tzset_environ note{ tzset() bypasses user getenv() }end execute{
#if _UWIN || !_cc_export_dynamic
#if !_cc_export_dynamic
int main()
{
return 0;

View file

@ -1,10 +0,0 @@
lib a64l,acosh,asinh,atanh,cbrt,ceil,crypt,erf,exp,expm1,floor
lib gamma,getpass,lgamma,log,log1p,random,rcmd,rint,srand48
lib copysign,logb,finite,drem,sqrt,ilogb,remainder,scalb
lib _copysign,_finite,_scalb,__iob_func,_p__iob,__p__iob
dat _iob
cat{
#define stricmp strcasecmp
}end

View file

@ -40,10 +40,8 @@
#define _BLD_aso 1
#define _BLD_cdt 1
#define _BLD_sfio 1
#if !_UWIN
#define _BLD_vmalloc 1
#endif
#endif
#ifdef _SFSTDIO_H
#define _SKIP_SFSTDIO_H
@ -134,8 +132,6 @@ struct lconv
#define extern __EXPORT__
#endif
#if !_UWIN /* for AST54 compatibility */
#undef getenv
#define getenv _ast_getenv
@ -144,8 +140,6 @@ struct lconv
extern char* getenv(const char*);
#endif
#undef localeconv
#define localeconv _ast_localeconv

View file

@ -207,10 +207,6 @@ extern Sfio_t* sfstdin;
extern Sfio_t* sfstdout;
extern Sfio_t* sfstderr;
#if _UWIN
#undef extern
#endif
extern Sfio_t _Sfstdin;
extern Sfio_t _Sfstdout;
extern Sfio_t _Sfstderr;

View file

@ -1986,10 +1986,6 @@ FILE* tmpfile();
int fclose(FILE* stream);
int pclose(FILE* stream);
void flockfile(FILE* stream)
int ftrylockfile(FILE* stream)
void funlockfile(FILE* stream)
void setbuf(FILE* stream, char* buf);
int setvbuf(FILE* stream, char* buf, int mode, size_t size);
void setbuffer(FILE* stream, char* buf, size_t size);

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -21,16 +21,8 @@
* *
***********************************************************************/
#if _UWIN && __STDPP__
__STDPP__directive pragma pp:hide getenv
#endif
#include "intercepts.h"
#if _UWIN && __STDPP__
__STDPP__directive pragma pp:nohide getenv
#endif
/*
* NOTE: the "intercepts" definition is here instead of astintercept.c because some
* static linkers miss lone references to "intercepts" without "astintercept()"
@ -41,43 +33,6 @@ __STDPP__directive pragma pp:nohide getenv
Intercepts_t intercepts
= { 0 };
#if _UWIN && !defined(getenv)
#include <windows.h>
extern char** environ;
static char*
default_getenv(const char* name)
{
register char** av;
register const char* cp;
register const char* sp;
register char c0;
register char c1;
av = environ;
if (!av || !name || !(c0 = *name))
return 0;
if (!(c1 = *++name))
c1 = '=';
while (cp = *av++)
{
if (cp[0] != c0 || cp[1] != c1)
continue;
sp = name;
cp++;
while (*sp && *sp++ == *cp++);
if (*(sp-1) != *(cp-1))
continue;
if (*sp == 0 && *cp == '=')
return (char*)(cp+1);
}
return 0;
}
#endif
/*
* get name from the environment
*/
@ -89,21 +44,6 @@ default_getenv(const char* name)
extern char*
getenv(const char* name)
{
#if _UWIN && !defined(getenv) /* for AST54 compatibility */
HANDLE dll;
static char* (*posix_getenv)(const char*);
if (!posix_getenv)
{
if (dll = GetModuleHandle("posix.dll"))
posix_getenv = (char*(*)(const char*))GetProcAddress(dll, "getenv");
if (!posix_getenv)
posix_getenv = default_getenv;
}
return intercepts.intercept_getenv ? (*intercepts.intercept_getenv)(name) : (*posix_getenv)(name);
#else
#undef getenv
return intercepts.intercept_getenv ? (*intercepts.intercept_getenv)(name) : getenv(name);
#endif
}

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -839,82 +839,9 @@ ckmagic(register Magic_t* mp, const char* file, char* buf, char* end, struct sta
break;
case 'r':
#if _UWIN
{
char* e;
Sfio_t* rp;
Sfio_t* gp;
if (!(t = strrchr(file, '.')))
goto next;
sfprintf(mp->tmp, "/reg/classes_root/%s", t);
if (!(t = sfstruse(mp->tmp)) || !(rp = sfopen(NiL, t, "r")))
goto next;
*ep->desc = 0;
*ep->mime = 0;
gp = 0;
while (t = sfgetr(rp, '\n', 1))
{
if (strneq(t, "Content Type=", 13))
{
ep->mime = vmnewof(mp->vm, ep->mime, char, sfvalue(rp), 0);
strcpy(ep->mime, t + 13);
if (gp)
break;
}
else
{
sfprintf(mp->tmp, "/reg/classes_root/%s", t);
if ((e = sfstruse(mp->tmp)) && (gp = sfopen(NiL, e, "r")))
{
ep->desc = vmnewof(mp->vm, ep->desc, char, strlen(t), 1);
strcpy(ep->desc, t);
if (*ep->mime)
break;
}
}
}
sfclose(rp);
if (!gp)
goto next;
if (!*ep->mime)
{
t = T(ep->desc);
if (!strncasecmp(t, "microsoft", 9))
t += 9;
while (isspace(*t))
t++;
e = "application/x-ms-";
ep->mime = vmnewof(mp->vm, ep->mime, char, strlen(t), strlen(e));
e = strcopy(ep->mime, e);
while ((c = *t++) && c != '.' && c != ' ')
*e++ = isupper(c) ? tolower(c) : c;
*e = 0;
}
while (t = sfgetr(gp, '\n', 1))
if (*t && !streq(t, "\"\""))
{
ep->desc = vmnewof(mp->vm, ep->desc, char, sfvalue(gp), 0);
strcpy(ep->desc, t);
break;
}
sfclose(gp);
if (!*ep->desc)
goto next;
if (!t)
for (t = T(ep->desc); *t; t++)
if (*t == '.')
*t = ' ';
if (!mp->keep[level])
mp->keep[level] = 2;
mp->mime = ep->mime;
break;
}
#else
if (ep->cont == '#' && !mp->keep[level])
mp->keep[level] = 1;
goto next;
#endif
case 'v':
if (!(p = getdata(mp, num, 4)))

View file

@ -26,7 +26,7 @@
* fun==SIG_DFL also unblocks signal
*/
#if !_UWIN && !__HAIKU__
#if !__HAIKU__
#undef signal
#define signal ______signal
@ -36,8 +36,6 @@
#include <ast.h>
#include <sig.h>
#if !_UWIN
#undef signal
#undef _def_map_ast
@ -47,8 +45,6 @@
#define extern __EXPORT__
#endif
#endif
#if defined(SV_ABORT)
#undef SV_INTERRUPT
#define SV_INTERRUPT SV_ABORT

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -65,9 +65,6 @@ pathkey_20100601(const char* lang, const char* tool, const char* apath, char* ke
char* env[elementsof(usr) + 3];
char* ver[2];
char tmp[PATH_MAX];
#if _UWIN
struct stat st;
#endif
static char let[] = "ABCDEFGHIJKLMNOP";
@ -127,15 +124,6 @@ pathkey_20100601(const char* lang, const char* tool, const char* apath, char* ke
attr = strcopy(attr, k);
}
#endif
#if _UWIN
if (!stat("/", &st) && st.st_ino == 64)
{
k = "/64";
n = memsum(k, strlen(k), n);
if (attr)
attr = strcopy(attr, k);
}
#endif
/*
* universe

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -33,18 +33,6 @@
#include <ast.h>
#if _UWIN
extern int uwin_path(const char*, char*, int);
size_t
pathnative(const char* path, char* buf, size_t siz)
{
return uwin_path(path, buf, siz);
}
#else
#if __CYGWIN__
extern void cygwin_conv_to_win32_path(const char*, char*);
@ -122,5 +110,3 @@ pathnative(const char* path, char* buf, size_t siz)
#endif
#endif
#endif

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -33,18 +33,6 @@
#include <ast.h>
#if _UWIN
#include <uwin.h>
size_t
pathposix(const char* path, char* buf, size_t siz)
{
return uwin_unpath(path, buf, siz);
}
#else
#if __CYGWIN__
extern void cygwin_conv_to_posix_path(const char*, char*);
@ -124,5 +112,3 @@ pathposix(const char* path, char* buf, size_t siz)
#endif
#endif
#endif

View file

@ -605,11 +605,7 @@ format(register Feature_t* fp, const char* path, const char* value, unsigned int
{
register Feature_t* sp;
register int n;
#if _UWIN && ( _X86_ || _X64_ )
struct stat st;
#else
static struct utsname uts;
#endif
#if DEBUG_astconf
error(-6, "astconf format name=%s path=%s value=%s flags=%04x fp=%p%s", fp->name, path, value, flags, fp, state.synthesizing ? " SYNTHESIZING" : "");
@ -622,31 +618,10 @@ format(register Feature_t* fp, const char* path, const char* value, unsigned int
{
case OP_architecture:
#if _UWIN && ( _X86_ || _X64_ )
if (!stat("/", &st))
{
if (st.st_ino == 64)
{
fp->value = "x64";
break;
}
if (st.st_ino == 32)
{
fp->value = "x86";
break;
}
}
#if _X64_
fp->value = "x64";
#else
fp->value = "x86";
#endif
#else
if (!uname(&uts))
return fp->value = uts.machine;
if (!(fp->value = getenv("HOSTNAME")))
fp->value = "unknown";
#endif
break;
case OP_conformance:

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -25,88 +25,6 @@
* AST dynamic data initialization
*/
#ifdef _UWIN
#define _std_def_cfree 1
#include <sfio_t.h>
#include <ast.h>
#undef strcoll
#include <ast_windows.h>
extern Sfio_t _Sfstdin;
extern Sfio_t _Sfstdout;
extern Sfio_t _Sfstderr;
#include "sfhdr.h"
#undef sfstdin
#undef sfstdout
#undef sfstderr
#if defined(__EXPORT__)
#define extern __EXPORT__
#endif
/*
* for backward compatibility with early UNIX
*/
extern void
cfree(void* addr)
{
free(addr);
}
extern void
_ast_libinit(void* in, void* out, void* err)
{
Sfio_t* sp;
sp = (Sfio_t*)in;
*sp = _Sfstdin;
sfstdin = sp;
sp = (Sfio_t*)out;
*sp = _Sfstdout;
sfstdout = sp;
sp = (Sfio_t*)err;
*sp = _Sfstderr;
sfstderr = sp;
}
extern void
_ast_init(void)
{
struct _astdll* ap = _ast_getdll();
_ast_libinit(ap->_ast_stdin,ap->_ast_stdout,ap->_ast_stderr);
}
extern void
_ast_exit(void)
{
if (_Sfcleanup)
(*_Sfcleanup)();
}
BOOL WINAPI
DllMain(HINSTANCE hinst, DWORD reason, VOID* reserved)
{
switch (reason)
{
case DLL_PROCESS_ATTACH:
break;
case DLL_PROCESS_DETACH:
_ast_exit();
break;
}
return 1;
}
#else
#include <ast.h>
#if _dll_data_intercept && ( _DLL_BLD || _BLD_DLL )
@ -128,5 +46,3 @@ _ast_getdll(void)
NoN(astdynamic)
#endif
#endif

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -26,7 +26,5 @@
int
_doprnt(const char* fmt, va_list args, Sfio_t* f)
{
STDIO_INT(f, "_doprnt", int, (const char*, va_list, Sfio_t*), (fmt, args, f))
return sfvprintf(f, fmt, args);
}

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -26,7 +26,5 @@
int
_doscan(Sfio_t* f, const char* fmt, va_list args)
{
STDIO_INT(f, "_doscan", int, (Sfio_t*, const char*, va_list), (f, fmt, args))
return sfvscanf(f, fmt, args);
}

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -30,7 +30,5 @@
extern int
_filbuf(Sfio_t* f)
{
STDIO_INT(f, "_filbuf", int, (Sfio_t*), (f))
return _sffilbuf(f, 0);
}

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -36,8 +36,6 @@ NoN(_flsbuf)
extern int
_flsbuf(int c, Sfio_t* f)
{
STDIO_INT(f, "_flsbuf", int, (int, Sfio_t*), (c, f))
return _sfflsbuf(f, c);
}

View file

@ -1,80 +0,0 @@
/***********************************************************************
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
* *
* A copy of the License is available at *
* http://www.eclipse.org/org/documents/epl-v10.html *
* (with md5 checksum b35adb5213ca9657e911e9befb180842) *
* *
* Information and Software Systems Research *
* AT&T Research *
* Florham Park NJ *
* *
* Glenn Fowler <gsf@research.att.com> *
* David Korn <dgk@research.att.com> *
* Phong Vo <kpv@research.att.com> *
* *
***********************************************************************/
#include <ast.h>
#if !_UWIN
void _STUB_stdfun(){}
#else
#include <ast_windows.h>
#include <uwin.h>
#include <dlfcn.h>
#include "FEATURE/uwin"
#if _lib___iob_func
#define IOB ((char*)__iob_func())
#elif _lib___p__iob
#define IOB ((char*)__p__iob())
#elif _dat__iob
#define IOB ((char*)_iob)
#else
#define IOB ((char*)_p__iob())
#endif
#define IOBMAX (512*32)
#include "stdhdr.h"
int
_stdfun(Sfio_t* f, Funvec_t* vp)
{
static char* iob;
static int init;
static void* bp;
static void* np;
if (!iob && !(iob = IOB))
return 0;
if (f && ((char*)f < iob || (char*)f > iob+IOBMAX))
return 0;
if (!vp->vec[1])
{
if (!init)
{
init = 1;
bp = dlopen("/usr/bin/stdio.dll", 0);
}
if (bp && (vp->vec[1] = (Fun_f)dlsym(bp, vp->name)))
return 1;
if (!np && !(np = dlopen("/sys/msvcrt.dll", 0)))
return -1;
if (!(vp->vec[1] = (Fun_f)dlsym(np, vp->name)))
return -1;
}
return 1;
}
#endif

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -26,8 +26,6 @@
int
clearerr(Sfio_t* f)
{
STDIO_INT(f, "clearerr", int, (Sfio_t*), (f))
sfclrerr(f);
return sfclrlock(f);
}

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -26,7 +26,5 @@
int
fclose(Sfio_t* f)
{
STDIO_INT(f, "fclose", int, (Sfio_t*), (f))
return sfclose(f);
}

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -35,8 +35,6 @@ fcloseall(void)
int count;
int loop;
STDIO_INT(0, "fcloseall", int, (void), ())
for(loop = 0; loop < MAXLOOP; ++loop)
{ nclose = count = 0;
for(p = &_Sfpool; p; p = next)

View file

@ -1,42 +0,0 @@
/***********************************************************************
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
* *
* A copy of the License is available at *
* http://www.eclipse.org/org/documents/epl-v10.html *
* (with md5 checksum b35adb5213ca9657e911e9befb180842) *
* *
* Information and Software Systems Research *
* AT&T Research *
* Florham Park NJ *
* *
* Glenn Fowler <gsf@research.att.com> *
* David Korn <dgk@research.att.com> *
* Phong Vo <kpv@research.att.com> *
* *
***********************************************************************/
#include "stdhdr.h"
#if !_UWIN
NoN(feof)
#else
#undef feof
int
feof(Sfio_t* f)
{
STDIO_INT(f, "feof", int, (Sfio_t*), (f))
return sfeof(f);
}
#endif

View file

@ -1,42 +0,0 @@
/***********************************************************************
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
* *
* A copy of the License is available at *
* http://www.eclipse.org/org/documents/epl-v10.html *
* (with md5 checksum b35adb5213ca9657e911e9befb180842) *
* *
* Information and Software Systems Research *
* AT&T Research *
* Florham Park NJ *
* *
* Glenn Fowler <gsf@research.att.com> *
* David Korn <dgk@research.att.com> *
* Phong Vo <kpv@research.att.com> *
* *
***********************************************************************/
#include "stdhdr.h"
#if !_UWIN
NoN(ferror)
#else
#undef ferror
int
ferror(Sfio_t* f)
{
STDIO_INT(f, "ferror", int, (Sfio_t*), (f))
return sferror(f);
}
#endif

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -33,8 +33,6 @@ fflush(Sfio_t* f)
if (!f)
return fcloseall();
STDIO_INT(f, "fflush", int, (Sfio_t*), (f))
if (f->extent > 0)
sfseek(f, (Sfoff_t)0, SEEK_CUR|SF_PUBLIC);
return (sfsync(f) < 0 || sfpurge(f) < 0) ? -1 : 0;

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -26,7 +26,5 @@
int
fgetc(Sfio_t* f)
{
STDIO_INT(f, "fgetc", int, (Sfio_t*), (f))
return sfgetc(f);
}

View file

@ -26,7 +26,5 @@
int
fgetpos(Sfio_t* f, fpos_t* pos)
{
STDIO_INT(f, "fgetpos", int, (Sfio_t*, fpos_t*), (f, pos))
return (pos->_sf_offset = sfseek(f, (Sfoff_t)0, SEEK_CUR)) >= 0 ? 0 : -1;
}

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -98,8 +98,6 @@ _stdgets(Sfio_t* f, char* us, int n, int isgets)
char*
fgets(char* s, int n, Sfio_t* f)
{
STDIO_PTR(f, "fgets", char*, (char*, int, Sfio_t*), (s, n, f))
return _stdgets(f, s, n, 0);
}

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -28,8 +28,6 @@ fgetwc(Sfio_t* f)
{
wchar_t c;
STDIO_INT(f, "fgetwc", wint_t, (Sfio_t*), (f))
FWIDE(f, WEOF);
return (sfread(f, &c, sizeof(c)) == sizeof(c)) ? c : WEOF;
}

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -30,8 +30,6 @@ fgetws(wchar_t* s, int n, Sfio_t* f)
register wchar_t* e = s + n - 1;
register wint_t c;
STDIO_PTR(f, "fgets", wchar_t*, (wchar_t*, int, Sfio_t*), (s, n, f))
FWIDE(f, 0);
while (p < e && (c = fgetwc(f)) != WEOF && (*p++ = c) != '\n');
*p = 0;

View file

@ -1,42 +0,0 @@
/***********************************************************************
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
* *
* A copy of the License is available at *
* http://www.eclipse.org/org/documents/epl-v10.html *
* (with md5 checksum b35adb5213ca9657e911e9befb180842) *
* *
* Information and Software Systems Research *
* AT&T Research *
* Florham Park NJ *
* *
* Glenn Fowler <gsf@research.att.com> *
* David Korn <dgk@research.att.com> *
* Phong Vo <kpv@research.att.com> *
* *
***********************************************************************/
#include "stdhdr.h"
#if !_UWIN
NoN(fileno)
#else
#undef fileno
int
fileno(Sfio_t* f)
{
STDIO_INT(f, "fileno", int, (Sfio_t*), (f))
return sffileno(f);
}
#endif

View file

@ -1,30 +0,0 @@
/***********************************************************************
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
* *
* A copy of the License is available at *
* http://www.eclipse.org/org/documents/epl-v10.html *
* (with md5 checksum b35adb5213ca9657e911e9befb180842) *
* *
* Information and Software Systems Research *
* AT&T Research *
* Florham Park NJ *
* *
* Glenn Fowler <gsf@research.att.com> *
* David Korn <dgk@research.att.com> *
* Phong Vo <kpv@research.att.com> *
* *
***********************************************************************/
#include "stdhdr.h"
void
flockfile(Sfio_t* f)
{
STDIO_VOID(f, "flockfile", void, (Sfio_t*), (f))
}

View file

@ -26,7 +26,5 @@
Sfio_t*
fmemopen(void* buf, size_t size, const char* mode)
{
STDIO_PTR(0, "fmemopen", Sfio_t*, (void*, size_t, const char*), (buf, size, mode))
return sfnew(NiL, buf, size, -1, SF_STRING|_sftype(mode, NiL, NiL));
}

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -31,8 +31,6 @@ fprintf(Sfio_t* f, const char* fmt, ...)
va_start(args, fmt);
STDIO_INT(f, "vfprintf", int, (Sfio_t*, const char*, va_list), (f, fmt, args))
v = sfvprintf(f, fmt, args);
va_end(args);
return v;

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -26,7 +26,5 @@
int
fpurge(Sfio_t* f)
{
STDIO_INT(f, "fpurge", int, (Sfio_t*), (f))
return sfpurge(f);
}

View file

@ -1,42 +0,0 @@
/***********************************************************************
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
* *
* A copy of the License is available at *
* http://www.eclipse.org/org/documents/epl-v10.html *
* (with md5 checksum b35adb5213ca9657e911e9befb180842) *
* *
* Information and Software Systems Research *
* AT&T Research *
* Florham Park NJ *
* *
* Glenn Fowler <gsf@research.att.com> *
* David Korn <dgk@research.att.com> *
* Phong Vo <kpv@research.att.com> *
* *
***********************************************************************/
#include "stdhdr.h"
#if !_UWIN
NoN(fputc)
#else
#undef fputc
int
fputc(int c, Sfio_t* f)
{
STDIO_INT(f, "fputc", int, (int, Sfio_t*), (c, f))
return sfputc(f, c);
}
#endif

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -26,7 +26,5 @@
int
fputs(const char* s, Sfio_t* f)
{
STDIO_INT(f, "fputs", int, (const char*, Sfio_t*), (s, f))
return sfputr(f, s, -1);
}

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -26,8 +26,6 @@
wint_t
fputwc(wchar_t c, Sfio_t* f)
{
STDIO_INT(f, "fputc", wint_t, (wchar_t, Sfio_t*), (c, f))
FWIDE(f, WEOF);
return (sfwrite(f, &c, sizeof(c)) == sizeof(c)) ? c : WEOF;
}

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -28,8 +28,6 @@ fputws(const wchar_t* s, Sfio_t* f)
{
size_t n;
STDIO_INT(f, "fputws", int, (const wchar_t*, Sfio_t*), (s, f))
FWIDE(f, WEOF);
n = wcslen(s) * sizeof(wchar_t);
return (sfwrite(f, s, n) == n) ? 0 : -1;

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -28,7 +28,5 @@ fread(void* p, size_t s, size_t n, Sfio_t* f)
{
ssize_t v;
STDIO_INT(f, "fread", ssize_t, (void*, size_t, size_t, Sfio_t*), (p, s, n, f))
return ((v = sfread(f, p, s * n)) <= 0) ? 0 : (v / s);
}

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -26,7 +26,5 @@
Sfio_t*
freopen(const char* path, const char* mode, Sfio_t* f)
{
STDIO_PTR(f, "freopen", Sfio_t*, (const char*, const char*, Sfio_t*), (path, mode, f))
return sfopen(f, path, mode);
}

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -31,8 +31,6 @@ fscanf(Sfio_t* f, const char* fmt, ...)
va_start(args, fmt);
STDIO_INT(f, "vfscanf", int, (Sfio_t*, const char*, va_list), (f, fmt, args))
v = sfvscanf(f, fmt, args);
va_end(args);
return v;

View file

@ -26,7 +26,5 @@
int
fseek(Sfio_t* f, long off, int op)
{
STDIO_INT(f, "fseek", int, (Sfio_t*, long, int), (f, off, op))
return sfseek(f, (Sfoff_t)off, op|SF_SHARE) >= 0 ? 0 : -1;
}

View file

@ -26,7 +26,5 @@
int
fseeko(Sfio_t* f, off_t off, int op)
{
STDIO_INT(f, "fseeko", int, (Sfio_t*, off_t, int), (f, off, op))
return sfseek(f, (Sfoff_t)off, op|SF_SHARE) >= 0 ? 0 : -1;
}

View file

@ -26,7 +26,5 @@
int
fsetpos(Sfio_t* f, const fpos_t* pos)
{
STDIO_INT(f, "fsetpos", int, (Sfio_t*, const fpos_t*), (f, pos))
return sfseek(f, (Sfoff_t)pos->_sf_offset, SF_PUBLIC) == (Sfoff_t)pos->_sf_offset ? 0 : -1;
}

View file

@ -26,7 +26,5 @@
long
ftell(Sfio_t* f)
{
STDIO_INT(f, "ftell", long, (Sfio_t*), (f))
return (long)sfseek(f, (Sfoff_t)0, SEEK_CUR);
}

View file

@ -26,7 +26,5 @@
off_t
ftello(Sfio_t* f)
{
STDIO_INT(f, "ftello", off_t, (Sfio_t*), (f))
return sfseek(f, (Sfoff_t)0, SEEK_CUR);
}

View file

@ -1,32 +0,0 @@
/***********************************************************************
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
* *
* A copy of the License is available at *
* http://www.eclipse.org/org/documents/epl-v10.html *
* (with md5 checksum b35adb5213ca9657e911e9befb180842) *
* *
* Information and Software Systems Research *
* AT&T Research *
* Florham Park NJ *
* *
* Glenn Fowler <gsf@research.att.com> *
* David Korn <dgk@research.att.com> *
* Phong Vo <kpv@research.att.com> *
* *
***********************************************************************/
#include "stdhdr.h"
int
ftrylockfile(Sfio_t* f)
{
STDIO_INT(f, "ftrylockfile", int, (Sfio_t*), (f))
return 0;
}

View file

@ -1,30 +0,0 @@
/***********************************************************************
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
* *
* A copy of the License is available at *
* http://www.eclipse.org/org/documents/epl-v10.html *
* (with md5 checksum b35adb5213ca9657e911e9befb180842) *
* *
* Information and Software Systems Research *
* AT&T Research *
* Florham Park NJ *
* *
* Glenn Fowler <gsf@research.att.com> *
* David Korn <dgk@research.att.com> *
* Phong Vo <kpv@research.att.com> *
* *
***********************************************************************/
#include "stdhdr.h"
void
funlockfile(Sfio_t* f)
{
STDIO_VOID(f, "funlockfile", void, (Sfio_t*), (f))
}

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -26,8 +26,6 @@
int
fwide(Sfio_t* f, int mode)
{
STDIO_INT(f, "fwide", int, (Sfio_t*, int), (f, mode))
if (mode > 0)
{
f->bits &= ~SF_MB;

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -28,7 +28,5 @@ fwrite(const void* p, size_t s, size_t n, Sfio_t* f)
{
ssize_t v;
STDIO_INT(f, "fwrite", ssize_t, (const void*, size_t, size_t, Sfio_t*), (p, s, n, f))
return ((v = sfwrite(f, p, s * n)) <= 0) ? 0 : (v / s);
}

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -31,8 +31,6 @@ fwscanf(Sfio_t* f, const wchar_t* fmt, ...)
va_start(args, fmt);
STDIO_INT(f, "vfwscanf", int, (Sfio_t*, const wchar_t*, va_list), (f, fmt, args))
v = vfwscanf(f, fmt, args);
va_end(args);
return v;

View file

@ -1,42 +0,0 @@
/***********************************************************************
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
* *
* A copy of the License is available at *
* http://www.eclipse.org/org/documents/epl-v10.html *
* (with md5 checksum b35adb5213ca9657e911e9befb180842) *
* *
* Information and Software Systems Research *
* AT&T Research *
* Florham Park NJ *
* *
* Glenn Fowler <gsf@research.att.com> *
* David Korn <dgk@research.att.com> *
* Phong Vo <kpv@research.att.com> *
* *
***********************************************************************/
#include "stdhdr.h"
#if !_UWIN
NoN(getc)
#else
#undef getc
int
getc(Sfio_t* f)
{
STDIO_INT(f, "getc", int, (Sfio_t*), (f))
return sfgetc(f);
}
#endif

View file

@ -1,40 +0,0 @@
/***********************************************************************
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
* *
* A copy of the License is available at *
* http://www.eclipse.org/org/documents/epl-v10.html *
* (with md5 checksum b35adb5213ca9657e911e9befb180842) *
* *
* Information and Software Systems Research *
* AT&T Research *
* Florham Park NJ *
* *
* Glenn Fowler <gsf@research.att.com> *
* David Korn <dgk@research.att.com> *
* Phong Vo <kpv@research.att.com> *
* *
***********************************************************************/
#include "stdhdr.h"
#if !_UWIN
NoN(getchar)
#else
#undef getchar
int
getchar(void)
{
return sfgetc(sfstdin);
}
#endif

View file

@ -33,8 +33,6 @@ getdelim(char** sp, size_t* np, int delim, Sfio_t* f)
uchar* s;
uchar* ps;
STDIO_INT(f, "getdelim", ssize_t, (char**, size_t*, int, Sfio_t*), (sp, np, delim, f))
if(delim < 0 || delim > 255 || !sp || !np) /* bad parameters */
return -1;

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -30,7 +30,5 @@
ssize_t
getline(char** sp, size_t* np, Sfio_t* f)
{
STDIO_INT(f, "getline", ssize_t, (char**, size_t*, Sfio_t*), (sp, np, f))
return getdelim(sp, np, '\n', f);
}

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -28,7 +28,5 @@ getw(Sfio_t* f)
{
int v;
STDIO_INT(f, "getw", int, (Sfio_t*), (f))
return sfread(f, &v, sizeof(v)) == sizeof(v) ? v : -1;
}

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -26,7 +26,5 @@
int
pclose(Sfio_t* f)
{
STDIO_INT(f, "pclose", int, (Sfio_t*), (f))
return sfclose(f);
}

View file

@ -1,42 +0,0 @@
/***********************************************************************
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
* *
* A copy of the License is available at *
* http://www.eclipse.org/org/documents/epl-v10.html *
* (with md5 checksum b35adb5213ca9657e911e9befb180842) *
* *
* Information and Software Systems Research *
* AT&T Research *
* Florham Park NJ *
* *
* Glenn Fowler <gsf@research.att.com> *
* David Korn <dgk@research.att.com> *
* Phong Vo <kpv@research.att.com> *
* *
***********************************************************************/
#include "stdhdr.h"
#if !_UWIN
NoN(putc)
#else
#undef putc
int
putc(int c, Sfio_t* f)
{
STDIO_INT(f, "putc", int, (int, Sfio_t*), (c, f))
return sfputc(f, c);
}
#endif

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -23,18 +23,4 @@
#include "stdhdr.h"
#if !_UWIN
NoN(putchar)
#else
#undef putchar
int
putchar(int c)
{
return sfputc(sfstdout, c);
}
#endif

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -26,7 +26,5 @@
int
putw(int v, Sfio_t* f)
{
STDIO_INT(f, "putw", int, (int, Sfio_t*), (v, f))
return sfwrite(f, &v, sizeof(v)) == sizeof(v) ? 0 : -1;
}

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -26,8 +26,6 @@
void
rewind(Sfio_t* f)
{
STDIO_VOID(f, "rewind", void, (Sfio_t*), (f))
sfseek(f, (Sfoff_t)0, SEEK_SET|SF_PUBLIC);
sfclrlock(f);
}

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -26,7 +26,5 @@
void
setbuf(Sfio_t* f, char* b)
{
STDIO_VOID(f, "setbuf", void, (Sfio_t*, char*), (f, b))
sfsetbuf(f, b, b ? BUFSIZ : 0);
}

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -26,7 +26,5 @@
int
setbuffer(Sfio_t* f, char* b, int n)
{
STDIO_INT(f, "setbuffer", int, (Sfio_t*, char*, int), (f, b, n))
return sfsetbuf(f, b, n) ? 0 : -1;
}

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -26,8 +26,6 @@
int
setlinebuf(Sfio_t* f)
{
STDIO_INT(f, "setlinebuf", int, (Sfio_t*), (f))
sfset(f, SF_LINE, 1);
return 0;
}

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -26,8 +26,6 @@
int
setvbuf(Sfio_t* f, char* buf, int type, size_t size)
{
STDIO_INT(f, "setvbuf", int, (Sfio_t*, char*, int, size_t), (f, buf, type, size))
if (type == _IOLBF)
sfset(f, SF_LINE, 1);
else if (f->flags & SF_STRING)

View file

@ -37,64 +37,6 @@
#define SF_MB 010000
#define SF_WC 020000
#if _UWIN
#define STDIO_TRANSFER 1
typedef int (*Fun_f)();
typedef struct Funvec_s
{
const char* name;
Fun_f vec[2];
} Funvec_t;
extern int _stdfun(Sfio_t*, Funvec_t*);
#define STDIO_INT(p,n,t,f,a) \
{ \
typedef t (*_s_f)f; \
int _i; \
static Funvec_t _v = { n }; \
if ((_i = _stdfun(p, &_v)) < 0) \
return -1; \
else if (_i > 0) \
return ((_s_f)_v.vec[_i])a; \
}
#define STDIO_PTR(p,n,t,f,a) \
{ \
typedef t (*_s_f)f; \
int _i; \
static Funvec_t _v = { n }; \
if ((_i = _stdfun(p, &_v)) < 0) \
return 0; \
else if (_i > 0) \
return ((_s_f)_v.vec[_i])a; \
}
#define STDIO_VOID(p,n,t,f,a) \
{ \
typedef t (*_s_f)f; \
int _i; \
static Funvec_t _v = { n }; \
if ((_i = _stdfun(p, &_v)) < 0) \
return; \
else if (_i > 0) \
{ \
((_s_f)_v.vec[_i])a; \
return; \
} \
}
#else
#define STDIO_INT(p,n,t,f,a)
#define STDIO_PTR(p,n,t,f,a)
#define STDIO_VOID(p,n,t,f,a)
#endif
#define FWIDE(f,r) \
do \
{ \

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -26,7 +26,5 @@
int
ungetc(int c, Sfio_t* f)
{
STDIO_INT(f, "ungetc", int, (int, Sfio_t*), (c, f))
return sfungetc(f, c);
}

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -29,8 +29,6 @@ ungetwc(wint_t c, Sfio_t* f)
register unsigned char* s = (unsigned char*)&c;
register unsigned char* e = s + sizeof(c);
STDIO_INT(f, "ungetwc", wint_t, (wint_t, Sfio_t*), (c, f))
FWIDE(f, WEOF);
while (s < e)
if (sfungetc(f, *s++) == EOF)

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -26,7 +26,5 @@
int
vfprintf(Sfio_t* f, const char* fmt, va_list args)
{
STDIO_INT(f, "vfprintf", int, (Sfio_t*, const char*, va_list), (f, fmt, args))
return sfvprintf(f, fmt, args);
}

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -26,7 +26,5 @@
int
vfscanf(Sfio_t* f, const char* fmt, va_list args)
{
STDIO_INT(f, "vfscanf", int, (Sfio_t*, const char*, va_list), (f, fmt, args))
return sfvscanf(f, fmt, args);
}

Some files were not shown because too many files have changed in this diff Show more