X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Fscreens.c;h=46632bc45b0c39fd4bc0ccd791edde19261b9e74;hp=8a5279b71a0122705844c3f1aaef7498052d3bf1;hb=6972be3456882f83dd05da98ce73beef3d7324fb;hpb=ab3d5a2937d41e04be3ae8884d9295d59ff346cd diff --git a/src/screens.c b/src/screens.c index 8a5279b7..46632bc4 100644 --- a/src/screens.c +++ b/src/screens.c @@ -4048,6 +4048,26 @@ struct ApiRenamePlayerThreadData char *player_uuid; }; +static void *CreateThreadData_ApiRenamePlayer(void) +{ + struct ApiRenamePlayerThreadData *data = + checked_malloc(sizeof(struct ApiRenamePlayerThreadData)); + + data->player_name = getStringCopy(setup.player_name); + data->player_uuid = getStringCopy(setup.player_uuid); + + return data; +} + +static void FreeThreadData_ApiRenamePlayer(void *data_raw) +{ + struct ApiRenamePlayerThreadData *data = data_raw; + + checked_free(data->player_name); + checked_free(data->player_uuid); + checked_free(data); +} + static void ApiRenamePlayerExt(struct HttpRequest *request, struct HttpResponse *response, char *player_name_raw, @@ -4114,9 +4134,7 @@ static int ApiRenamePlayerThread(void *data_raw) ApiRenamePlayer(data->player_name, data->player_uuid); - checked_free(data->player_name); - checked_free(data->player_uuid); - checked_free(data); + FreeThreadData_ApiRenamePlayer(data_raw); return 0; } @@ -4124,10 +4142,7 @@ static int ApiRenamePlayerThread(void *data_raw) static void ApiRenamePlayerAsThread(void) { struct ApiRenamePlayerThreadData *data = - checked_malloc(sizeof(struct ApiRenamePlayerThreadData)); - - data->player_name = getStringCopy(setup.player_name); - data->player_uuid = getStringCopy(setup.player_uuid); + CreateThreadData_ApiRenamePlayer(); ExecuteAsThread(ApiRenamePlayerThread, "ApiRenamePlayer", data,