1
0
Fork 0
mirror of git://git.code.sf.net/p/cdesktopenv/code synced 2025-03-09 15:50:02 +00:00

Remove AT&T UWIN support code

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

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

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

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

View file

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