-
-
- /* NB: need to pass size as a double because it might be be
- * too large for a long. */
- printf("%s %12.0f %6ld.%-6ld %6d %s %s%s\n",
- permbuf, (double) buf.st_size,
- (long) buf.st_uid, (long) buf.st_gid,
- buf.st_nlink,
+
+ printf("%s ", permbuf);
+ if (IS_DEVICE(buf.st_mode)) {
+ printf("%5ld,%6ld",
+ (long)major(buf.st_rdev),
+ (long)minor(buf.st_rdev));
+ } else /* NB: use double for size since it might not fit in a long. */
+ printf("%12.0f", (double)buf.st_size);
+ printf(" %6ld.%-6ld %6ld %s %s%s\n",
+ (long)buf.st_uid, (long)buf.st_gid, (long)buf.st_nlink,