aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjoern B. Brandenburg <bbb@cs.unc.edu>2008-12-09 11:59:54 -0500
committerBjoern B. Brandenburg <bbb@cs.unc.edu>2008-12-09 11:59:54 -0500
commitcc302a9d69b6d0c1533b29e18c38aada25bd0ebe (patch)
tree552ff434b96d83d65a4bdfef1c36344f2f21f09b
parent6146de11f45ca0a7f758ab719b1e3ecc467a1d66 (diff)
properly disable events
-rw-r--r--src/ftcat.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/ftcat.c b/src/ftcat.c
index 7b966fe..d38e66b 100644
--- a/src/ftcat.c
+++ b/src/ftcat.c
@@ -22,25 +22,24 @@ static int disable_all(int fd)
22 fprintf(stderr, "Disabling %d events.\n", event_count - 1); 22 fprintf(stderr, "Disabling %d events.\n", event_count - 1);
23 size = event_count * sizeof(cmd_t); 23 size = event_count * sizeof(cmd_t);
24 ret = write(fd, ids, size); 24 ret = write(fd, ids, size);
25 //fprintf(stderr, "write = %d, meant to write %d (%m)\n", ret, size); 25 if (ret != size)
26 fprintf(stderr, "write = %d, meant to write %d (%m)\n", ret, size);
26 return size == ret; 27 return size == ret;
27} 28}
28 29
29static int enable_events(int fd, char* str) 30static int enable_events(int fd, char* str)
30{ 31{
31 cmd_t *id; 32 cmd_t *id;
32 cmd_t cmd[3]; 33 cmd_t cmd[2];
33 34
34 id = ids + event_count; 35 id = ids + event_count;
35 if (!str2event(str, id)) 36 if (!str2event(str, id))
36 return 0; 37 return 0;
37 38
38 event_count += 2; 39 event_count += 1;
39 id[1] = id[0] + 1;
40 cmd[0] = ENABLE_CMD; 40 cmd[0] = ENABLE_CMD;
41 cmd[1] = id[0]; 41 cmd[1] = id[0];
42 cmd[2] = id[1]; 42 return write(fd, cmd, sizeof(cmd)) == sizeof(cmd_t) * 2;
43 return write(fd, cmd, 3 * sizeof(cmd_t)) == 3 * sizeof(cmd_t);
44} 43}
45 44
46 45