diff options
| author | Flemming Madsen <busybox@themadsens.dk> | 2011-10-10 20:24:02 +0200 |
|---|---|---|
| committer | Denys Vlasenko <vda.linux@googlemail.com> | 2011-10-10 20:24:02 +0200 |
| commit | ecccbac37b733a57099c73bc806ac5de64643a35 (patch) | |
| tree | e030ced4a9cea77edc25af27019fa867f71d5d82 /miscutils | |
| parent | 39ec6a2ad5dae93c125b766eb8e705742216797a (diff) | |
| download | busybox-w32-ecccbac37b733a57099c73bc806ac5de64643a35.tar.gz busybox-w32-ecccbac37b733a57099c73bc806ac5de64643a35.tar.bz2 busybox-w32-ecccbac37b733a57099c73bc806ac5de64643a35.zip | |
inotify: if PROG is -, print events to stdout
function old new delta
inotifyd_main 516 589 +73
packed_usage 28698 28709 +11
Signed-off-by: Flemming Madsen <busybox@themadsens.dk>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'miscutils')
| -rw-r--r-- | miscutils/inotifyd.c | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/miscutils/inotifyd.c b/miscutils/inotifyd.c index b64e0abb9..7a1a6a2e5 100644 --- a/miscutils/inotifyd.c +++ b/miscutils/inotifyd.c | |||
| @@ -33,6 +33,7 @@ | |||
| 33 | //usage: "Run PROG on filesystem changes." | 33 | //usage: "Run PROG on filesystem changes." |
| 34 | //usage: "\nWhen a filesystem event matching MASK occurs on FILEn," | 34 | //usage: "\nWhen a filesystem event matching MASK occurs on FILEn," |
| 35 | //usage: "\nPROG ACTUAL_EVENTS FILEn [SUBFILE] is run." | 35 | //usage: "\nPROG ACTUAL_EVENTS FILEn [SUBFILE] is run." |
| 36 | //usage: "\nIf PROG is -, events are sent to stdout." | ||
| 36 | //usage: "\nEvents:" | 37 | //usage: "\nEvents:" |
| 37 | //usage: "\n a File is accessed" | 38 | //usage: "\n a File is accessed" |
| 38 | //usage: "\n c File is modified" | 39 | //usage: "\n c File is modified" |
| @@ -177,12 +178,20 @@ int inotifyd_main(int argc, char **argv) | |||
| 177 | *s++ = mask_names[i]; | 178 | *s++ = mask_names[i]; |
| 178 | } | 179 | } |
| 179 | *s = '\0'; | 180 | *s = '\0'; |
| 180 | // bb_error_msg("exec %s %08X\t%s\t%s\t%s", args[0], | 181 | if (LONE_CHAR(args[0], '-')) { |
| 181 | // ie->mask, events, watches[ie->wd], ie->len ? ie->name : ""); | 182 | /* "inotifyd - FILE": built-in echo */ |
| 182 | args[1] = events; | 183 | printf(ie->len ? "%s\t%s\t%s\n" : "%s\t%s\n", events, |
| 183 | args[2] = watches[ie->wd]; | 184 | watches[ie->wd], |
| 184 | args[3] = ie->len ? ie->name : NULL; | 185 | ie->name); |
| 185 | spawn_and_wait((char **)args); | 186 | fflush(stdout); |
| 187 | } else { | ||
| 188 | // bb_error_msg("exec %s %08X\t%s\t%s\t%s", args[0], | ||
| 189 | // ie->mask, events, watches[ie->wd], ie->len ? ie->name : ""); | ||
| 190 | args[1] = events; | ||
| 191 | args[2] = watches[ie->wd]; | ||
| 192 | args[3] = ie->len ? ie->name : NULL; | ||
| 193 | spawn_and_wait((char **)args); | ||
| 194 | } | ||
| 186 | // we are done if all files got final x event | 195 | // we are done if all files got final x event |
| 187 | if (ie->mask & 0x8000) { | 196 | if (ie->mask & 0x8000) { |
| 188 | if (--argc <= 0) | 197 | if (--argc <= 0) |
