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 | |
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>
-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) |