|
|
1.1 root 1: /*
2: * Interface for configuring and controlling the state of tracing events.
3: *
4: * Copyright (C) 2011 LluĂs Vilanova <[email protected]>
5: *
6: * This work is licensed under the terms of the GNU GPL, version 2. See
7: * the COPYING file in the top-level directory.
8: */
9:
10: #include "trace/control.h"
11:
12:
13: void trace_backend_init_events(const char *fname)
14: {
15: if (fname == NULL) {
16: return;
17: }
18:
19: FILE *fp = fopen(fname, "r");
20: if (!fp) {
21: fprintf(stderr, "error: could not open trace events file '%s': %s\n",
22: fname, strerror(errno));
23: exit(1);
24: }
25: char line_buf[1024];
26: while (fgets(line_buf, sizeof(line_buf), fp)) {
27: size_t len = strlen(line_buf);
28: if (len > 1) { /* skip empty lines */
29: line_buf[len - 1] = '\0';
30: if (!trace_event_set_state(line_buf, true)) {
31: fprintf(stderr,
32: "error: trace event '%s' does not exist\n", line_buf);
33: exit(1);
34: }
35: }
36: }
37: if (fclose(fp) != 0) {
38: fprintf(stderr, "error: closing file '%s': %s\n",
39: fname, strerror(errno));
40: exit(1);
41: }
42: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.