static int trace_exit (void *buf) { unsigned long long time = buffer_get(unsigned long long); int res = function_exit(time); assert_inner(!res, "function_exit"); return 0; }
int function_exit_all (unsigned long long time) { while (call_tree_current_node->parent != NULL) { int res = function_exit(time); assert_inner(!res, "function_exit"); } function_aggregate_call_tree_node_times(&call_tree_root); function_aggregate_function_times(); return 0; }
void parse(char *line) { char *str = strtok(line," "); char *arguments = strtok(NULL,""); if(!strcmp(str,"cd")) function_cd(arguments); else if(!strcmp(str,"pwd")) function_pwd(arguments); else if(!strcmp(str,"echo")) function_echo(arguments); else if(!strcmp(str,"exit")) function_exit(arguments); else if(!strcmp(str,"env")) function_env(arguments); else if(!strcmp(str,"setenv")) function_setenv(arguments); else printf("Invalid Command!\n"); }