X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=lib%2Funicodeio.c;h=35bb68075ccdf69c8896157f2138bea7977305e9;hb=1ad624bbbc38cb07899152df9eafb7f5adde71b5;hp=37b69aaa01cae1f5b9f3fcf379a481afc57aed14;hpb=61170ee8403ead856956207fef048e6eae3563ed;p=chaz%2Ftar diff --git a/lib/unicodeio.c b/lib/unicodeio.c index 37b69aa..35bb680 100644 --- a/lib/unicodeio.c +++ b/lib/unicodeio.c @@ -37,8 +37,25 @@ #ifndef errno extern int errno; #endif + +/* Define EILSEQ and ENOTSUP as portably as possible. Some + nonstandard systems, like SunOS 4, don't have EILSEQ. Others, like + BSD/OS 4.1, define it in . Callers that use EILSEQ and/or + ENOTSUP and that want to be portable to these nonstandard systems + should mimic the following includes and defines. */ + +/* BSD/OS 4.1 wchar.h defines EILSEQ, but it requires FILE (defined in + , included above) and struct tm (defined in ) to + be declared. */ +#if HAVE_WCHAR_H && ! defined EILSEQ +# include +# include +#endif + +/* Do not define EILSEQ to be EINVAL, since callers may want to + distinguish EINVAL and EILSEQ. */ #ifndef EILSEQ -# define EILSEQ EINVAL +# define EILSEQ ENOENT #endif #ifndef ENOTSUP # define ENOTSUP EINVAL