wok-stable annotate busybox/stuff/busybox-1.10.3-stat.u @ rev 1221

Add squirrelmail-archive
author Pascal Bellard <pascal.bellard@slitaz.org>
date Sun Aug 10 07:51:51 2008 +0000 (2008-08-10)
parents
children
rev   line source
pascal@859 1 --- busybox-1.10.1/coreutils/stat.c
pascal@859 2 +++ busybox-1.10.1/coreutils/stat.c
pascal@859 3 @@ -14,12 +14,14 @@
pascal@859 4 */
pascal@859 5
pascal@859 6 #include "libbb.h"
pascal@859 7 +#include <linux/fs.h>
pascal@859 8
pascal@859 9 /* vars to control behavior */
pascal@859 10 #define OPT_FILESYS (1 << 0)
pascal@859 11 #define OPT_TERSE (1 << 1)
pascal@859 12 #define OPT_DEREFERENCE (1 << 2)
pascal@859 13 -#define OPT_SELINUX (1 << 3)
pascal@859 14 +#define OPT_MAP (1 << 3)
pascal@859 15 +#define OPT_SELINUX (1 << 4)
pascal@859 16
pascal@859 17 #if ENABLE_FEATURE_STAT_FORMAT
pascal@859 18 typedef bool (*statfunc_ptr)(const char *, const char *);
pascal@859 19 @@ -345,6 +347,26 @@
pascal@859 20
pascal@859 21 /* Stat the file system and print what we find. */
pascal@859 22 #if !ENABLE_FEATURE_STAT_FORMAT
pascal@859 23 +#define do_mapfile(filename, format) do_mapfile(filename)
pascal@859 24 +#endif
pascal@859 25 +static bool do_mapfile(const char *filename, const char *format)
pascal@859 26 +{
pascal@859 27 + int i = 0;
pascal@859 28 + int fd = xopen(filename, O_RDONLY);
pascal@859 29 +
pascal@859 30 +#if ENABLE_FEATURE_STAT_FORMAT
pascal@859 31 + (void) format;
pascal@859 32 +#endif
pascal@859 33 + while (1) {
pascal@859 34 + int blk = i++;
pascal@859 35 + if (ioctl(fd,FIBMAP,&blk) < 0 || blk == 0) break;
pascal@859 36 + printf("%u\n",blk);
pascal@859 37 + }
pascal@859 38 + return 1;
pascal@859 39 +}
pascal@859 40 +
pascal@859 41 +/* Stat the file system and print what we find. */
pascal@859 42 +#if !ENABLE_FEATURE_STAT_FORMAT
pascal@859 43 #define do_statfs(filename, format) do_statfs(filename)
pascal@859 44 #endif
pascal@859 45 static bool do_statfs(const char *filename, const char *format)
pascal@859 46 @@ -632,13 +654,15 @@
pascal@859 47 int ok = 1;
pascal@859 48 statfunc_ptr statfunc = do_stat;
pascal@859 49
pascal@859 50 - getopt32(argv, "ftL"
pascal@859 51 + getopt32(argv, "ftLm"
pascal@859 52 USE_SELINUX("Z")
pascal@859 53 USE_FEATURE_STAT_FORMAT("c:", &format)
pascal@859 54 );
pascal@859 55
pascal@859 56 if (option_mask32 & OPT_FILESYS) /* -f */
pascal@859 57 statfunc = do_statfs;
pascal@859 58 + if (option_mask32 & OPT_MAP) /* -m */
pascal@859 59 + statfunc = do_mapfile;
pascal@859 60 if (argc == optind) /* files */
pascal@859 61 bb_show_usage();
pascal@859 62
pascal@859 63
pascal@859 64 --- busybox-1.10.1/include/usage.h
pascal@859 65 +++ busybox-1.10.1/include/usage.h
pascal@859 66 @@ -3589,6 +3589,7 @@
pascal@859 67 ) \
pascal@859 68 "\n -f Display filesystem status" \
pascal@859 69 "\n -L Dereference links" \
pascal@859 70 + "\n -m Display block list" \
pascal@859 71 "\n -t Display info in terse form" \
pascal@859 72 USE_SELINUX( \
pascal@859 73 "\n -Z Print security context" \