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:
parent
7ba2c68525
commit
d9a85caf22
149 changed files with 108 additions and 8676 deletions
58
bin/package
58
bin/package
|
@ -682,64 +682,6 @@ use) case $1 in
|
||||||
32|64) bit=$1 ;;
|
32|64) bit=$1 ;;
|
||||||
esac
|
esac
|
||||||
shift
|
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
|
PACKAGEROOT=$PWD
|
||||||
$show export PACKAGEROOT
|
$show export PACKAGEROOT
|
||||||
esac
|
esac
|
||||||
|
|
|
@ -682,64 +682,6 @@ use) case $1 in
|
||||||
32|64) bit=$1 ;;
|
32|64) bit=$1 ;;
|
||||||
esac
|
esac
|
||||||
shift
|
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
|
PACKAGEROOT=$PWD
|
||||||
$show export PACKAGEROOT
|
$show export PACKAGEROOT
|
||||||
esac
|
esac
|
||||||
|
|
|
@ -37,9 +37,6 @@ done
|
||||||
for i in $probe_header
|
for i in $probe_header
|
||||||
do echo "#include <$i>"
|
do echo "#include <$i>"
|
||||||
done
|
done
|
||||||
echo '#ifdef _UWIN'
|
|
||||||
echo "int _Pr0b3_uwin=_UWIN;"
|
|
||||||
echo '#endif'
|
|
||||||
echo '#ifdef __BORLANDC__'
|
echo '#ifdef __BORLANDC__'
|
||||||
echo "int _Pr0b3_version_BORLAND=__BORLANDC__;"
|
echo "int _Pr0b3_version_BORLAND=__BORLANDC__;"
|
||||||
echo '#endif'
|
echo '#endif'
|
||||||
|
@ -67,7 +64,6 @@ echo '#endif'
|
||||||
} > easy.c
|
} > easy.c
|
||||||
|
|
||||||
include=
|
include=
|
||||||
uwin=
|
|
||||||
|
|
||||||
$cc -E easy.c 2>&1 |
|
$cc -E easy.c 2>&1 |
|
||||||
egrep -i '^(#(line)? 1 .*\.[hH]| *int +_Pr0b3_[a-zA-Z_]* *= *[0-9])' |
|
egrep -i '^(#(line)? 1 .*\.[hH]| *int +_Pr0b3_[a-zA-Z_]* *= *[0-9])' |
|
||||||
|
@ -213,18 +209,10 @@ CC.STATIC = -Bstatic
|
||||||
then stdlib="$stdlib $d"
|
then stdlib="$stdlib $d"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
case $uwin in
|
cat <<!
|
||||||
[0-9]*) cat <<!
|
|
||||||
CC.STDINCLUDE = /usr/include $stdinc
|
|
||||||
CC.STDLIB = /usr/lib$lib $stdlib
|
|
||||||
!
|
|
||||||
;;
|
|
||||||
*) cat <<!
|
|
||||||
CC.STDINCLUDE = $stdinc
|
CC.STDINCLUDE = $stdinc
|
||||||
CC.STDLIB = $stdlib
|
CC.STDLIB = $stdlib
|
||||||
!
|
!
|
||||||
;;
|
|
||||||
esac
|
|
||||||
cat <<!
|
cat <<!
|
||||||
CC.STRICT =
|
CC.STRICT =
|
||||||
CC.STRIP = strip
|
CC.STRIP = strip
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
hdr nc,exec_attr
|
hdr nc,exec_attr
|
||||||
mem exception.name,_exception.name math.h
|
mem exception.name,_exception.name math.h
|
||||||
lib setreuid,setregid,nice,fork,spawnveg,fchdir
|
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 memcntl sys/mman.h
|
||||||
lib getexecuser,free_execattr exec_attr.h -lsecdb
|
lib getexecuser,free_execattr exec_attr.h -lsecdb
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,7 @@
|
||||||
#include "defs.h"
|
#include "defs.h"
|
||||||
|
|
||||||
#if !defined(SHOPT_SPAWN)
|
#if !defined(SHOPT_SPAWN)
|
||||||
# if _UWIN || _use_spawnveg
|
# if _use_spawnveg
|
||||||
# define SHOPT_SPAWN 1
|
# define SHOPT_SPAWN 1
|
||||||
# endif
|
# endif
|
||||||
#endif /* !SHOPT_SPAWN */
|
#endif /* !SHOPT_SPAWN */
|
||||||
|
|
|
@ -44,20 +44,6 @@ static Dtdisc_t _Refdisc =
|
||||||
offsetof(struct Namref,np),sizeof(struct Namval_t*),sizeof(struct Namref)
|
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 attstore(Namval_t*,void*);
|
||||||
static void pushnam(Namval_t*,void*);
|
static void pushnam(Namval_t*,void*);
|
||||||
static char *staknam(Namval_t*, char*);
|
static char *staknam(Namval_t*, char*);
|
||||||
|
|
|
@ -1033,8 +1033,6 @@ make install
|
||||||
done pathnative.o generated
|
done pathnative.o generated
|
||||||
make pathposix.o
|
make pathposix.o
|
||||||
make path/pathposix.c
|
make path/pathposix.c
|
||||||
make uwin.h implicit
|
|
||||||
done uwin.h dontcare virtual
|
|
||||||
prev include/ast.h implicit
|
prev include/ast.h implicit
|
||||||
done path/pathposix.c
|
done path/pathposix.c
|
||||||
prev path/pathposix.c
|
prev path/pathposix.c
|
||||||
|
@ -2752,33 +2750,6 @@ make install
|
||||||
prev comp/killpg.c
|
prev comp/killpg.c
|
||||||
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Iinclude -Istd -D_PACKAGE_ast -c comp/killpg.c
|
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Iinclude -Istd -D_PACKAGE_ast -c comp/killpg.c
|
||||||
done killpg.o generated
|
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 getlogin.o
|
||||||
make comp/getlogin.c
|
make comp/getlogin.c
|
||||||
prev include/ast.h implicit
|
prev include/ast.h implicit
|
||||||
|
@ -3542,7 +3513,18 @@ make install
|
||||||
done regstat.o generated
|
done regstat.o generated
|
||||||
make dtclose.o
|
make dtclose.o
|
||||||
make cdt/dtclose.c
|
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
|
done cdt/dtclose.c
|
||||||
prev 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
|
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
|
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
|
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
|
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 fflush.o
|
||||||
make stdio/fflush.c
|
make stdio/fflush.c
|
||||||
prev stdio/stdhdr.h implicit
|
prev stdio/stdhdr.h implicit
|
||||||
|
@ -4293,13 +4261,6 @@ make install
|
||||||
prev stdio/fgets.c
|
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
|
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
|
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 fopen.o
|
||||||
make stdio/fopen.c
|
make stdio/fopen.c
|
||||||
prev stdio/stdhdr.h implicit
|
prev stdio/stdhdr.h implicit
|
||||||
|
@ -4321,13 +4282,6 @@ make install
|
||||||
prev stdio/fpurge.c
|
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
|
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
|
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 fputs.o
|
||||||
make stdio/fputs.c
|
make stdio/fputs.c
|
||||||
prev stdio/stdhdr.h implicit
|
prev stdio/stdhdr.h implicit
|
||||||
|
@ -4398,41 +4352,6 @@ make install
|
||||||
prev stdio/fwrite.c
|
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
|
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
|
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 getw.o
|
||||||
make stdio/getw.c
|
make stdio/getw.c
|
||||||
prev stdio/stdhdr.h implicit
|
prev stdio/stdhdr.h implicit
|
||||||
|
@ -4461,13 +4380,6 @@ make install
|
||||||
prev stdio/printf.c
|
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
|
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
|
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 putchar.o
|
||||||
make stdio/putchar.c
|
make stdio/putchar.c
|
||||||
prev stdio/stdhdr.h implicit
|
prev stdio/stdhdr.h implicit
|
||||||
|
@ -4657,21 +4569,6 @@ make install
|
||||||
prev stdio/_flsbuf.c
|
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
|
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
|
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 _stdopen.o
|
||||||
make stdio/_stdopen.c
|
make stdio/_stdopen.c
|
||||||
prev stdio/stdhdr.h implicit
|
prev stdio/stdhdr.h implicit
|
||||||
|
@ -5257,196 +5154,13 @@ make install
|
||||||
prev vmalloc/vmgetmem.c
|
prev vmalloc/vmgetmem.c
|
||||||
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Iinclude -Istd -D_PACKAGE_ast -c vmalloc/vmgetmem.c
|
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Iinclude -Istd -D_PACKAGE_ast -c vmalloc/vmgetmem.c
|
||||||
done vmgetmem.o generated
|
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 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 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 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 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 _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 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 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
|
exec - (ranlib libast.a) >/dev/null 2>&1 || true
|
||||||
done libast.a generated
|
done libast.a generated
|
||||||
done ast virtual
|
done ast virtual
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2012 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -23,7 +23,7 @@
|
||||||
|
|
||||||
#include "asohdr.h"
|
#include "asohdr.h"
|
||||||
|
|
||||||
#if defined(_UWIN) && defined(_BLD_ast) || !_aso_fcntl
|
#if !_aso_fcntl
|
||||||
|
|
||||||
NoN(aso_meth_fcntl)
|
NoN(aso_meth_fcntl)
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
|
|
||||||
#include "asohdr.h"
|
#include "asohdr.h"
|
||||||
|
|
||||||
#if defined(_UWIN) && defined(_BLD_ast) || !_aso_semaphore
|
#if !_aso_semaphore
|
||||||
|
|
||||||
NoN(aso_meth_semaphore)
|
NoN(aso_meth_semaphore)
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2012 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -24,12 +24,6 @@
|
||||||
#include "asohdr.h"
|
#include "asohdr.h"
|
||||||
#include "FEATURE/aso"
|
#include "FEATURE/aso"
|
||||||
|
|
||||||
#if defined(_UWIN) && defined(_BLD_ast)
|
|
||||||
|
|
||||||
NoN(aso)
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* AST atomic scalar operations
|
* AST atomic scalar operations
|
||||||
* AT&T Research
|
* AT&T Research
|
||||||
|
@ -45,20 +39,12 @@ NoN(aso)
|
||||||
|
|
||||||
#if !_PACKAGE_ast
|
#if !_PACKAGE_ast
|
||||||
|
|
||||||
#if _UWIN
|
|
||||||
|
|
||||||
extern ssize_t sfsprintf(char*, size_t, const char*, ...);
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
#define sfsprintf snprintf
|
#define sfsprintf snprintf
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(_aso_casptr) && (defined(_aso_cas32) || defined(_aso_cas64))
|
#if defined(_aso_casptr) && (defined(_aso_cas32) || defined(_aso_cas64))
|
||||||
#define ASO_METHOD (&_aso_meth_intrinsic)
|
#define ASO_METHOD (&_aso_meth_intrinsic)
|
||||||
#define ASO_LOCKF 0
|
#define ASO_LOCKF 0
|
||||||
|
@ -863,5 +849,3 @@ asocasptr(void volatile* p, void* o, void* n)
|
||||||
lock(state.data, k, p);
|
lock(state.data, k, p);
|
||||||
return o;
|
return o;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2012 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -56,11 +56,6 @@
|
||||||
|
|
||||||
#include "FEATURE/asometh"
|
#include "FEATURE/asometh"
|
||||||
|
|
||||||
#if _UWIN
|
|
||||||
#undef _aso_fcntl
|
|
||||||
#undef _aso_semaphore
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "aso.h"
|
#include "aso.h"
|
||||||
|
|
||||||
#define HASH(p,z) ((integralof(p)*FNV_MULT)%(z))
|
#define HASH(p,z) ((integralof(p)*FNV_MULT)%(z))
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2011 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -23,12 +23,6 @@
|
||||||
|
|
||||||
#include "asohdr.h"
|
#include "asohdr.h"
|
||||||
|
|
||||||
#if defined(_UWIN) && defined(_BLD_ast)
|
|
||||||
|
|
||||||
NoN(asolock)
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
int
|
int
|
||||||
asolock(unsigned int volatile* lock, unsigned int key, int type)
|
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;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2011 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -23,12 +23,6 @@
|
||||||
|
|
||||||
#include "asohdr.h"
|
#include "asohdr.h"
|
||||||
|
|
||||||
#if defined(_UWIN) && defined(_BLD_ast)
|
|
||||||
|
|
||||||
NoN(asometh)
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* this is the default user visible asometh()
|
* this is the default user visible asometh()
|
||||||
* -ltaso intercepts asometh() to prepend ASO_THREAD methods
|
* -ltaso intercepts asometh() to prepend ASO_THREAD methods
|
||||||
|
@ -39,5 +33,3 @@ asometh(int type, void* data)
|
||||||
{
|
{
|
||||||
return _asometh(type, data);
|
return _asometh(type, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2011 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -23,12 +23,6 @@
|
||||||
|
|
||||||
#include "asohdr.h"
|
#include "asohdr.h"
|
||||||
|
|
||||||
#if defined(_UWIN) && defined(_BLD_ast)
|
|
||||||
|
|
||||||
NoN(asorelax)
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
#if _PACKAGE_ast
|
#if _PACKAGE_ast
|
||||||
#include <tv.h>
|
#include <tv.h>
|
||||||
#else
|
#else
|
||||||
|
@ -52,5 +46,3 @@ asorelax(long nsec)
|
||||||
return nanosleep(&ts, 0);
|
return nanosleep(&ts, 0);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2012 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -636,15 +636,6 @@ static int treeevent(Dt_t* dt, int event, void* arg)
|
||||||
else return 0;
|
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 */
|
/* make this method available */
|
||||||
static Dtmethod_t _Dtoset = { dttree, DT_OSET, treeevent, "Dtoset" };
|
static Dtmethod_t _Dtoset = { dttree, DT_OSET, treeevent, "Dtoset" };
|
||||||
static Dtmethod_t _Dtobag = { dttree, DT_OBAG, treeevent, "Dtobag" };
|
static Dtmethod_t _Dtobag = { dttree, DT_OBAG, treeevent, "Dtobag" };
|
||||||
|
|
|
@ -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
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2012 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -144,263 +144,6 @@ static const _ast_iconv_list_t codes[] =
|
||||||
{ 0 },
|
{ 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
|
* return canonical character code set name for m
|
||||||
* if b!=0 then canonical name placed in b of size n
|
* 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
|
#if _lib_iconv_open
|
||||||
else if ((cc->cvt = iconv_open(t, f)) != (iconv_t)(-1) || (cc->cvt = iconv_open(to, fr)) != (iconv_t)(-1))
|
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;
|
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
|
#endif
|
||||||
else
|
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_t*
|
||||||
_ast_iconv_list(_ast_iconv_list_t* cp)
|
_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)
|
if (!cp)
|
||||||
return ccmaplist(NiL);
|
return ccmaplist(NiL);
|
||||||
#endif
|
|
||||||
if (cp->ccode >= 0)
|
if (cp->ccode >= 0)
|
||||||
return (cp = ccmaplist(cp)) ? cp : (_ast_iconv_list_t*)codes;
|
return (cp = ccmaplist(cp)) ? cp : (_ast_iconv_list_t*)codes;
|
||||||
return (++cp)->name ? cp : (_ast_iconv_list_t*)0;
|
return (++cp)->name ? cp : (_ast_iconv_list_t*)0;
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2011 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -23,7 +23,7 @@
|
||||||
|
|
||||||
#include <ast.h>
|
#include <ast.h>
|
||||||
|
|
||||||
#if _lib_memccpy && !_UWIN
|
#if _lib_memccpy
|
||||||
|
|
||||||
NoN(memccpy)
|
NoN(memccpy)
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2011 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -23,10 +23,6 @@
|
||||||
|
|
||||||
#define putenv ______putenv
|
#define putenv ______putenv
|
||||||
|
|
||||||
#if _UWIN
|
|
||||||
#define _STDLIB_H_ 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <ast.h>
|
#include <ast.h>
|
||||||
|
|
||||||
#undef putenv
|
#undef putenv
|
||||||
|
|
|
@ -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
|
* LC_COLLATE and LC_CTYPE native support
|
||||||
*/
|
*/
|
||||||
|
@ -2432,8 +2335,7 @@ default_setlocale(int category, const char* locale)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !_UWIN
|
/* <TODO> [2022-07-21]: remove this and _vmkeep? obsolete? */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* workaround for Solaris and FreeBSD systems
|
* workaround for Solaris and FreeBSD systems
|
||||||
* they call free() with addresses that look like they came from the stack
|
* 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)
|
#define setlocale(a,b) _sys_setlocale(a,b)
|
||||||
|
/* </TODO> */
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* set a single AST_LC_* locale category
|
* set a single AST_LC_* locale category
|
||||||
|
@ -2796,7 +2697,7 @@ _ast_setlocale(int category, const char* locale)
|
||||||
u = 0;
|
u = 0;
|
||||||
if ((s = getenv("LANG")) && *s)
|
if ((s = getenv("LANG")) && *s)
|
||||||
{
|
{
|
||||||
if (streq(s, local) && (u || (u = native_locale(locale, tmp, sizeof(tmp)))))
|
if (u && streq(s, local))
|
||||||
s = u;
|
s = u;
|
||||||
lang = lcmake(s);
|
lang = lcmake(s);
|
||||||
}
|
}
|
||||||
|
@ -2804,7 +2705,7 @@ _ast_setlocale(int category, const char* locale)
|
||||||
lang = 0;
|
lang = 0;
|
||||||
if ((s = getenv("LC_ALL")) && *s)
|
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;
|
s = u;
|
||||||
lc_all = lcmake(s);
|
lc_all = lcmake(s);
|
||||||
}
|
}
|
||||||
|
@ -2815,7 +2716,7 @@ _ast_setlocale(int category, const char* locale)
|
||||||
/* explicitly set by setlocale() */;
|
/* explicitly set by setlocale() */;
|
||||||
else if ((s = getenv(lc_categories[i].name)) && *s)
|
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;
|
s = u;
|
||||||
lc_categories[i].prev = lcmake(s);
|
lc_categories[i].prev = lcmake(s);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2012 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -31,14 +31,10 @@
|
||||||
|
|
||||||
#undef strtoll
|
#undef strtoll
|
||||||
|
|
||||||
#if !_UWIN
|
|
||||||
|
|
||||||
#undef _def_map_ast
|
#undef _def_map_ast
|
||||||
|
|
||||||
#include <ast_map.h>
|
#include <ast_map.h>
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define S2I_function strtoll
|
#define S2I_function strtoll
|
||||||
#define S2I_number intmax_t
|
#define S2I_number intmax_t
|
||||||
#define S2I_unumber uintmax_t
|
#define S2I_unumber uintmax_t
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2012 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -31,14 +31,10 @@
|
||||||
|
|
||||||
#undef strtoull
|
#undef strtoull
|
||||||
|
|
||||||
#if !_UWIN
|
|
||||||
|
|
||||||
#undef _def_map_ast
|
#undef _def_map_ast
|
||||||
|
|
||||||
#include <ast_map.h>
|
#include <ast_map.h>
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define S2I_function strtoull
|
#define S2I_function strtoull
|
||||||
#define S2I_number intmax_t
|
#define S2I_number intmax_t
|
||||||
#define S2I_unumber uintmax_t
|
#define S2I_unumber uintmax_t
|
||||||
|
|
|
@ -43,9 +43,6 @@ Syslog_state_t log = { LOG_USER, -1, 0, ~0 };
|
||||||
|
|
||||||
static const Namval_t attempt[] =
|
static const Namval_t attempt[] =
|
||||||
{
|
{
|
||||||
#if _UWIN
|
|
||||||
"/var/log/syslog", 0,
|
|
||||||
#endif
|
|
||||||
"/dev/log", 0,
|
"/dev/log", 0,
|
||||||
"var/log/syslog", 0,
|
"var/log/syslog", 0,
|
||||||
"lib/syslog/log", 0,
|
"lib/syslog/log", 0,
|
||||||
|
@ -92,161 +89,6 @@ const Namval_t log_severity[] =
|
||||||
0, 0
|
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
|
void
|
||||||
sendlog(const char* msg)
|
sendlog(const char* msg)
|
||||||
{
|
{
|
||||||
|
@ -268,7 +110,7 @@ sendlog(const char* msg)
|
||||||
continue;
|
continue;
|
||||||
if (*(s = p->name) != '/' && !(s = pathpath(buf, s, "", PATH_REGULAR|PATH_READ, sizeof(buf))))
|
if (*(s = p->name) != '/' && !(s = pathpath(buf, s, "", PATH_REGULAR|PATH_READ, sizeof(buf))))
|
||||||
continue;
|
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;
|
continue;
|
||||||
#if !O_cloexec
|
#if !O_cloexec
|
||||||
fcntl(log.fd, F_SETFD, FD_CLOEXEC);
|
fcntl(log.fd, F_SETFD, FD_CLOEXEC);
|
||||||
|
|
|
@ -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
|
|
|
@ -60,7 +60,7 @@ cat{
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Windows variants and veneers */
|
/* Windows variants and veneers */
|
||||||
#if !defined(_WINIX) && (_UWIN || __CYGWIN__ || __EMX__)
|
#if !defined(_WINIX) && (__CYGWIN__ || __EMX__)
|
||||||
# define _WINIX 1
|
# define _WINIX 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -75,7 +75,7 @@ cat{
|
||||||
# if _BLD_STATIC && !_BLD_DLL
|
# if _BLD_STATIC && !_BLD_DLL
|
||||||
# undef _DLL
|
# undef _DLL
|
||||||
# else
|
# else
|
||||||
# if !_UWIN && !defined(_DLL)
|
# if !defined(_DLL)
|
||||||
# define _DLL 1
|
# define _DLL 1
|
||||||
# endif
|
# endif
|
||||||
# endif
|
# endif
|
||||||
|
@ -85,9 +85,6 @@ cat{
|
||||||
# if !defined(__IMPORT__) && ( _BLD_DLL || defined(_DLL) )
|
# if !defined(__IMPORT__) && ( _BLD_DLL || defined(_DLL) )
|
||||||
# define __IMPORT__ __declspec(dllimport)
|
# define __IMPORT__ __declspec(dllimport)
|
||||||
# endif
|
# endif
|
||||||
# if _BLD_DLL && _UWIN
|
|
||||||
# define __DYNAMIC__(v) (_ast_getdll()->_ast_ ## v)
|
|
||||||
# endif
|
|
||||||
#endif
|
#endif
|
||||||
#if !defined(_astimport)
|
#if !defined(_astimport)
|
||||||
# if defined(__IMPORT__) && defined(_DLL)
|
# if defined(__IMPORT__) && defined(_DLL)
|
||||||
|
@ -96,7 +93,7 @@ cat{
|
||||||
# define _astimport extern
|
# define _astimport extern
|
||||||
# endif
|
# endif
|
||||||
#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 __EXTERN__(T,obj) extern T obj; T* _imp__ ## obj = &obj
|
||||||
# define __DEFINE__(T,obj,val) T obj = val; T* _imp__ ## obj = &obj
|
# define __DEFINE__(T,obj,val) T obj = val; T* _imp__ ## obj = &obj
|
||||||
#else
|
#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");
|
printf("/* va_arg() va_list type */\n");
|
||||||
#endif /*TRY == 4*/
|
#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)
|
||||||
#if defined(__va_copy)
|
#if defined(__va_copy)
|
||||||
printf("#ifndef va_copy\n");
|
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");
|
printf("#endif\n");
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
printf("#endif\n");
|
printf("#endif\n");
|
||||||
|
|
|
@ -630,19 +630,6 @@ tst - output{
|
||||||
int
|
int
|
||||||
main()
|
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
|
#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("#if !_AST_no_spawnveg\n");
|
||||||
printf("#define _use_spawnveg 1\n");
|
printf("#define _use_spawnveg 1\n");
|
||||||
|
|
|
@ -295,23 +295,6 @@ int main()
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
printf("\n");
|
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"
|
#include "conflim.h"
|
||||||
|
|
||||||
|
|
|
@ -518,9 +518,7 @@ main()
|
||||||
printf("#endif\n");
|
printf("#endif\n");
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
printf("#if !_UWIN\n");
|
|
||||||
printf("#undef extern\n");
|
printf("#undef extern\n");
|
||||||
printf("#endif\n");
|
|
||||||
#if _npt_strtold || _map_libc || _std_strtold
|
#if _npt_strtold || _map_libc || _std_strtold
|
||||||
#if _npt_strtold && !_map_libc && !_std_strtold
|
#if _npt_strtold && !_map_libc && !_std_strtold
|
||||||
printf("#ifndef _ISOC99_SOURCE\n");
|
printf("#ifndef _ISOC99_SOURCE\n");
|
||||||
|
|
|
@ -25,7 +25,6 @@ tst tmp_rmfail note{ open files cannot be removed }end execute{
|
||||||
int
|
int
|
||||||
main()
|
main()
|
||||||
{
|
{
|
||||||
#if !_UWIN
|
|
||||||
int n;
|
int n;
|
||||||
char* s;
|
char* s;
|
||||||
FILE* fr;
|
FILE* fr;
|
||||||
|
@ -71,7 +70,6 @@ tst tmp_rmfail note{ open files cannot be removed }end execute{
|
||||||
fclose(fr);
|
fclose(fr);
|
||||||
if (strcmp(file, data) != 0)
|
if (strcmp(file, data) != 0)
|
||||||
return 0;
|
return 0;
|
||||||
#endif
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
}end
|
}end
|
||||||
|
|
|
@ -115,7 +115,6 @@ output{
|
||||||
printf("#ifndef TMP_MAX\n");
|
printf("#ifndef TMP_MAX\n");
|
||||||
printf("#define TMP_MAX %d\n", TMP_MAX);
|
printf("#define TMP_MAX %d\n", TMP_MAX);
|
||||||
printf("#endif\n");
|
printf("#endif\n");
|
||||||
#if !_UWIN
|
|
||||||
printf("\n");
|
printf("\n");
|
||||||
printf("#define _doprnt _ast_doprnt\n");
|
printf("#define _doprnt _ast_doprnt\n");
|
||||||
printf("#define _doscan _ast_doscan\n");
|
printf("#define _doscan _ast_doscan\n");
|
||||||
|
@ -191,12 +190,7 @@ output{
|
||||||
printf("#define putc_unlocked _ast_putc_unlocked\n");
|
printf("#define putc_unlocked _ast_putc_unlocked\n");
|
||||||
printf("#define putchar_unlocked _ast_putchar_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");
|
printf("\n");
|
||||||
#endif
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}end
|
}end
|
||||||
|
@ -359,14 +353,12 @@ cat{
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
#if !_UWIN
|
|
||||||
#if _BLD_ast && defined(__EXPORT__)
|
#if _BLD_ast && defined(__EXPORT__)
|
||||||
#define extern extern __EXPORT__
|
#define extern extern __EXPORT__
|
||||||
#endif
|
#endif
|
||||||
#if !_BLD_ast && defined(__IMPORT__)
|
#if !_BLD_ast && defined(__IMPORT__)
|
||||||
#define extern extern __IMPORT__
|
#define extern extern __IMPORT__
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
|
|
||||||
extern FILE _Sfstdin;
|
extern FILE _Sfstdin;
|
||||||
extern FILE _Sfstdout;
|
extern FILE _Sfstdout;
|
||||||
|
|
|
@ -5,7 +5,7 @@ _cc_export_dynamic = note{ probe CC.EXPORT.DYNAMIC supported }end run{
|
||||||
}end
|
}end
|
||||||
|
|
||||||
tst tzset_environ note{ tzset() bypasses user getenv() }end execute{
|
tst tzset_environ note{ tzset() bypasses user getenv() }end execute{
|
||||||
#if _UWIN || !_cc_export_dynamic
|
#if !_cc_export_dynamic
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -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
|
|
|
@ -40,10 +40,8 @@
|
||||||
#define _BLD_aso 1
|
#define _BLD_aso 1
|
||||||
#define _BLD_cdt 1
|
#define _BLD_cdt 1
|
||||||
#define _BLD_sfio 1
|
#define _BLD_sfio 1
|
||||||
#if !_UWIN
|
|
||||||
#define _BLD_vmalloc 1
|
#define _BLD_vmalloc 1
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef _SFSTDIO_H
|
#ifdef _SFSTDIO_H
|
||||||
#define _SKIP_SFSTDIO_H
|
#define _SKIP_SFSTDIO_H
|
||||||
|
@ -134,8 +132,6 @@ struct lconv
|
||||||
#define extern __EXPORT__
|
#define extern __EXPORT__
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !_UWIN /* for AST54 compatibility */
|
|
||||||
|
|
||||||
#undef getenv
|
#undef getenv
|
||||||
#define getenv _ast_getenv
|
#define getenv _ast_getenv
|
||||||
|
|
||||||
|
@ -144,8 +140,6 @@ struct lconv
|
||||||
|
|
||||||
extern char* getenv(const char*);
|
extern char* getenv(const char*);
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#undef localeconv
|
#undef localeconv
|
||||||
#define localeconv _ast_localeconv
|
#define localeconv _ast_localeconv
|
||||||
|
|
||||||
|
|
|
@ -207,10 +207,6 @@ extern Sfio_t* sfstdin;
|
||||||
extern Sfio_t* sfstdout;
|
extern Sfio_t* sfstdout;
|
||||||
extern Sfio_t* sfstderr;
|
extern Sfio_t* sfstderr;
|
||||||
|
|
||||||
#if _UWIN
|
|
||||||
#undef extern
|
|
||||||
#endif
|
|
||||||
|
|
||||||
extern Sfio_t _Sfstdin;
|
extern Sfio_t _Sfstdin;
|
||||||
extern Sfio_t _Sfstdout;
|
extern Sfio_t _Sfstdout;
|
||||||
extern Sfio_t _Sfstderr;
|
extern Sfio_t _Sfstderr;
|
||||||
|
|
|
@ -1986,10 +1986,6 @@ FILE* tmpfile();
|
||||||
int fclose(FILE* stream);
|
int fclose(FILE* stream);
|
||||||
int pclose(FILE* stream);
|
int pclose(FILE* stream);
|
||||||
|
|
||||||
void flockfile(FILE* stream)
|
|
||||||
int ftrylockfile(FILE* stream)
|
|
||||||
void funlockfile(FILE* stream)
|
|
||||||
|
|
||||||
void setbuf(FILE* stream, char* buf);
|
void setbuf(FILE* stream, char* buf);
|
||||||
int setvbuf(FILE* stream, char* buf, int mode, size_t size);
|
int setvbuf(FILE* stream, char* buf, int mode, size_t size);
|
||||||
void setbuffer(FILE* stream, char* buf, size_t size);
|
void setbuffer(FILE* stream, char* buf, size_t size);
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2011 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -21,16 +21,8 @@
|
||||||
* *
|
* *
|
||||||
***********************************************************************/
|
***********************************************************************/
|
||||||
|
|
||||||
#if _UWIN && __STDPP__
|
|
||||||
__STDPP__directive pragma pp:hide getenv
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "intercepts.h"
|
#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
|
* NOTE: the "intercepts" definition is here instead of astintercept.c because some
|
||||||
* static linkers miss lone references to "intercepts" without "astintercept()"
|
* static linkers miss lone references to "intercepts" without "astintercept()"
|
||||||
|
@ -41,43 +33,6 @@ __STDPP__directive pragma pp:nohide getenv
|
||||||
Intercepts_t intercepts
|
Intercepts_t intercepts
|
||||||
= { 0 };
|
= { 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
|
* get name from the environment
|
||||||
*/
|
*/
|
||||||
|
@ -89,21 +44,6 @@ default_getenv(const char* name)
|
||||||
extern char*
|
extern char*
|
||||||
getenv(const char* name)
|
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
|
#undef getenv
|
||||||
return intercepts.intercept_getenv ? (*intercepts.intercept_getenv)(name) : getenv(name);
|
return intercepts.intercept_getenv ? (*intercepts.intercept_getenv)(name) : getenv(name);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2011 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -839,82 +839,9 @@ ckmagic(register Magic_t* mp, const char* file, char* buf, char* end, struct sta
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'r':
|
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])
|
if (ep->cont == '#' && !mp->keep[level])
|
||||||
mp->keep[level] = 1;
|
mp->keep[level] = 1;
|
||||||
goto next;
|
goto next;
|
||||||
#endif
|
|
||||||
|
|
||||||
case 'v':
|
case 'v':
|
||||||
if (!(p = getdata(mp, num, 4)))
|
if (!(p = getdata(mp, num, 4)))
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
* fun==SIG_DFL also unblocks signal
|
* fun==SIG_DFL also unblocks signal
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if !_UWIN && !__HAIKU__
|
#if !__HAIKU__
|
||||||
|
|
||||||
#undef signal
|
#undef signal
|
||||||
#define signal ______signal
|
#define signal ______signal
|
||||||
|
@ -36,8 +36,6 @@
|
||||||
#include <ast.h>
|
#include <ast.h>
|
||||||
#include <sig.h>
|
#include <sig.h>
|
||||||
|
|
||||||
#if !_UWIN
|
|
||||||
|
|
||||||
#undef signal
|
#undef signal
|
||||||
|
|
||||||
#undef _def_map_ast
|
#undef _def_map_ast
|
||||||
|
@ -47,8 +45,6 @@
|
||||||
#define extern __EXPORT__
|
#define extern __EXPORT__
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(SV_ABORT)
|
#if defined(SV_ABORT)
|
||||||
#undef SV_INTERRUPT
|
#undef SV_INTERRUPT
|
||||||
#define SV_INTERRUPT SV_ABORT
|
#define SV_INTERRUPT SV_ABORT
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2011 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* 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* env[elementsof(usr) + 3];
|
||||||
char* ver[2];
|
char* ver[2];
|
||||||
char tmp[PATH_MAX];
|
char tmp[PATH_MAX];
|
||||||
#if _UWIN
|
|
||||||
struct stat st;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static char let[] = "ABCDEFGHIJKLMNOP";
|
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);
|
attr = strcopy(attr, k);
|
||||||
}
|
}
|
||||||
#endif
|
#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
|
* universe
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2011 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -33,18 +33,6 @@
|
||||||
|
|
||||||
#include <ast.h>
|
#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__
|
#if __CYGWIN__
|
||||||
|
|
||||||
extern void cygwin_conv_to_win32_path(const char*, char*);
|
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
|
#endif
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2011 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -33,18 +33,6 @@
|
||||||
|
|
||||||
#include <ast.h>
|
#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__
|
#if __CYGWIN__
|
||||||
|
|
||||||
extern void cygwin_conv_to_posix_path(const char*, char*);
|
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
|
#endif
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
|
@ -605,11 +605,7 @@ format(register Feature_t* fp, const char* path, const char* value, unsigned int
|
||||||
{
|
{
|
||||||
register Feature_t* sp;
|
register Feature_t* sp;
|
||||||
register int n;
|
register int n;
|
||||||
#if _UWIN && ( _X86_ || _X64_ )
|
|
||||||
struct stat st;
|
|
||||||
#else
|
|
||||||
static struct utsname uts;
|
static struct utsname uts;
|
||||||
#endif
|
|
||||||
|
|
||||||
#if DEBUG_astconf
|
#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" : "");
|
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:
|
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))
|
if (!uname(&uts))
|
||||||
return fp->value = uts.machine;
|
return fp->value = uts.machine;
|
||||||
if (!(fp->value = getenv("HOSTNAME")))
|
if (!(fp->value = getenv("HOSTNAME")))
|
||||||
fp->value = "unknown";
|
fp->value = "unknown";
|
||||||
#endif
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case OP_conformance:
|
case OP_conformance:
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2011 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -25,88 +25,6 @@
|
||||||
* AST dynamic data initialization
|
* 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>
|
#include <ast.h>
|
||||||
|
|
||||||
#if _dll_data_intercept && ( _DLL_BLD || _BLD_DLL )
|
#if _dll_data_intercept && ( _DLL_BLD || _BLD_DLL )
|
||||||
|
@ -128,5 +46,3 @@ _ast_getdll(void)
|
||||||
NoN(astdynamic)
|
NoN(astdynamic)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2011 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -26,7 +26,5 @@
|
||||||
int
|
int
|
||||||
_doprnt(const char* fmt, va_list args, Sfio_t* f)
|
_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);
|
return sfvprintf(f, fmt, args);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2011 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -26,7 +26,5 @@
|
||||||
int
|
int
|
||||||
_doscan(Sfio_t* f, const char* fmt, va_list args)
|
_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);
|
return sfvscanf(f, fmt, args);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2011 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -30,7 +30,5 @@
|
||||||
extern int
|
extern int
|
||||||
_filbuf(Sfio_t* f)
|
_filbuf(Sfio_t* f)
|
||||||
{
|
{
|
||||||
STDIO_INT(f, "_filbuf", int, (Sfio_t*), (f))
|
|
||||||
|
|
||||||
return _sffilbuf(f, 0);
|
return _sffilbuf(f, 0);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2011 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -36,8 +36,6 @@ NoN(_flsbuf)
|
||||||
extern int
|
extern int
|
||||||
_flsbuf(int c, Sfio_t* f)
|
_flsbuf(int c, Sfio_t* f)
|
||||||
{
|
{
|
||||||
STDIO_INT(f, "_flsbuf", int, (int, Sfio_t*), (c, f))
|
|
||||||
|
|
||||||
return _sfflsbuf(f, c);
|
return _sfflsbuf(f, c);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2011 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -26,8 +26,6 @@
|
||||||
int
|
int
|
||||||
clearerr(Sfio_t* f)
|
clearerr(Sfio_t* f)
|
||||||
{
|
{
|
||||||
STDIO_INT(f, "clearerr", int, (Sfio_t*), (f))
|
|
||||||
|
|
||||||
sfclrerr(f);
|
sfclrerr(f);
|
||||||
return sfclrlock(f);
|
return sfclrlock(f);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2011 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -26,7 +26,5 @@
|
||||||
int
|
int
|
||||||
fclose(Sfio_t* f)
|
fclose(Sfio_t* f)
|
||||||
{
|
{
|
||||||
STDIO_INT(f, "fclose", int, (Sfio_t*), (f))
|
|
||||||
|
|
||||||
return sfclose(f);
|
return sfclose(f);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2011 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -35,8 +35,6 @@ fcloseall(void)
|
||||||
int count;
|
int count;
|
||||||
int loop;
|
int loop;
|
||||||
|
|
||||||
STDIO_INT(0, "fcloseall", int, (void), ())
|
|
||||||
|
|
||||||
for(loop = 0; loop < MAXLOOP; ++loop)
|
for(loop = 0; loop < MAXLOOP; ++loop)
|
||||||
{ nclose = count = 0;
|
{ nclose = count = 0;
|
||||||
for(p = &_Sfpool; p; p = next)
|
for(p = &_Sfpool; p; p = next)
|
||||||
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2011 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -33,8 +33,6 @@ fflush(Sfio_t* f)
|
||||||
if (!f)
|
if (!f)
|
||||||
return fcloseall();
|
return fcloseall();
|
||||||
|
|
||||||
STDIO_INT(f, "fflush", int, (Sfio_t*), (f))
|
|
||||||
|
|
||||||
if (f->extent > 0)
|
if (f->extent > 0)
|
||||||
sfseek(f, (Sfoff_t)0, SEEK_CUR|SF_PUBLIC);
|
sfseek(f, (Sfoff_t)0, SEEK_CUR|SF_PUBLIC);
|
||||||
return (sfsync(f) < 0 || sfpurge(f) < 0) ? -1 : 0;
|
return (sfsync(f) < 0 || sfpurge(f) < 0) ? -1 : 0;
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2011 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -26,7 +26,5 @@
|
||||||
int
|
int
|
||||||
fgetc(Sfio_t* f)
|
fgetc(Sfio_t* f)
|
||||||
{
|
{
|
||||||
STDIO_INT(f, "fgetc", int, (Sfio_t*), (f))
|
|
||||||
|
|
||||||
return sfgetc(f);
|
return sfgetc(f);
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,5 @@
|
||||||
int
|
int
|
||||||
fgetpos(Sfio_t* f, fpos_t* pos)
|
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;
|
return (pos->_sf_offset = sfseek(f, (Sfoff_t)0, SEEK_CUR)) >= 0 ? 0 : -1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2011 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -98,8 +98,6 @@ _stdgets(Sfio_t* f, char* us, int n, int isgets)
|
||||||
char*
|
char*
|
||||||
fgets(char* s, int n, Sfio_t* f)
|
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);
|
return _stdgets(f, s, n, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2011 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -28,8 +28,6 @@ fgetwc(Sfio_t* f)
|
||||||
{
|
{
|
||||||
wchar_t c;
|
wchar_t c;
|
||||||
|
|
||||||
STDIO_INT(f, "fgetwc", wint_t, (Sfio_t*), (f))
|
|
||||||
|
|
||||||
FWIDE(f, WEOF);
|
FWIDE(f, WEOF);
|
||||||
return (sfread(f, &c, sizeof(c)) == sizeof(c)) ? c : WEOF;
|
return (sfread(f, &c, sizeof(c)) == sizeof(c)) ? c : WEOF;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2011 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* 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 wchar_t* e = s + n - 1;
|
||||||
register wint_t c;
|
register wint_t c;
|
||||||
|
|
||||||
STDIO_PTR(f, "fgets", wchar_t*, (wchar_t*, int, Sfio_t*), (s, n, f))
|
|
||||||
|
|
||||||
FWIDE(f, 0);
|
FWIDE(f, 0);
|
||||||
while (p < e && (c = fgetwc(f)) != WEOF && (*p++ = c) != '\n');
|
while (p < e && (c = fgetwc(f)) != WEOF && (*p++ = c) != '\n');
|
||||||
*p = 0;
|
*p = 0;
|
||||||
|
|
|
@ -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
|
|
|
@ -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))
|
|
||||||
}
|
|
|
@ -26,7 +26,5 @@
|
||||||
Sfio_t*
|
Sfio_t*
|
||||||
fmemopen(void* buf, size_t size, const char* mode)
|
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));
|
return sfnew(NiL, buf, size, -1, SF_STRING|_sftype(mode, NiL, NiL));
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2011 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -31,8 +31,6 @@ fprintf(Sfio_t* f, const char* fmt, ...)
|
||||||
|
|
||||||
va_start(args, fmt);
|
va_start(args, fmt);
|
||||||
|
|
||||||
STDIO_INT(f, "vfprintf", int, (Sfio_t*, const char*, va_list), (f, fmt, args))
|
|
||||||
|
|
||||||
v = sfvprintf(f, fmt, args);
|
v = sfvprintf(f, fmt, args);
|
||||||
va_end(args);
|
va_end(args);
|
||||||
return v;
|
return v;
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2011 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -26,7 +26,5 @@
|
||||||
int
|
int
|
||||||
fpurge(Sfio_t* f)
|
fpurge(Sfio_t* f)
|
||||||
{
|
{
|
||||||
STDIO_INT(f, "fpurge", int, (Sfio_t*), (f))
|
|
||||||
|
|
||||||
return sfpurge(f);
|
return sfpurge(f);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2011 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -26,7 +26,5 @@
|
||||||
int
|
int
|
||||||
fputs(const char* s, Sfio_t* f)
|
fputs(const char* s, Sfio_t* f)
|
||||||
{
|
{
|
||||||
STDIO_INT(f, "fputs", int, (const char*, Sfio_t*), (s, f))
|
|
||||||
|
|
||||||
return sfputr(f, s, -1);
|
return sfputr(f, s, -1);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2011 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -26,8 +26,6 @@
|
||||||
wint_t
|
wint_t
|
||||||
fputwc(wchar_t c, Sfio_t* f)
|
fputwc(wchar_t c, Sfio_t* f)
|
||||||
{
|
{
|
||||||
STDIO_INT(f, "fputc", wint_t, (wchar_t, Sfio_t*), (c, f))
|
|
||||||
|
|
||||||
FWIDE(f, WEOF);
|
FWIDE(f, WEOF);
|
||||||
return (sfwrite(f, &c, sizeof(c)) == sizeof(c)) ? c : WEOF;
|
return (sfwrite(f, &c, sizeof(c)) == sizeof(c)) ? c : WEOF;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2011 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -28,8 +28,6 @@ fputws(const wchar_t* s, Sfio_t* f)
|
||||||
{
|
{
|
||||||
size_t n;
|
size_t n;
|
||||||
|
|
||||||
STDIO_INT(f, "fputws", int, (const wchar_t*, Sfio_t*), (s, f))
|
|
||||||
|
|
||||||
FWIDE(f, WEOF);
|
FWIDE(f, WEOF);
|
||||||
n = wcslen(s) * sizeof(wchar_t);
|
n = wcslen(s) * sizeof(wchar_t);
|
||||||
return (sfwrite(f, s, n) == n) ? 0 : -1;
|
return (sfwrite(f, s, n) == n) ? 0 : -1;
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2011 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -28,7 +28,5 @@ fread(void* p, size_t s, size_t n, Sfio_t* f)
|
||||||
{
|
{
|
||||||
ssize_t v;
|
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);
|
return ((v = sfread(f, p, s * n)) <= 0) ? 0 : (v / s);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2011 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -26,7 +26,5 @@
|
||||||
Sfio_t*
|
Sfio_t*
|
||||||
freopen(const char* path, const char* mode, Sfio_t* f)
|
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);
|
return sfopen(f, path, mode);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2011 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -31,8 +31,6 @@ fscanf(Sfio_t* f, const char* fmt, ...)
|
||||||
|
|
||||||
va_start(args, fmt);
|
va_start(args, fmt);
|
||||||
|
|
||||||
STDIO_INT(f, "vfscanf", int, (Sfio_t*, const char*, va_list), (f, fmt, args))
|
|
||||||
|
|
||||||
v = sfvscanf(f, fmt, args);
|
v = sfvscanf(f, fmt, args);
|
||||||
va_end(args);
|
va_end(args);
|
||||||
return v;
|
return v;
|
||||||
|
|
|
@ -26,7 +26,5 @@
|
||||||
int
|
int
|
||||||
fseek(Sfio_t* f, long off, int op)
|
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;
|
return sfseek(f, (Sfoff_t)off, op|SF_SHARE) >= 0 ? 0 : -1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,5 @@
|
||||||
int
|
int
|
||||||
fseeko(Sfio_t* f, off_t off, int op)
|
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;
|
return sfseek(f, (Sfoff_t)off, op|SF_SHARE) >= 0 ? 0 : -1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,5 @@
|
||||||
int
|
int
|
||||||
fsetpos(Sfio_t* f, const fpos_t* pos)
|
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;
|
return sfseek(f, (Sfoff_t)pos->_sf_offset, SF_PUBLIC) == (Sfoff_t)pos->_sf_offset ? 0 : -1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,5 @@
|
||||||
long
|
long
|
||||||
ftell(Sfio_t* f)
|
ftell(Sfio_t* f)
|
||||||
{
|
{
|
||||||
STDIO_INT(f, "ftell", long, (Sfio_t*), (f))
|
|
||||||
|
|
||||||
return (long)sfseek(f, (Sfoff_t)0, SEEK_CUR);
|
return (long)sfseek(f, (Sfoff_t)0, SEEK_CUR);
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,5 @@
|
||||||
off_t
|
off_t
|
||||||
ftello(Sfio_t* f)
|
ftello(Sfio_t* f)
|
||||||
{
|
{
|
||||||
STDIO_INT(f, "ftello", off_t, (Sfio_t*), (f))
|
|
||||||
|
|
||||||
return sfseek(f, (Sfoff_t)0, SEEK_CUR);
|
return sfseek(f, (Sfoff_t)0, SEEK_CUR);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
|
||||||
}
|
|
|
@ -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))
|
|
||||||
}
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2011 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -26,8 +26,6 @@
|
||||||
int
|
int
|
||||||
fwide(Sfio_t* f, int mode)
|
fwide(Sfio_t* f, int mode)
|
||||||
{
|
{
|
||||||
STDIO_INT(f, "fwide", int, (Sfio_t*, int), (f, mode))
|
|
||||||
|
|
||||||
if (mode > 0)
|
if (mode > 0)
|
||||||
{
|
{
|
||||||
f->bits &= ~SF_MB;
|
f->bits &= ~SF_MB;
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2011 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* 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;
|
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);
|
return ((v = sfwrite(f, p, s * n)) <= 0) ? 0 : (v / s);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2011 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -31,8 +31,6 @@ fwscanf(Sfio_t* f, const wchar_t* fmt, ...)
|
||||||
|
|
||||||
va_start(args, 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);
|
v = vfwscanf(f, fmt, args);
|
||||||
va_end(args);
|
va_end(args);
|
||||||
return v;
|
return v;
|
||||||
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -33,8 +33,6 @@ getdelim(char** sp, size_t* np, int delim, Sfio_t* f)
|
||||||
uchar* s;
|
uchar* s;
|
||||||
uchar* ps;
|
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 */
|
if(delim < 0 || delim > 255 || !sp || !np) /* bad parameters */
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2011 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -30,7 +30,5 @@
|
||||||
ssize_t
|
ssize_t
|
||||||
getline(char** sp, size_t* np, Sfio_t* f)
|
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);
|
return getdelim(sp, np, '\n', f);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2011 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -28,7 +28,5 @@ getw(Sfio_t* f)
|
||||||
{
|
{
|
||||||
int v;
|
int v;
|
||||||
|
|
||||||
STDIO_INT(f, "getw", int, (Sfio_t*), (f))
|
|
||||||
|
|
||||||
return sfread(f, &v, sizeof(v)) == sizeof(v) ? v : -1;
|
return sfread(f, &v, sizeof(v)) == sizeof(v) ? v : -1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2011 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -26,7 +26,5 @@
|
||||||
int
|
int
|
||||||
pclose(Sfio_t* f)
|
pclose(Sfio_t* f)
|
||||||
{
|
{
|
||||||
STDIO_INT(f, "pclose", int, (Sfio_t*), (f))
|
|
||||||
|
|
||||||
return sfclose(f);
|
return sfclose(f);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2011 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -23,18 +23,4 @@
|
||||||
|
|
||||||
#include "stdhdr.h"
|
#include "stdhdr.h"
|
||||||
|
|
||||||
#if !_UWIN
|
|
||||||
|
|
||||||
NoN(putchar)
|
NoN(putchar)
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
#undef putchar
|
|
||||||
|
|
||||||
int
|
|
||||||
putchar(int c)
|
|
||||||
{
|
|
||||||
return sfputc(sfstdout, c);
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2011 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -26,7 +26,5 @@
|
||||||
int
|
int
|
||||||
putw(int v, Sfio_t* f)
|
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;
|
return sfwrite(f, &v, sizeof(v)) == sizeof(v) ? 0 : -1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2011 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -26,8 +26,6 @@
|
||||||
void
|
void
|
||||||
rewind(Sfio_t* f)
|
rewind(Sfio_t* f)
|
||||||
{
|
{
|
||||||
STDIO_VOID(f, "rewind", void, (Sfio_t*), (f))
|
|
||||||
|
|
||||||
sfseek(f, (Sfoff_t)0, SEEK_SET|SF_PUBLIC);
|
sfseek(f, (Sfoff_t)0, SEEK_SET|SF_PUBLIC);
|
||||||
sfclrlock(f);
|
sfclrlock(f);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2011 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -26,7 +26,5 @@
|
||||||
void
|
void
|
||||||
setbuf(Sfio_t* f, char* b)
|
setbuf(Sfio_t* f, char* b)
|
||||||
{
|
{
|
||||||
STDIO_VOID(f, "setbuf", void, (Sfio_t*, char*), (f, b))
|
|
||||||
|
|
||||||
sfsetbuf(f, b, b ? BUFSIZ : 0);
|
sfsetbuf(f, b, b ? BUFSIZ : 0);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2011 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -26,7 +26,5 @@
|
||||||
int
|
int
|
||||||
setbuffer(Sfio_t* f, char* b, int n)
|
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;
|
return sfsetbuf(f, b, n) ? 0 : -1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2011 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -26,8 +26,6 @@
|
||||||
int
|
int
|
||||||
setlinebuf(Sfio_t* f)
|
setlinebuf(Sfio_t* f)
|
||||||
{
|
{
|
||||||
STDIO_INT(f, "setlinebuf", int, (Sfio_t*), (f))
|
|
||||||
|
|
||||||
sfset(f, SF_LINE, 1);
|
sfset(f, SF_LINE, 1);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2011 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -26,8 +26,6 @@
|
||||||
int
|
int
|
||||||
setvbuf(Sfio_t* f, char* buf, int type, size_t size)
|
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)
|
if (type == _IOLBF)
|
||||||
sfset(f, SF_LINE, 1);
|
sfset(f, SF_LINE, 1);
|
||||||
else if (f->flags & SF_STRING)
|
else if (f->flags & SF_STRING)
|
||||||
|
|
|
@ -37,64 +37,6 @@
|
||||||
#define SF_MB 010000
|
#define SF_MB 010000
|
||||||
#define SF_WC 020000
|
#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) \
|
#define FWIDE(f,r) \
|
||||||
do \
|
do \
|
||||||
{ \
|
{ \
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2011 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -26,7 +26,5 @@
|
||||||
int
|
int
|
||||||
ungetc(int c, Sfio_t* f)
|
ungetc(int c, Sfio_t* f)
|
||||||
{
|
{
|
||||||
STDIO_INT(f, "ungetc", int, (int, Sfio_t*), (c, f))
|
|
||||||
|
|
||||||
return sfungetc(f, c);
|
return sfungetc(f, c);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2011 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* 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* s = (unsigned char*)&c;
|
||||||
register unsigned char* e = s + sizeof(c);
|
register unsigned char* e = s + sizeof(c);
|
||||||
|
|
||||||
STDIO_INT(f, "ungetwc", wint_t, (wint_t, Sfio_t*), (c, f))
|
|
||||||
|
|
||||||
FWIDE(f, WEOF);
|
FWIDE(f, WEOF);
|
||||||
while (s < e)
|
while (s < e)
|
||||||
if (sfungetc(f, *s++) == EOF)
|
if (sfungetc(f, *s++) == EOF)
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2011 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -26,7 +26,5 @@
|
||||||
int
|
int
|
||||||
vfprintf(Sfio_t* f, const char* fmt, va_list args)
|
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);
|
return sfvprintf(f, fmt, args);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* *
|
* *
|
||||||
* This software is part of the ast package *
|
* This software is part of the ast package *
|
||||||
* Copyright (c) 1985-2011 AT&T Intellectual Property *
|
* 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 *
|
* and is licensed under the *
|
||||||
* Eclipse Public License, Version 1.0 *
|
* Eclipse Public License, Version 1.0 *
|
||||||
* by AT&T Intellectual Property *
|
* by AT&T Intellectual Property *
|
||||||
|
@ -26,7 +26,5 @@
|
||||||
int
|
int
|
||||||
vfscanf(Sfio_t* f, const char* fmt, va_list args)
|
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);
|
return sfvscanf(f, fmt, args);
|
||||||
}
|
}
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue