- struct timeval now;
- char str[50], *p;
- gettimeofday(&now, NULL);
- if (now.tv_usec < start.tv_usec) {
- now.tv_sec--;
- now.tv_usec += 1000000;
- }
- now.tv_usec -= start.tv_usec;
- now.tv_sec -= start.tv_sec;
- sprintf(str, "%u (%u.%02u): ", getpid(),
- (int)now.tv_sec, (int)now.tv_usec / 10000);
- trace_str(str);
- p = failpath_string();
- trace_str(p);
- free(p);
- trace_str("(");
- p = strchr(history[history_num-1].file, '/');
+ struct timeval diff;
+ const char *p;
+ char *failpath;
+ struct failtest_call *c;
+
+ c = tlist_tail(&history, struct failtest_call, list);
+ diff = time_sub(time_now(), start);
+ failpath = failpath_string();
+ trace("%u->%u (%u.%02u): %s (", getppid(), getpid(),
+ (int)diff.tv_sec, (int)diff.tv_usec / 10000,
+ failpath);
+ free(failpath);
+ p = strrchr(c->file, '/');