Fixed a bug where tar would not set the user and group on device
special files.
 -Erik
diff --git a/tar.c b/tar.c
index bff2482..7167d95 100644
--- a/tar.c
+++ b/tar.c
@@ -577,17 +577,15 @@
 	} else {
 	    outFd = open (name, O_WRONLY | O_CREAT | O_TRUNC, mode);
 	}
+	if (outFd < 0) {
+	    perror (name);
+	    skipFileFlag = TRUE;
+	    return;
+	}
+	chown(name, uid, gid);
+	chmod(name, mode);
     }
 
-    if (outFd < 0) {
-	perror (name);
-	skipFileFlag = TRUE;
-	return;
-    }
-    if (tostdoutFlag == FALSE) {
-	fchown(outFd, uid, gid);
-	fchmod(outFd, mode);
-    }
 
     /* 
      * If the file is empty, then that's all we need to do.