Module Name:    src
Committed By:   christos
Date:           Sun Nov 25 00:36:24 UTC 2012

Modified Files:
        src/usr.bin/fstat: fstat.c

Log Message:
- add more debugging.
- in misctrans() we need the file index not the file type.


To generate a diff of this commit:
cvs rdiff -u -r1.99 -r1.100 src/usr.bin/fstat/fstat.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/usr.bin/fstat/fstat.c
diff -u src/usr.bin/fstat/fstat.c:1.99 src/usr.bin/fstat/fstat.c:1.100
--- src/usr.bin/fstat/fstat.c:1.99	Thu Oct 18 22:49:52 2012
+++ src/usr.bin/fstat/fstat.c	Sat Nov 24 19:36:23 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: fstat.c,v 1.99 2012/10/19 02:49:52 christos Exp $	*/
+/*	$NetBSD: fstat.c,v 1.100 2012/11/25 00:36:23 christos Exp $	*/
 
 /*-
  * Copyright (c) 1988, 1993
@@ -39,7 +39,7 @@ __COPYRIGHT("@(#) Copyright (c) 1988, 19
 #if 0
 static char sccsid[] = "@(#)fstat.c	8.3 (Berkeley) 5/2/95";
 #else
-__RCSID("$NetBSD: fstat.c,v 1.99 2012/10/19 02:49:52 christos Exp $");
+__RCSID("$NetBSD: fstat.c,v 1.100 2012/11/25 00:36:23 christos Exp $");
 #endif
 #endif /* not lint */
 
@@ -170,7 +170,7 @@ static const char *inet6_addrstr(char *,
 #endif
 static const char *at_addrstr(char *, size_t, const struct sockaddr_at *);
 static void	socktrans(struct socket *, int);
-static void	misctrans(struct file *);
+static void	misctrans(struct file *, int);
 static int	ufs_filestat(struct vnode *, struct filestat *);
 static void	usage(void) __dead;
 static const char   *vfilestat(struct vnode *, struct filestat *);
@@ -485,8 +485,11 @@ ftrans(fdfile_t *fp, int i)
 		    i, fp, Pid);
 		return;
 	}
-	if (fdfile.ff_file == NULL)
+	if (fdfile.ff_file == NULL) {
+		dprintf("null ff_file for %d at %p for pid %d",
+		    i, fp, Pid);
 		return;
+	}
 	if (!KVM_READ(fdfile.ff_file, &file, sizeof(file))) {
 		dprintf("can't read file %d at %p for pid %d",
 		    i, fdfile.ff_file, Pid);
@@ -510,7 +513,7 @@ ftrans(fdfile_t *fp, int i)
 	case DTYPE_MQUEUE:
 	case DTYPE_SEM:
 		if (checkfile == 0)
-			misctrans(&file);
+			misctrans(&file, i);
 		break;
 	default:
 		dprintf("unknown file type %d for file %d of pid %d",
@@ -1192,10 +1195,10 @@ bad:
 }
 
 static void
-misctrans(struct file *file)
+misctrans(struct file *file, int i)
 {
 
-	PREFIX((int)file->f_type);
+	PREFIX(i);
 	pmisc(file, dtypes[file->f_type]);
 }
 

Reply via email to