]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - tools/perf/util/parse-events.c
Merge branch 'next-spi' of git://git.secretlab.ca/git/linux-2.6
[mv-sheeva.git] / tools / perf / util / parse-events.c
index 9e5dbd66d34d7aa95aad038d2168eaed5ef920b3..e5bc0fb016b2c130b873ba5808f4ed3d33896400 100644 (file)
@@ -197,7 +197,7 @@ struct tracepoint_path *tracepoint_id_to_path(u64 config)
                        if (id == config) {
                                closedir(evt_dir);
                                closedir(sys_dir);
-                               path = zalloc(sizeof(path));
+                               path = zalloc(sizeof(*path));
                                path->system = malloc(MAX_EVENT_LENGTH);
                                if (!path->system) {
                                        free(path);
@@ -467,7 +467,6 @@ parse_subsystem_tracepoint_event(char *sys_name, char *flags)
        while ((evt_ent = readdir(evt_dir))) {
                char event_opt[MAX_EVOPT_LEN + 1];
                int len;
-               unsigned int rem = MAX_EVOPT_LEN;
 
                if (!strcmp(evt_ent->d_name, ".")
                    || !strcmp(evt_ent->d_name, "..")
@@ -475,20 +474,12 @@ parse_subsystem_tracepoint_event(char *sys_name, char *flags)
                    || !strcmp(evt_ent->d_name, "filter"))
                        continue;
 
-               len = snprintf(event_opt, MAX_EVOPT_LEN, "%s:%s", sys_name,
-                              evt_ent->d_name);
+               len = snprintf(event_opt, MAX_EVOPT_LEN, "%s:%s%s%s", sys_name,
+                              evt_ent->d_name, flags ? ":" : "",
+                              flags ?: "");
                if (len < 0)
                        return EVT_FAILED;
 
-               rem -= len;
-               if (flags) {
-                       if (rem < strlen(flags) + 1)
-                               return EVT_FAILED;
-
-                       strcat(event_opt, ":");
-                       strcat(event_opt, flags);
-               }
-
                if (parse_events(NULL, event_opt, 0))
                        return EVT_FAILED;
        }