commit 54952cec104bcdf165d15f6cd1a3b477203d21ed from: rsc date: Mon Nov 24 22:48:39 2003 UTC More Mac changes. commit - 8b6a5e678a09ae92d95a25bc60c03467e0224ce9 commit + 54952cec104bcdf165d15f6cd1a3b477203d21ed blob - 94b0d047382d5feea846305651dd6672b69e89bb blob + 8f15ce6ed8e47c76d83f54b204b3a22584aa891d --- include/lib9.h +++ include/lib9.h @@ -44,8 +44,6 @@ extern "C" { #define _HAVETMTZOFF 1 #define _HAVEFUTIMESAT 1 #define _HAVEFUTIMES 1 -#define _HAVEGETDENTS 1 -#define _HAVEGETDIRENTRIES 1 typedef long p9jmp_buf[sizeof(sigjmp_buf)/sizeof(long)]; @@ -60,7 +58,6 @@ typedef long p9jmp_buf[sizeof(sigjmp_buf)/sizeof(long) # undef _HAVETMZONE # undef _HAVETMTZOFF # undef _HAVEFUTIMESAT -# undef _HAVEGETDENTS #endif #if defined(__sun__) # include @@ -86,6 +83,8 @@ typedef long p9jmp_buf[sizeof(sigjmp_buf)/sizeof(long) # include # undef _NEEDUSHORT # undef _NEEDUINT +# define _NEEDLL 1 +# define _GETDIRENTRIES_TAKES_LONG 1 #endif typedef signed char schar; @@ -432,8 +431,8 @@ enum }; /* extern int abs(int); */ -extern int atexit(void(*)(void)); -extern void atexitdont(void(*)(void)); +extern int p9atexit(void(*)(void)); +extern void p9atexitdont(void(*)(void)); extern int atnotify(int(*)(void*, char*), int); /* * @@ -475,7 +474,8 @@ extern int postnote(int, int, char *); extern double pow10(int); /* extern int putenv(char*, char*); */ -extern int p9setjmp(p9jmp_buf); +/* extern int p9setjmp(p9jmp_buf); */ +#define p9setjmp(b) sigsetjmp((void*)(b), 1) /* * extern double strtod(char*, char**); @@ -490,6 +490,8 @@ extern long time(long*); /* extern int tolower(int); */ /* extern int toupper(int); */ #ifndef NOPLAN9DEFINES +#define atexit p9atexit +#define atexitdont p9atexitdont #define getenv p9getenv #define getwd p9getwd #define longjmp p9longjmp blob - e25658a35cecf85b926ed607106c792ba6e66613 blob + 745a6d77747fb80b6cc3b91e559185e12ccdf047 --- include/regexp9.h +++ include/regexp9.h @@ -58,14 +58,29 @@ struct Reprog{ Reinst firstinst[5]; /* .text */ }; -extern Reprog *regcomp(char*); -extern Reprog *regcomplit(char*); -extern Reprog *regcompnl(char*); -extern void regerror(char*); -extern int regexec(Reprog*, char*, Resub*, int); -extern void regsub(char*, char*, int, Resub*, int); +extern Reprog *regcomp9(char*); +extern Reprog *regcomplit9(char*); +extern Reprog *regcompnl9(char*); +extern void regerror9(char*); +extern int regexec9(Reprog*, char*, Resub*, int); +extern void regsub9(char*, char*, int, Resub*, int); -extern int rregexec(Reprog*, Rune*, Resub*, int); -extern void rregsub(Rune*, Rune*, Resub*, int); +extern int rregexec9(Reprog*, Rune*, Resub*, int); +extern void rregsub9(Rune*, Rune*, Resub*, int); +/* + * Darwin simply cannot handle having routines that + * override other library routines. + */ +#ifndef NOPLAN9DEFINES +#define regcomp regcomp9 +#define regcomplit regcomplit9 +#define regcompnl regcompnl9 +#define regerror regerror9 +#define regexec regexec9 +#define regsub regsub9 +#define rregexec rregexec9 +#define rregsub rregsub9 #endif + +#endif