Fix linkage of grantpt(3).
Also clean up the implementation of all the pty functions, add tests,
and fix the stub implementations of ttyname(3) and ttyname_r(3).
Bug: https://code.google.com/p/android/issues/detail?id=58888
Change-Id: I0fb36438cd1abf8d4e87c29415f03db9ba13c3c2
diff --git a/libc/include/stdlib.h b/libc/include/stdlib.h
index 0dac650..cd209be 100644
--- a/libc/include/stdlib.h
+++ b/libc/include/stdlib.h
@@ -126,18 +126,12 @@
char* setstate(char*);
void srandom(unsigned int);
-/* Basic PTY functions. These only work if devpts is mounted! */
-
-extern int unlockpt(int);
-extern char* ptsname(int);
-extern int ptsname_r(int, char*, size_t);
-extern int getpt(void);
-
-static __inline__ int grantpt(int __fd __attribute((unused)))
-{
- (void)__fd;
- return 0; /* devpts does this all for us! */
-}
+int getpt(void);
+int grantpt(int);
+int posix_openpt(int);
+char* ptsname(int) __warnattr("ptsname is not thread-safe; use ptsname_r instead");
+int ptsname_r(int, char*, size_t);
+int unlockpt(int);
typedef struct {
int quot;