commit - 8b6a5e678a09ae92d95a25bc60c03467e0224ce9
commit + 54952cec104bcdf165d15f6cd1a3b477203d21ed
blob - 94b0d047382d5feea846305651dd6672b69e89bb
blob + 8f15ce6ed8e47c76d83f54b204b3a22584aa891d
--- include/lib9.h
+++ include/lib9.h
#define _HAVETMTZOFF 1
#define _HAVEFUTIMESAT 1
#define _HAVEFUTIMES 1
-#define _HAVEGETDENTS 1
-#define _HAVEGETDIRENTRIES 1
typedef long p9jmp_buf[sizeof(sigjmp_buf)/sizeof(long)];
# undef _HAVETMZONE
# undef _HAVETMTZOFF
# undef _HAVEFUTIMESAT
-# undef _HAVEGETDENTS
#endif
#if defined(__sun__)
# include <sys/types.h>
# include <sys/types.h>
# undef _NEEDUSHORT
# undef _NEEDUINT
+# define _NEEDLL 1
+# define _GETDIRENTRIES_TAKES_LONG 1
#endif
typedef signed char schar;
};
/* extern int abs(int); <stdlib.h> */
-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);
/*
* <stdlib.h>
extern double pow10(int);
/* extern int putenv(char*, char*); <stdlib.h. */
/* extern void qsort(void*, long, long, int (*)(void*, void*)); <stdlib.h> */
-extern int p9setjmp(p9jmp_buf);
+/* extern int p9setjmp(p9jmp_buf); */
+#define p9setjmp(b) sigsetjmp((void*)(b), 1)
/*
* <stdlib.h>
extern double strtod(char*, char**);
/* extern int tolower(int); <ctype.h> */
/* extern int toupper(int); <ctype.h> */
#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
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