8 char *base_path_folder(const char *subfolder)
10 lt_t *lt = create_lt();
15 char *base_path = PUSH_LT(lt, SDL_GetBasePath(), SDL_free);
16 if (base_path == NULL) {
17 base_path = PUSH_LT(lt, SDL_strdup("./"), SDL_free);
20 const size_t buffer_size =
21 sizeof(char) * (strlen(base_path) + strlen(subfolder) + 1);
23 char *buffer = PUSH_LT(lt, malloc(buffer_size), free);
25 throw_error(ERROR_TYPE_LIBC);
29 if (snprintf(buffer, buffer_size,
30 "%s%s/", base_path, subfolder) < 0) {
31 throw_error(ERROR_TYPE_LIBC);
35 buffer = RELEASE_LT(lt, buffer);
36 RETURN_LT(lt, buffer);