diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/ft_check_map_surrounds.c | 10 | ||||
-rw-r--r-- | src/ft_exit.c | 6 | ||||
-rw-r--r-- | src/ft_parse_map.c | 2 | ||||
-rw-r--r-- | src/ft_warp_level.c | 11 |
4 files changed, 16 insertions, 13 deletions
diff --git a/src/ft_check_map_surrounds.c b/src/ft_check_map_surrounds.c index fbe2ff8..4b3f236 100644 --- a/src/ft_check_map_surrounds.c +++ b/src/ft_check_map_surrounds.c @@ -22,18 +22,10 @@ static int8_t map[y - 1][x] == ' ' || map[y][x + 1] == ' ' || map[y][x - 1] == ' ' || - map[y + 1][x + 1] == ' ' || - map[y - 1][x + 1] == ' ' || - map[y + 1][x - 1] == ' ' || - map[y - 1][x - 1] == ' ' || map[y + 1][x] == '\0' || map[y - 1][x] == '\0' || map[y][x + 1] == '\0' || - map[y][x - 1] == '\0' || - map[y + 1][x + 1] == '\0' || - map[y - 1][x + 1] == '\0' || - map[y + 1][x - 1] == '\0' || - map[y - 1][x - 1] == '\0') + map[y][x - 1] == '\0') return (-1); return (0); } diff --git a/src/ft_exit.c b/src/ft_exit.c index 23cd466..92da2a6 100644 --- a/src/ft_exit.c +++ b/src/ft_exit.c @@ -16,6 +16,7 @@ #include <stddef.h> #include <stdlib.h> #include <stdint.h> +#include <signal.h> #include <pthread.h> static void @@ -63,7 +64,10 @@ int if (clist->isoldmus && clist->wlist.inited) { pthread_cancel(clist->tid); - pthread_join(clist->tid, NULL); + if (FT_OS == 1) + pthread_kill(clist->tid, SIGTERM); + else + pthread_join(clist->tid, NULL); } ft_free_lists(clist); ft_printf("Exiting program\n"); diff --git a/src/ft_parse_map.c b/src/ft_parse_map.c index 6a9c5af..3c1fd9c 100644 --- a/src/ft_parse_map.c +++ b/src/ft_parse_map.c @@ -77,7 +77,7 @@ static int8_t void ft_save_name(const char *map_path, t_map *mlist, t_cub *clist) { - ft_memdel((void**)mlist->filename); + ft_memdel((void**)&mlist->filename); if (!(mlist->filename = (char*)malloc((ft_strlen(map_path) + 1) * sizeof(char)))) ft_error(FT_RET_ALLOC_ERR, FT_ERR_ALLOCATE, clist); diff --git a/src/ft_warp_level.c b/src/ft_warp_level.c index b122e46..a93184c 100644 --- a/src/ft_warp_level.c +++ b/src/ft_warp_level.c @@ -16,6 +16,7 @@ #include <stddef.h> #include <stdint.h> #include <mlx.h> +#include <signal.h> #include <pthread.h> static void @@ -66,14 +67,20 @@ static void if (isoldmus && !cl->mlist.ismusic) { pthread_cancel(cl->tid); - pthread_join(cl->tid, NULL); + if (FT_OS == 1) + pthread_kill(cl->tid, SIGTERM); + else + pthread_join(cl->tid, NULL); cl->isoldmus = 0; } else if (isoldmus && cl->mlist.ismusic && ft_strncmp(tmp_mup, cl->mlist.music_path, ft_strlen(tmp_mup) + 1)) { pthread_cancel(cl->tid); - pthread_join(cl->tid, NULL); + if (FT_OS == 1) + pthread_kill(cl->tid, SIGTERM); + else + pthread_join(cl->tid, NULL); pthread_create(&cl->tid, NULL, ft_music_thread, cl); } else if (isoldmus && cl->mlist.ismusic |