int main(int argc, char *argv[]) { struct tagfs_state tagfs_data; debug_init(); sem_init(&sem, 0, 1); tagfs_data.exec_dir = get_exec_dir(argv[0]); return fuse_main(argc, argv, &tagfs_oper, &tagfs_data); } /* main */
char *get_exec_full_path(char *input, char **path) { char *exec_dir; char *exec_path; exec_dir = get_exec_dir(input, path); if (exec_dir != NULL) { exec_path = malloc(sizeof(char) * (my_strlen(exec_dir) + my_strlen(input) + 2)); if (exec_path == NULL) my_exit(EXIT_FAILURE, "ERROR: Out of memory! malloc() failed\n"); exec_path = my_strncpy(exec_path, exec_dir, my_strlen(exec_dir)); exec_path = my_strncat(exec_path, "/", 1); exec_path = my_strncat(exec_path, input, my_strlen(input)); return (exec_path); } else return (my_strdup(input)); }