mirror of
https://github.com/Relintai/sdl2_frt.git
synced 2024-12-20 22:16:49 +01:00
Fixed freeing strings created by strdup() with SDL_free().
This only worked on platforms where SDL_free() wraps free().
This commit is contained in:
parent
2f016cf88d
commit
6ec5e64056
@ -179,7 +179,7 @@ SDL_SYS_JoystickInit(void)
|
|||||||
|
|
||||||
SDL_snprintf(s, SDL_arraysize(s), "/dev/uhid%d", i);
|
SDL_snprintf(s, SDL_arraysize(s), "/dev/uhid%d", i);
|
||||||
|
|
||||||
joynames[SDL_SYS_numjoysticks] = strdup(s);
|
joynames[SDL_SYS_numjoysticks] = SDL_strdup(s);
|
||||||
|
|
||||||
if (SDL_SYS_JoystickOpen(&nj, SDL_SYS_numjoysticks) == 0) {
|
if (SDL_SYS_JoystickOpen(&nj, SDL_SYS_numjoysticks) == 0) {
|
||||||
SDL_SYS_JoystickClose(&nj);
|
SDL_SYS_JoystickClose(&nj);
|
||||||
@ -193,7 +193,7 @@ SDL_SYS_JoystickInit(void)
|
|||||||
SDL_snprintf(s, SDL_arraysize(s), "/dev/joy%d", i);
|
SDL_snprintf(s, SDL_arraysize(s), "/dev/joy%d", i);
|
||||||
fd = open(s, O_RDONLY);
|
fd = open(s, O_RDONLY);
|
||||||
if (fd != -1) {
|
if (fd != -1) {
|
||||||
joynames[SDL_SYS_numjoysticks++] = strdup(s);
|
joynames[SDL_SYS_numjoysticks++] = SDL_strdup(s);
|
||||||
close(fd);
|
close(fd);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -304,14 +304,14 @@ SDL_SYS_JoystickOpen(SDL_Joystick * joy, int device_index)
|
|||||||
}
|
}
|
||||||
joy->hwdata = hw;
|
joy->hwdata = hw;
|
||||||
hw->fd = fd;
|
hw->fd = fd;
|
||||||
hw->path = strdup(path);
|
hw->path = SDL_strdup(path);
|
||||||
if (!SDL_strncmp(path, "/dev/joy", 8)) {
|
if (!SDL_strncmp(path, "/dev/joy", 8)) {
|
||||||
hw->type = BSDJOY_JOY;
|
hw->type = BSDJOY_JOY;
|
||||||
joy->naxes = 2;
|
joy->naxes = 2;
|
||||||
joy->nbuttons = 2;
|
joy->nbuttons = 2;
|
||||||
joy->nhats = 0;
|
joy->nhats = 0;
|
||||||
joy->nballs = 0;
|
joy->nballs = 0;
|
||||||
joydevnames[device_index] = strdup("Gameport joystick");
|
joydevnames[device_index] = SDL_strdup("Gameport joystick");
|
||||||
goto usbend;
|
goto usbend;
|
||||||
} else {
|
} else {
|
||||||
hw->type = BSDJOY_UHID;
|
hw->type = BSDJOY_UHID;
|
||||||
@ -363,7 +363,7 @@ SDL_SYS_JoystickOpen(SDL_Joystick * joy, int device_index)
|
|||||||
str[i] = '\0';
|
str[i] = '\0';
|
||||||
asprintf(&new_name, "%s @ %s", str, path);
|
asprintf(&new_name, "%s @ %s", str, path);
|
||||||
if (new_name != NULL) {
|
if (new_name != NULL) {
|
||||||
free(joydevnames[SDL_SYS_numjoysticks]);
|
SDL_free(joydevnames[SDL_SYS_numjoysticks]);
|
||||||
joydevnames[SDL_SYS_numjoysticks] = new_name;
|
joydevnames[SDL_SYS_numjoysticks] = new_name;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -74,8 +74,8 @@ extern "C"
|
|||||||
if (joystick.Open(name) != B_ERROR) {
|
if (joystick.Open(name) != B_ERROR) {
|
||||||
BString stick_name;
|
BString stick_name;
|
||||||
joystick.GetControllerName(&stick_name);
|
joystick.GetControllerName(&stick_name);
|
||||||
SDL_joyport[SDL_SYS_numjoysticks] = strdup(name);
|
SDL_joyport[SDL_SYS_numjoysticks] = SDL_strdup(name);
|
||||||
SDL_joyname[SDL_SYS_numjoysticks] = strdup(stick_name.String());
|
SDL_joyname[SDL_SYS_numjoysticks] = SDL_strdup(stick_name.String());
|
||||||
SDL_SYS_numjoysticks++;
|
SDL_SYS_numjoysticks++;
|
||||||
joystick.Close();
|
joystick.Close();
|
||||||
}
|
}
|
||||||
|
@ -145,7 +145,7 @@ display_handle_geometry(void *data,
|
|||||||
{
|
{
|
||||||
SDL_VideoDisplay *display = data;
|
SDL_VideoDisplay *display = data;
|
||||||
|
|
||||||
display->name = strdup(model);
|
display->name = SDL_strdup(model);
|
||||||
display->driverdata = output;
|
display->driverdata = output;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user