- Document ttyname_r().
authorSascha Wildner <swildner@dragonflybsd.org>
Sat, 19 Nov 2005 22:32:53 +0000 (22:32 +0000)
committerSascha Wildner <swildner@dragonflybsd.org>
Sat, 19 Nov 2005 22:32:53 +0000 (22:32 +0000)
- Fix several compilation warnings.

- Perform some style(9) cleanup.

Submitted-by: Alexey Slynko <slynko@tronet.ru>
24 files changed:
lib/libc/gen/Makefile.inc
lib/libc/gen/disklabel.c
lib/libc/gen/disktab.c
lib/libc/gen/getbootfile.c
lib/libc/gen/getcap.c
lib/libc/gen/getgrent.c
lib/libc/gen/gethostname.c
lib/libc/gen/getpagesize.c
lib/libc/gen/getpwent.c
lib/libc/gen/initgroups.c
lib/libc/gen/readdir.c
lib/libc/gen/seekdir.c
lib/libc/gen/sethostname.c
lib/libc/gen/setmode.c
lib/libc/gen/shmat.c
lib/libc/gen/strtofflags.c
lib/libc/gen/sysctlnametomib.c
lib/libc/gen/syslog.c
lib/libc/gen/termios.c
lib/libc/gen/timezone.c
lib/libc/gen/tls.c
lib/libc/gen/ttyname.3
lib/libc/gen/ttyname.c
lib/libc/gen/unvis.c

index fd87760..403fef9 100644 (file)
@@ -1,6 +1,6 @@
 #      @(#)Makefile.inc        8.6 (Berkeley) 5/4/95
 # $FreeBSD: src/lib/libc/gen/Makefile.inc,v 1.62.2.19 2003/02/21 13:46:16 phantom Exp $
-# $DragonFly: src/lib/libc/gen/Makefile.inc,v 1.16 2005/10/08 11:29:20 corecode Exp $
+# $DragonFly: src/lib/libc/gen/Makefile.inc,v 1.17 2005/11/19 22:32:53 swildner Exp $
 
 # machine-independent gen sources
 .PATH: ${.CURDIR}/../libc/${MACHINE_ARCH}/gen ${.CURDIR}/../libc/gen
@@ -136,7 +136,7 @@ MLINKS+=tcsetattr.3 cfgetispeed.3 tcsetattr.3 cfgetospeed.3 \
        tcsetattr.3 cfmakeraw.3 tcsetattr.3 cfsetispeed.3 \
        tcsetattr.3 cfsetospeed.3 tcsetattr.3 cfsetspeed.3 \
        tcsetattr.3 tcgetattr.3
-MLINKS+=ttyname.3 isatty.3 ttyname.3 ttyslot.3
+MLINKS+=ttyname.3 isatty.3 ttyname.3 ttyslot.3 ttyname.3 ttyname_r.3
 MLINKS+=tzset.3 tzsetwall.3
 MLINKS+=unvis.3 strunvis.3 unvis.3 strunvisx.3
 MLINKS+=vis.3 strvis.3 vis.3 strvisx.3
index d35929e..f435631 100644 (file)
@@ -32,7 +32,7 @@
  *
  * @(#)disklabel.c     8.2 (Berkeley) 5/3/95
  * $FreeBSD: src/lib/libc/gen/disklabel.c,v 1.9.2.1 2001/03/05 08:40:47 obrien Exp $
- * $DragonFly: src/lib/libc/gen/disklabel.c,v 1.7 2005/11/13 00:07:42 swildner Exp $
+ * $DragonFly: src/lib/libc/gen/disklabel.c,v 1.8 2005/11/19 22:32:53 swildner Exp $
  */
 
 #include <sys/param.h>
@@ -63,7 +63,7 @@ getdiskbyname(const char *name)
                pfsize[3], poffset[3], ptype[3];
        u_int32_t *dx;
 
-       if (cgetent(&buf, db_array, (char *) name) < 0)
+       if (cgetent(&buf, db_array, (char *)name) < 0)
                return NULL;
 
        bzero((char *)&disk, sizeof(disk));
index 8b845b7..0b7ef8a 100644 (file)
@@ -32,7 +32,7 @@
  *
  * @(#)disklabel.c     8.2 (Berkeley) 5/3/95
  * $FreeBSD: src/lib/libc/gen/disklabel.c,v 1.9.2.1 2001/03/05 08:40:47 obrien Exp $
- * $DragonFly: src/lib/libc/gen/disktab.c,v 1.7 2005/11/13 00:07:42 swildner Exp $
+ * $DragonFly: src/lib/libc/gen/disktab.c,v 1.8 2005/11/19 22:32:53 swildner Exp $
  */
 
 #include <sys/param.h>
@@ -63,7 +63,7 @@ getdiskbyname(const char *name)
                pfsize[3], poffset[3], ptype[3];
        u_int32_t *dx;
 
-       if (cgetent(&buf, db_array, (char *) name) < 0)
+       if (cgetent(&buf, db_array, (char *)name) < 0)
                return NULL;
 
        bzero((char *)&disk, sizeof(disk));
index e854286..190fcf4 100644 (file)
  *
  * @(#)gethostname.c   8.1 (Berkeley) 6/4/93
  * $FreeBSD: src/lib/libc/gen/getbootfile.c,v 1.5 1999/08/27 23:58:37 peter Exp $
- * $DragonFly: src/lib/libc/gen/getbootfile.c,v 1.2 2003/06/17 04:26:42 dillon Exp $
+ * $DragonFly: src/lib/libc/gen/getbootfile.c,v 1.3 2005/11/19 22:32:53 swildner Exp $
  */
 
 #include <sys/param.h>
 #include <sys/sysctl.h>
+#include <paths.h>
 
 const char *
 getbootfile(void)
index a8844f1..1a57080 100644 (file)
@@ -34,7 +34,7 @@
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/lib/libc/gen/getcap.c,v 1.11.2.2 2001/01/15 06:48:09 gad Exp $
- * $DragonFly: src/lib/libc/gen/getcap.c,v 1.6 2005/11/13 00:07:42 swildner Exp $
+ * $DragonFly: src/lib/libc/gen/getcap.c,v 1.7 2005/11/19 22:32:53 swildner Exp $
  *
  * @(#)getcap.c        8.3 (Berkeley) 3/25/94
  */
@@ -196,6 +196,9 @@ getent(char **cap, u_int *len, char **db_array, int fd, char *name, int depth,
        int tc_not_resolved;
        char pbuf[_POSIX_PATH_MAX];
 
+       rp = NULL;
+       myfd = 0;
+
        /*
         * Return with ``loop detected'' error if we've recursed more than
         * MAX_RECURSION times.
@@ -641,6 +644,8 @@ cgetnext(char **bp, char **db_array)
        char *cp, *line, *rp, *np, buf[BSIZE], nbuf[BSIZE];
        u_int dummy;
 
+       savederrno = 0;
+
        if (dbp == NULL)
                dbp = db_array;
 
index 648230b..2197f9b 100644 (file)
@@ -34,7 +34,7 @@
  *
  * @(#)getgrent.c      8.2 (Berkeley) 3/21/94
  * $FreeBSD: src/lib/libc/gen/getgrent.c,v 1.17.6.1 2001/03/05 08:56:02 obrien Exp $
- * $DragonFly: src/lib/libc/gen/getgrent.c,v 1.4 2005/04/27 12:36:31 joerg Exp $
+ * $DragonFly: src/lib/libc/gen/getgrent.c,v 1.5 2005/11/19 22:32:53 swildner Exp $
  */
 
 #include <errno.h>
@@ -499,7 +499,7 @@ static int
 _nextypgroup(struct group *gr)
 {
        static char *key;
-       static int keylen;
+       static size_t keylen;
        char *lastkey, *result;
        static char resultbuf[YPMAXRECORD + 2];
        size_t resultlen;
index c3fe19b..af36aaa 100644 (file)
  * SUCH DAMAGE.
  *
  * @(#)gethostname.c   8.1 (Berkeley) 6/4/93
- * $DragonFly: src/lib/libc/gen/gethostname.c,v 1.3 2005/11/13 00:07:42 swildner Exp $
+ * $DragonFly: src/lib/libc/gen/gethostname.c,v 1.4 2005/11/19 22:32:53 swildner Exp $
  */
 
 #include <sys/param.h>
 #include <sys/sysctl.h>
+#include <unistd.h>
 
 int
 gethostname(char *name, int namelen)
index e2883d3..cb21391 100644 (file)
  * SUCH DAMAGE.
  *
  * @(#)getpagesize.c   8.1 (Berkeley) 6/4/93
- * $DragonFly: src/lib/libc/gen/getpagesize.c,v 1.3 2005/11/13 00:07:42 swildner Exp $
+ * $DragonFly: src/lib/libc/gen/getpagesize.c,v 1.4 2005/11/19 22:32:53 swildner Exp $
  */
 
 #include <sys/param.h>
 #include <sys/sysctl.h>
+#include <unistd.h>
 
 /*
  * This is unlikely to change over the running time of any
index 4a5ec4b..507896a 100644 (file)
@@ -32,7 +32,7 @@
  *
  * @(#)getpwent.c      8.2 (Berkeley) 4/27/95
  * $FreeBSD: src/lib/libc/gen/getpwent.c,v 1.53.2.2 2001/03/05 09:52:13 obrien Exp $
- * $DragonFly: src/lib/libc/gen/getpwent.c,v 1.6 2005/11/13 00:07:42 swildner Exp $
+ * $DragonFly: src/lib/libc/gen/getpwent.c,v 1.7 2005/11/19 22:32:53 swildner Exp $
  */
 
 #include "namespace.h"
@@ -96,6 +96,98 @@ static char * _get_adjunct_pw (const char *);
 static int __hashpw(DBT *);
 static int __initdb(void);
 
+
+/*
+ * Parse the + entries in the password database and do appropriate
+ * NIS lookups. While ugly to look at, this is optimized to do only
+ * as many lookups as are absolutely necessary in any given case.
+ * Basically, the getpwent() function will feed us + and - lines
+ * as they appear in the database. For + lines, we do netgroup/group
+ * and user lookups to find all usernames that match the rule and
+ * extract them from the NIS passwd maps. For - lines, we save the
+ * matching names in a database and a) exlude them, and b) make sure
+ * we don't consider them when processing other + lines that appear
+ * later.
+ */
+static inline int
+unwind(char *grp)
+{
+       char *user, *host, *domain;
+       static int latch = 0;
+       static struct group *gr = NULL;
+       int rv = 0;
+
+       if (grp[0] == '+') {
+               if (strlen(grp) == 1) {
+                       return(_nextyppass(&_pw_passwd));
+               }
+               if (grp[1] == '@') {
+                       _pw_stepping_yp = 1;
+grpagain:
+                       if (gr != NULL) {
+                               if (*gr->gr_mem != NULL) {
+                                       if (lookup(*gr->gr_mem)) {
+                                               gr->gr_mem++;
+                                               goto grpagain;
+                                       }
+                                       rv = _getyppass(&_pw_passwd,
+                                                       *gr->gr_mem,
+                                                       "passwd.byname");
+                                       gr->gr_mem++;
+                                       return(rv);
+                               } else {
+                                       latch = 0;
+                                       _pw_stepping_yp = 0;
+                                       gr = NULL;
+                                       return(0);
+                               }
+                       }
+                       if (!latch) {
+                               setnetgrent(grp+2);
+                               latch++;
+                       }
+again:
+                       if (getnetgrent(&host, &user, &domain) == 0) {
+                               if ((gr = getgrnam(grp+2)) != NULL)
+                                       goto grpagain;
+                               latch = 0;
+                               _pw_stepping_yp = 0;
+                               return(0);
+                       } else {
+                               if (lookup(user))
+                                       goto again;
+                               if (_getyppass(&_pw_passwd, user,
+                                                       "passwd.byname"))
+                                       return(1);
+                               else
+                                       goto again;
+                       }
+               } else {
+                       if (lookup(grp+1))
+                               return(0);
+                       return(_getyppass(&_pw_passwd, grp+1, "passwd.byname"));
+               }
+       } else {
+               if (grp[1] == '@') {
+                       setnetgrent(grp+2);
+                       rv = 0;
+                       while(getnetgrent(&host, &user, &domain) != 0) {
+                               store(user);
+                               rv++;
+                       }
+                       if (!rv && (gr = getgrnam(grp+2)) != NULL) {
+                               while(*gr->gr_mem) {
+                                       store(*gr->gr_mem);
+                                       gr->gr_mem++;
+                               }
+                       }
+               } else {
+                       store(grp+1);
+               }
+       }
+       return(0);
+}
+
 struct passwd *
 getpwent(void)
 {
@@ -386,97 +478,6 @@ store(const char *key)
        (_ypcache->put)(_ypcache, &lkey, &empty, R_NOOVERWRITE);
 }
 
-/*
- * Parse the + entries in the password database and do appropriate
- * NIS lookups. While ugly to look at, this is optimized to do only
- * as many lookups as are absolutely necessary in any given case.
- * Basically, the getpwent() function will feed us + and - lines
- * as they appear in the database. For + lines, we do netgroup/group
- * and user lookups to find all usernames that match the rule and
- * extract them from the NIS passwd maps. For - lines, we save the
- * matching names in a database and a) exlude them, and b) make sure
- * we don't consider them when processing other + lines that appear
- * later.
- */
-static inline int
-unwind(char *grp)
-{
-       char *user, *host, *domain;
-       static int latch = 0;
-       static struct group *gr = NULL;
-       int rv = 0;
-
-       if (grp[0] == '+') {
-               if (strlen(grp) == 1) {
-                       return(_nextyppass(&_pw_passwd));
-               }
-               if (grp[1] == '@') {
-                       _pw_stepping_yp = 1;
-grpagain:
-                       if (gr != NULL) {
-                               if (*gr->gr_mem != NULL) {
-                                       if (lookup(*gr->gr_mem)) {
-                                               gr->gr_mem++;
-                                               goto grpagain;
-                                       }
-                                       rv = _getyppass(&_pw_passwd,
-                                                       *gr->gr_mem,
-                                                       "passwd.byname");
-                                       gr->gr_mem++;
-                                       return(rv);
-                               } else {
-                                       latch = 0;
-                                       _pw_stepping_yp = 0;
-                                       gr = NULL;
-                                       return(0);
-                               }
-                       }
-                       if (!latch) {
-                               setnetgrent(grp+2);
-                               latch++;
-                       }
-again:
-                       if (getnetgrent(&host, &user, &domain) == 0) {
-                               if ((gr = getgrnam(grp+2)) != NULL)
-                                       goto grpagain;
-                               latch = 0;
-                               _pw_stepping_yp = 0;
-                               return(0);
-                       } else {
-                               if (lookup(user))
-                                       goto again;
-                               if (_getyppass(&_pw_passwd, user,
-                                                       "passwd.byname"))
-                                       return(1);
-                               else
-                                       goto again;
-                       }
-               } else {
-                       if (lookup(grp+1))
-                               return(0);
-                       return(_getyppass(&_pw_passwd, grp+1, "passwd.byname"));
-               }
-       } else {
-               if (grp[1] == '@') {
-                       setnetgrent(grp+2);
-                       rv = 0;
-                       while(getnetgrent(&host, &user, &domain) != 0) {
-                               store(user);
-                               rv++;
-                       }
-                       if (!rv && (gr = getgrnam(grp+2)) != NULL) {
-                               while(*gr->gr_mem) {
-                                       store(*gr->gr_mem);
-                                       gr->gr_mem++;
-                               }
-                       }
-               } else {
-                       store(grp+1);
-               }
-       }
-       return(0);
-}
-
 /*
  * See if a user is a member of a particular group.
  */
index 67b3b4d..8868c90 100644 (file)
@@ -32,7 +32,7 @@
  *
  * @(#)initgroups.c    8.1 (Berkeley) 6/4/93
  * $FreeBSD: src/lib/libc/gen/initgroups.c,v 1.3.8.1 2001/12/19 15:49:35 tobez Exp $
- * $DragonFly: src/lib/libc/gen/initgroups.c,v 1.5 2005/11/13 00:07:42 swildner Exp $
+ * $DragonFly: src/lib/libc/gen/initgroups.c,v 1.6 2005/11/19 22:32:53 swildner Exp $
  */
 
 #include <sys/param.h>
@@ -44,7 +44,7 @@
 int
 initgroups(const char *uname, int agroup)
 {
-       gid_t ngroups;
+       int ngroups;
        /*
         * Provide space for one group more than NGROUPS to allow
         * setgroups to fail and set errno.
index 2fcf29e..2039212 100644 (file)
@@ -31,7 +31,7 @@
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/lib/libc/gen/readdir.c,v 1.5.2.4 2002/02/26 22:53:57 alfred Exp $
- * $DragonFly: src/lib/libc/gen/readdir.c,v 1.7 2005/11/13 00:07:42 swildner Exp $
+ * $DragonFly: src/lib/libc/gen/readdir.c,v 1.8 2005/11/19 22:32:53 swildner Exp $
  *
  * @(#)readdir.c       8.3 (Berkeley) 9/29/94
  */
@@ -96,7 +96,7 @@ int
 readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result)
 {
        struct dirent *dp;
-       int ret, saved_errno;
+       int saved_errno;
 
        saved_errno = errno;
        errno = 0;
index bd4f5d6..0c43c5f 100644 (file)
@@ -31,7 +31,7 @@
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/lib/libc/gen/seekdir.c,v 1.2.8.1 2001/03/05 09:52:13 obrien Exp $
- * $DragonFly: src/lib/libc/gen/seekdir.c,v 1.5 2005/11/13 00:07:42 swildner Exp $
+ * $DragonFly: src/lib/libc/gen/seekdir.c,v 1.6 2005/11/19 22:32:53 swildner Exp $
  *
  * @(#)seekdir.c       8.1 (Berkeley) 6/4/93
  */
@@ -44,8 +44,6 @@
 
 #include "libc_private.h"
 
-extern void _seekdir ( DIR *, long );
-
 /*
  * Seek to an entry in a directory.
  * _seekdir is in telldir.c so that it can share opaque data structures.
index a99151f..fccd68a 100644 (file)
  * SUCH DAMAGE.
  *
  * @(#)sethostname.c   8.1 (Berkeley) 6/4/93
+ * $DragonFly: src/lib/libc/gen/sethostname.c,v 1.3 2005/11/19 22:32:53 swildner Exp $
  */
 
 #include <sys/param.h>
 #include <sys/sysctl.h>
+#include <unistd.h>
 
-#if __STDC__
 int
 sethostname(const char *name, int namelen)
-#else
-int
-sethostname(name, namelen)
-       char *name;
-       int namelen;
-#endif
 {
        int mib[2];
 
index 0cf03cd..8c9ad85 100644 (file)
@@ -35,7 +35,7 @@
  *
  * @(#)setmode.c       8.2 (Berkeley) 3/25/94
  * $FreeBSD: src/lib/libc/gen/setmode.c,v 1.5.2.1 2001/03/05 09:34:10 obrien Exp $
- * $DragonFly: src/lib/libc/gen/setmode.c,v 1.6 2005/11/13 00:07:42 swildner Exp $
+ * $DragonFly: src/lib/libc/gen/setmode.c,v 1.7 2005/11/19 22:32:53 swildner Exp $
  */
 
 #include "namespace.h"
@@ -46,6 +46,7 @@
 #include <signal.h>
 #include <stddef.h>
 #include <stdlib.h>
+#include <unistd.h>
 
 #ifdef SETMODE_DEBUG
 #include <stdio.h>
@@ -80,7 +81,7 @@ static void    dumpmode (BITCMD *);
  * bits) followed by a '+' (set bits).
  */
 mode_t
-getmode(void *bbox, mode_t omode)
+getmode(const void *bbox, mode_t omode)
 {
        BITCMD *set;
        mode_t clrval, newmode, value;
@@ -163,7 +164,7 @@ common:                     if (set->cmd2 & CMD2_CLR) {
 #define        STANDARD_BITS   (S_ISUID|S_ISGID|S_IRWXU|S_IRWXG|S_IRWXO)
 
 void *
-setmode(char *p)
+setmode(const char *p)
 {
        int perm, who;
        char op;
index ed404b8..ccd1b76 100644 (file)
@@ -1,13 +1,14 @@
 /*
  * $FreeBSD: src/lib/libc/gen/shmat.c,v 1.4 1999/08/27 23:58:56 peter Exp $
- * $DragonFly: src/lib/libc/gen/shmat.c,v 1.3 2005/11/13 00:07:42 swildner Exp $
+ * $DragonFly: src/lib/libc/gen/shmat.c,v 1.4 2005/11/19 22:32:53 swildner Exp $
  */
 
 #include <sys/types.h>
 #include <sys/ipc.h>
 #include <sys/shm.h>
 
-void *shmat(int shmid, void *shmaddr, int shmflg)
+void *
+shmat(int shmid, void *shmaddr, int shmflg)
 {
        return ((void *)shmsys(0, shmid, shmaddr, shmflg));
 }
index 456de06..63ee492 100644 (file)
@@ -32,7 +32,7 @@
  *
  * @(#)stat_flags.c    8.1 (Berkeley) 5/31/93
  * $FreeBSD: src/lib/libc/gen/strtofflags.c,v 1.18.2.1 2000/06/28 01:52:24 joe Exp $
- * $DragonFly: src/lib/libc/gen/strtofflags.c,v 1.3 2005/11/13 00:07:42 swildner Exp $
+ * $DragonFly: src/lib/libc/gen/strtofflags.c,v 1.4 2005/11/19 22:32:53 swildner Exp $
  */
 
 #include <sys/types.h>
@@ -41,6 +41,7 @@
 #include <stddef.h>
 #include <stdlib.h>
 #include <string.h>
+#include <unistd.h>
 
 static struct {
        char *name;
index 371a586..95265d1 100644 (file)
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/lib/libc/gen/sysctlnametomib.c,v 1.1.2.1 2001/03/05 08:13:28 obrien Exp $
- * $DragonFly: src/lib/libc/gen/sysctlnametomib.c,v 1.2 2003/06/17 04:26:42 dillon Exp $
+ * $DragonFly: src/lib/libc/gen/sysctlnametomib.c,v 1.3 2005/11/19 22:32:53 swildner Exp $
  */
 
 #include <sys/types.h>
 #include <sys/sysctl.h>
+#include <string.h>
 
 /*
  * This function uses a presently undocumented interface to the kernel
index 1508449..21e0982 100644 (file)
@@ -32,7 +32,7 @@
  *
  * @(#)syslog.c        8.5 (Berkeley) 4/29/95
  * $FreeBSD: src/lib/libc/gen/syslog.c,v 1.21.2.3 2002/11/18 11:49:55 ru Exp $
- * $DragonFly: src/lib/libc/gen/syslog.c,v 1.8 2005/11/13 00:07:42 swildner Exp $
+ * $DragonFly: src/lib/libc/gen/syslog.c,v 1.9 2005/11/19 22:32:53 swildner Exp $
  */
 
 #include "namespace.h"
@@ -80,9 +80,7 @@ struct bufcookie {
  *      is `unlimited'.
  */
 static int
-writehook(void *cookie,                /* really [struct bufcookie *] */
-         char *buf,            /* characters to copy */
-         int len)              /* length to copy */
+writehook(void *cookie, const char *buf, int len)
 {
        struct bufcookie *h;    /* private `handle' */
 
@@ -125,6 +123,8 @@ vsyslog(int pri, const char *fmt, va_list ap)
        struct bufcookie tbuf_cookie;
        struct bufcookie fmt_cookie;
 
+       stdp = NULL;
+
 #define        INTERNALLOG     LOG_ERR|LOG_CONS|LOG_PERROR|LOG_PID
        /* Check for invalid bits. */
        if (pri & ~(LOG_PRIMASK|LOG_FACMASK)) {
index 5fe9b65..f31468b 100644 (file)
@@ -31,7 +31,7 @@
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/lib/libc/gen/termios.c,v 1.9.2.1 2000/03/18 23:13:25 jasone Exp $
- * $DragonFly: src/lib/libc/gen/termios.c,v 1.4 2005/11/13 00:07:42 swildner Exp $
+ * $DragonFly: src/lib/libc/gen/termios.c,v 1.5 2005/11/19 22:32:53 swildner Exp $
  *
  * @(#)termios.c       8.2 (Berkeley) 2/21/94
  */
@@ -154,7 +154,7 @@ cfmakeraw(struct termios *t)
 }
 
 int
-tcsendbreak(int fd, int len)
+tcsendbreak(int fd, int len __unused)
 {
        struct timeval sleepytime;
 
index 56ed6fb..963cfc0 100644 (file)
@@ -31,7 +31,7 @@
  * SUCH DAMAGE.
  *
  * @(#)timezone.c      8.1 (Berkeley) 6/4/93
- * $DragonFly: src/lib/libc/gen/timezone.c,v 1.4 2005/11/13 00:07:42 swildner Exp $
+ * $DragonFly: src/lib/libc/gen/timezone.c,v 1.5 2005/11/19 22:32:53 swildner Exp $
  */
 
 #include <sys/types.h>
@@ -41,7 +41,7 @@
 #include <string.h>
 #define TZ_MAX_CHARS 255
 
-char *_tztab();
+char *_tztab(int, int);
 
 /*
  * timezone --
@@ -94,7 +94,7 @@ static struct zone {
        {-10*60,"EST",  "EST"},         /* Aust: Eastern */
      {-10*60+30,"CST", "CST"},         /* Aust: Central */
        {-8*60, "WST",  0},             /* Aust: Western */
-       {-1}
+       {-1,     NULL,  NULL}
 };
 
 /*
index a713f17..8531714 100644 (file)
@@ -24,7 +24,7 @@
  * SUCH DAMAGE.
  *
  *     $FreeBSD: src/lib/libc/gen/tls.c,v 1.7 2005/03/01 23:42:00 davidxu Exp $
- *     $DragonFly: src/lib/libc/gen/tls.c,v 1.9 2005/05/11 19:46:52 dillon Exp $
+ *     $DragonFly: src/lib/libc/gen/tls.c,v 1.10 2005/11/19 22:32:53 swildner Exp $
  */
 
 /*
@@ -245,7 +245,7 @@ _libc_init_tls(void)
                }
        }
        if (phdr == 0 || phent != sizeof(Elf_Phdr) || phnum == 0)
-               return;
+               return(NULL);
 
        for (i = 0; (unsigned)i < phnum; i++) {
                if (phdr[i].p_type == PT_TLS) {
index c5935bd..eb3769d 100644 (file)
@@ -31,7 +31,7 @@
 .\"
 .\"     @(#)ttyname.3  8.1 (Berkeley) 6/4/93
 .\" $FreeBSD: src/lib/libc/gen/ttyname.3,v 1.5.2.3 2001/12/14 18:33:51 ru Exp $
-.\" $DragonFly: src/lib/libc/gen/ttyname.3,v 1.2 2003/06/17 04:26:42 dillon Exp $
+.\" $DragonFly: src/lib/libc/gen/ttyname.3,v 1.3 2005/11/19 22:32:53 swildner Exp $
 .\"
 .Dd June 4, 1993
 .Dt TTYNAME 3
@@ -47,6 +47,8 @@
 .In unistd.h
 .Ft char *
 .Fn ttyname "int fd"
+.Ft char *
+.Fn ttyname_r "int fd" "char *buf" "size_t len"
 .Ft int
 .Fn isatty "int fd"
 .Ft int
@@ -84,6 +86,11 @@ a file descriptor for which
 is true
 .Pp
 The
+.Fn ttyname_r
+function is a thread-safe version of
+.Fn ttyname
+.Pp
+The
 .Fn ttyslot
 function
 fetches the current process' control terminal number from the
index eda4899..469e48c 100644 (file)
@@ -31,7 +31,7 @@
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/lib/libc/gen/ttyname.c,v 1.10.6.2 2002/10/15 19:46:46 fjoe Exp $
- * $DragonFly: src/lib/libc/gen/ttyname.c,v 1.13 2005/11/13 00:07:42 swildner Exp $
+ * $DragonFly: src/lib/libc/gen/ttyname.c,v 1.14 2005/11/19 22:32:53 swildner Exp $
  *
  * @(#)ttyname.c       8.2 (Berkeley) 1/27/94
  */
@@ -58,6 +58,7 @@ static char static_buf[TTY_PATH_MAX] = _PATH_DEV;
 static char *oldttyname(int, struct stat *);
 static char *ttyname_threaded(int fd);
 static char *ttyname_unthreaded(int fd);
+extern int  __sys_fstat(int, struct stat *);
 
 static pthread_mutex_t ttyname_lock = PTHREAD_MUTEX_INITIALIZER;
 static pthread_key_t   ttyname_key;
index 05122d9..63b9ea1 100644 (file)
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/lib/libc/gen/unvis.c,v 1.4.8.1 2000/08/17 08:25:54 jhb Exp $
- * $DragonFly: src/lib/libc/gen/unvis.c,v 1.4 2005/11/13 00:07:42 swildner Exp $
+ * $DragonFly: src/lib/libc/gen/unvis.c,v 1.5 2005/11/19 22:32:53 swildner Exp $
  *
  * @(#)unvis.c 8.1 (Berkeley) 6/4/93
  */
 
 #include <sys/types.h>
+#include <ctype.h>
 #include <vis.h>
 
 /*
@@ -54,7 +55,7 @@
 #define        S_HTTP          0x080   /* %HEXHEX escape */
 
 #define        isoctal(c)      (((u_char)(c)) >= '0' && ((u_char)(c)) <= '7')
-#define        ishex(c)        (((u_char)(c)) >= '0' && ((u_char)(c)) <= '9' || ((u_char)(c)) >= 'a' && ((u_char)(c)) <= 'f')
+#define        ishex(c)        ((((u_char)(c)) >= '0' && ((u_char)(c)) <= '9') || (((u_char)(c)) >= 'a' && ((u_char)(c)) <= 'f'))
 
 /*
  * unvis - decode characters previously encoded by vis
@@ -105,7 +106,7 @@ unvis(char *cp, int c, int *astate, int flag)
                        *astate = S_OCTAL2;
                        return (0);
                case 'M':
-                       *cp = 0200;
+                       *cp = (char)0200;
                        *astate = S_META;
                        return (0);
                case '^':