Skip to content

Commit

Permalink
(playlist.c) Cleanups
Browse files Browse the repository at this point in the history
  • Loading branch information
LibretroAdmin committed Jun 16, 2023
1 parent cf909b7 commit d54097f
Show file tree
Hide file tree
Showing 2 changed files with 81 additions and 79 deletions.
156 changes: 81 additions & 75 deletions playlist.c
Original file line number Diff line number Diff line change
Expand Up @@ -314,9 +314,9 @@ static bool playlist_path_equal(const char *real_path,
char entry_real_path[PATH_MAX_LENGTH];

/* Sanity check */
if (string_is_empty(real_path) ||
string_is_empty(entry_path) ||
!config)
if ( string_is_empty(real_path)
|| string_is_empty(entry_path)
|| !config)
return false;

/* Get entry 'real' path */
Expand Down Expand Up @@ -403,9 +403,7 @@ static bool playlist_path_matches_entry(playlist_path_id_t *path_id,
struct playlist_entry *entry, const playlist_config_t *config)
{
/* Sanity check */
if (!path_id ||
!entry ||
!config)
if (!path_id || !entry || !config)
return false;

/* Check whether entry contains a path ID cache */
Expand All @@ -416,13 +414,12 @@ static bool playlist_path_matches_entry(playlist_path_id_t *path_id,
}

/* Ensure we have valid real_path strings */
if (string_is_empty(path_id->real_path) ||
string_is_empty(entry->path_id->real_path))
if ( string_is_empty(path_id->real_path)
|| string_is_empty(entry->path_id->real_path))
return false;

/* First pass comparison */
if (path_id->real_path_hash ==
entry->path_id->real_path_hash)
if (path_id->real_path_hash == entry->path_id->real_path_hash)
{
#ifdef _WIN32
/* Handle case-insensitive operating systems*/
Expand Down Expand Up @@ -461,12 +458,11 @@ static bool playlist_path_matches_entry(playlist_path_id_t *path_id,
{
/* Ensure we have valid parent archive path
* strings */
if (string_is_empty(path_id->archive_path) ||
string_is_empty(entry->path_id->archive_path))
if ( string_is_empty(path_id->archive_path)
|| string_is_empty(entry->path_id->archive_path))
return false;

if (path_id->archive_path_hash ==
entry->path_id->archive_path_hash)
if (path_id->archive_path_hash == entry->path_id->archive_path_hash)
{
#ifdef _WIN32
/* Handle case-insensitive operating systems*/
Expand Down Expand Up @@ -499,13 +495,14 @@ static bool playlist_core_path_equal(const char *real_core_path, const char *ent
char entry_real_core_path[PATH_MAX_LENGTH];

/* Sanity check */
if (string_is_empty(real_core_path) || string_is_empty(entry_core_path))
if ( string_is_empty(real_core_path)
|| string_is_empty(entry_core_path))
return false;

/* Get entry 'real' core path */
strlcpy(entry_real_core_path, entry_core_path, sizeof(entry_real_core_path));
if (!string_is_equal(entry_real_core_path, FILE_PATH_DETECT) &&
!string_is_equal(entry_real_core_path, FILE_PATH_BUILTIN))
if ( !string_is_equal(entry_real_core_path, FILE_PATH_DETECT)
&& !string_is_equal(entry_real_core_path, FILE_PATH_BUILTIN))
playlist_resolve_path(PLAYLIST_SAVE, true, entry_real_core_path,
sizeof(entry_real_core_path));

Expand All @@ -521,8 +518,8 @@ static bool playlist_core_path_equal(const char *real_core_path, const char *ent
return true;
#endif

if (config->autofix_paths &&
core_info_core_file_id_is_equal(real_core_path, entry_core_path))
if ( config->autofix_paths
&& core_info_core_file_id_is_equal(real_core_path, entry_core_path))
return true;

return false;
Expand Down Expand Up @@ -951,8 +948,8 @@ bool playlist_push_runtime(playlist_t *playlist,

/* Get 'real' core path */
strlcpy(real_core_path, entry->core_path, sizeof(real_core_path));
if (!string_is_equal(real_core_path, FILE_PATH_DETECT) &&
!string_is_equal(real_core_path, FILE_PATH_BUILTIN))
if ( !string_is_equal(real_core_path, FILE_PATH_DETECT)
&& !string_is_equal(real_core_path, FILE_PATH_BUILTIN))
playlist_resolve_path(PLAYLIST_SAVE, true, real_core_path,
sizeof(real_core_path));

Expand All @@ -966,8 +963,8 @@ bool playlist_push_runtime(playlist_t *playlist,
for (i = 0; i < len; i++)
{
struct playlist_entry tmp;
bool equal_path = (string_is_empty(path_id->real_path) &&
string_is_empty(playlist->entries[i].path));
bool equal_path = (string_is_empty(path_id->real_path)
&& string_is_empty(playlist->entries[i].path));

equal_path = equal_path || playlist_path_matches_entry(
path_id, &playlist->entries[i], &playlist->config);
Expand Down Expand Up @@ -1016,25 +1013,25 @@ bool playlist_push_runtime(playlist_t *playlist,
memmove(playlist->entries + 1, playlist->entries,
len * sizeof(struct playlist_entry));

playlist->entries[0].path = NULL;
playlist->entries[0].core_path = NULL;
playlist->entries[0].path = NULL;
playlist->entries[0].core_path = NULL;

if (!string_is_empty(path_id->real_path))
playlist->entries[0].path = strdup(path_id->real_path);
playlist->entries[0].path_id = path_id;
path_id = NULL;
playlist->entries[0].path = strdup(path_id->real_path);
playlist->entries[0].path_id = path_id;
path_id = NULL;

if (!string_is_empty(real_core_path))
playlist->entries[0].core_path = strdup(real_core_path);

playlist->entries[0].runtime_status = entry->runtime_status;
playlist->entries[0].runtime_hours = entry->runtime_hours;
playlist->entries[0].runtime_minutes = entry->runtime_minutes;
playlist->entries[0].runtime_seconds = entry->runtime_seconds;
playlist->entries[0].last_played_year = entry->last_played_year;
playlist->entries[0].last_played_month = entry->last_played_month;
playlist->entries[0].last_played_day = entry->last_played_day;
playlist->entries[0].last_played_hour = entry->last_played_hour;
playlist->entries[0].core_path = strdup(real_core_path);

playlist->entries[0].runtime_status = entry->runtime_status;
playlist->entries[0].runtime_hours = entry->runtime_hours;
playlist->entries[0].runtime_minutes = entry->runtime_minutes;
playlist->entries[0].runtime_seconds = entry->runtime_seconds;
playlist->entries[0].last_played_year = entry->last_played_year;
playlist->entries[0].last_played_month = entry->last_played_month;
playlist->entries[0].last_played_day = entry->last_played_day;
playlist->entries[0].last_played_hour = entry->last_played_hour;
playlist->entries[0].last_played_minute = entry->last_played_minute;
playlist->entries[0].last_played_second = entry->last_played_second;

Expand Down Expand Up @@ -1226,8 +1223,8 @@ bool playlist_push(playlist_t *playlist,

/* Get 'real' core path */
strlcpy(real_core_path, entry->core_path, sizeof(real_core_path));
if (!string_is_equal(real_core_path, FILE_PATH_DETECT) &&
!string_is_equal(real_core_path, FILE_PATH_BUILTIN))
if ( !string_is_equal(real_core_path, FILE_PATH_DETECT)
&& !string_is_equal(real_core_path, FILE_PATH_BUILTIN))
playlist_resolve_path(PLAYLIST_SAVE, true, real_core_path,
sizeof(real_core_path));

Expand Down Expand Up @@ -1256,8 +1253,8 @@ bool playlist_push(playlist_t *playlist,
for (i = 0; i < len; i++)
{
struct playlist_entry tmp;
bool equal_path = (string_is_empty(path_id->real_path) &&
string_is_empty(playlist->entries[i].path));
bool equal_path = (string_is_empty(path_id->real_path)
&& string_is_empty(playlist->entries[i].path));

equal_path = equal_path || playlist_path_matches_entry(
path_id, &playlist->entries[i], &playlist->config);
Expand Down Expand Up @@ -2182,9 +2179,11 @@ static bool JSONEndObjectHandler(void *context)
{
JSONContext *pCtx = (JSONContext *)context;

if (pCtx->in_items && pCtx->object_depth == 2)
if ( pCtx->in_items
&& pCtx->object_depth == 2)
{
if ((pCtx->array_depth == 1) && !pCtx->capacity_exceeded)
if ( (pCtx->array_depth == 1)
&& !pCtx->capacity_exceeded)
RBUF_RESIZE(pCtx->playlist->entries,
RBUF_LEN(pCtx->playlist->entries) + 1);
}
Expand Down Expand Up @@ -2274,9 +2273,9 @@ static bool JSONNumberHandler(void *context, const char *pValue, size_t length)
if (pCtx->current_meta_label_display_mode_val)
*pCtx->current_meta_label_display_mode_val = (enum playlist_label_display_mode)strtoul(pValue, NULL, 10);
else if (pCtx->current_meta_thumbnail_mode_val)
*pCtx->current_meta_thumbnail_mode_val = (enum playlist_thumbnail_mode)strtoul(pValue, NULL, 10);
*pCtx->current_meta_thumbnail_mode_val = (enum playlist_thumbnail_mode)strtoul(pValue, NULL, 10);
else if (pCtx->current_meta_sort_mode_val)
*pCtx->current_meta_sort_mode_val = (enum playlist_sort_mode)strtoul(pValue, NULL, 10);
*pCtx->current_meta_sort_mode_val = (enum playlist_sort_mode)strtoul(pValue, NULL, 10);
}
}
}
Expand All @@ -2293,10 +2292,10 @@ static bool JSONBoolHandler(void *context, bool value)
{
JSONContext *pCtx = (JSONContext *)context;

if (!pCtx->in_items &&
(pCtx->object_depth == 1) &&
(pCtx->array_depth == 0) &&
pCtx->current_meta_bool_val)
if ( !pCtx->in_items
&& (pCtx->object_depth == 1)
&& (pCtx->array_depth == 0)
&& pCtx->current_meta_bool_val)
*pCtx->current_meta_bool_val = value;

pCtx->current_meta_bool_val = NULL;
Expand All @@ -2313,11 +2312,9 @@ static bool JSONObjectMemberHandler(void *context, const char *pValue, size_t le
{
if (pCtx->array_depth == 1)
{
/* Something went wrong */
if (pCtx->current_string_val)
{
/* something went wrong */
return false;
}

if (length && !pCtx->capacity_exceeded)
{
Expand Down Expand Up @@ -2464,7 +2461,7 @@ static bool playlist_read_file(playlist_t *playlist)
{
unsigned i;
int test_char;
bool res = true;
bool res = true;
#if defined(HAVE_ZLIB)
/* Always use RZIP interface when reading playlists
* > this will automatically handle uncompressed
Expand Down Expand Up @@ -2652,8 +2649,8 @@ static bool playlist_read_file(playlist_t *playlist)

/* > Populate default core path/name, if required
* (if one is empty, the other should be ignored) */
if (!string_is_empty(default_core_path) &&
!string_is_empty(default_core_name))
if ( !string_is_empty(default_core_path)
&& !string_is_empty(default_core_name))
{
playlist->default_core_path = strdup(default_core_path);
playlist->default_core_name = strdup(default_core_name);
Expand Down Expand Up @@ -2791,7 +2788,7 @@ bool playlist_init_cached(const playlist_config_t *config)
**/
playlist_t *playlist_init(const playlist_config_t *config)
{
playlist_t *playlist = (playlist_t*)malloc(sizeof(*playlist));
playlist_t *playlist = (playlist_t*)malloc(sizeof(*playlist));
if (!playlist)
goto error;

Expand Down Expand Up @@ -2857,7 +2854,7 @@ playlist_t *playlist_init(const playlist_config_t *config)
&& (entry->subsystem_roms->size > 0))
{
struct string_list* subsystem_roms_new_paths = string_list_new();
union string_list_elem_attr attributes = { 0 };
union string_list_elem_attr attributes = { 0 };

if (!subsystem_roms_new_paths)
goto error;
Expand All @@ -2871,8 +2868,10 @@ playlist_t *playlist_init(const playlist_config_t *config)

tmp_entry_path[0] = '\0';
path_replace_base_path_and_convert_to_local_file_system(
tmp_entry_path, subsystem_rom_path,
playlist->base_content_directory, playlist->config.base_content_directory,
tmp_entry_path,
subsystem_rom_path,
playlist->base_content_directory,
playlist->config.base_content_directory,
sizeof(tmp_entry_path));
string_list_append(subsystem_roms_new_paths, tmp_entry_path, attributes);
}
Expand All @@ -2887,8 +2886,10 @@ playlist_t *playlist_init(const playlist_config_t *config)
{
tmp_entry_path[0] = '\0';
path_replace_base_path_and_convert_to_local_file_system(
tmp_entry_path, playlist->scan_record.content_dir,
playlist->base_content_directory, playlist->config.base_content_directory,
tmp_entry_path,
playlist->scan_record.content_dir,
playlist->base_content_directory,
playlist->config.base_content_directory,
sizeof(tmp_entry_path));

free(playlist->scan_record.content_dir);
Expand All @@ -2900,8 +2901,10 @@ playlist_t *playlist_init(const playlist_config_t *config)
{
tmp_entry_path[0] = '\0';
path_replace_base_path_and_convert_to_local_file_system(
tmp_entry_path, playlist->scan_record.dat_file_path,
playlist->base_content_directory, playlist->config.base_content_directory,
tmp_entry_path,
playlist->scan_record.dat_file_path,
playlist->base_content_directory,
playlist->config.base_content_directory,
sizeof(tmp_entry_path));

free(playlist->scan_record.dat_file_path);
Expand Down Expand Up @@ -2953,7 +2956,8 @@ static int playlist_qsort_func(const struct playlist_entry *a,
if (!string_is_empty(a->path))
fill_pathname(a_fallback_label,
path_basename_nocompression(a->path),
"", PATH_MAX_LENGTH * sizeof(char));
"",
PATH_MAX_LENGTH * sizeof(char));
/* If filename is also empty, use core name
* instead -> this matches the behaviour of
* menu_displaylist_parse_playlist() */
Expand All @@ -2975,7 +2979,8 @@ static int playlist_qsort_func(const struct playlist_entry *a,

if (!string_is_empty(b->path))
fill_pathname(b_fallback_label,
path_basename_nocompression(b->path), "",
path_basename_nocompression(b->path),
"",
PATH_MAX_LENGTH * sizeof(char));
else if (!string_is_empty(b->core_name))
strlcpy(b_fallback_label, b->core_name, PATH_MAX_LENGTH * sizeof(char));
Expand Down Expand Up @@ -3009,9 +3014,9 @@ void playlist_qsort(playlist_t *playlist)
{
/* Avoid inadvertent sorting if 'sort mode'
* has been set explicitly to PLAYLIST_SORT_MODE_OFF */
if (!playlist ||
(playlist->sort_mode == PLAYLIST_SORT_MODE_OFF) ||
!playlist->entries)
if ( !playlist
|| !playlist->entries
|| (playlist->sort_mode == PLAYLIST_SORT_MODE_OFF))
return;

qsort(playlist->entries, RBUF_LEN(playlist->entries),
Expand Down Expand Up @@ -3054,8 +3059,9 @@ bool playlist_index_is_valid(playlist_t *playlist, size_t idx,
if (idx >= RBUF_LEN(playlist->entries))
return false;

return playlist_path_equal(path, playlist->entries[idx].path, &playlist->config) &&
string_is_equal(path_basename_nocompression(playlist->entries[idx].core_path), path_basename_nocompression(core_path));
return playlist_path_equal(path, playlist->entries[idx].path, &playlist->config)
&& string_is_equal(path_basename_nocompression(playlist->entries[idx].core_path),
path_basename_nocompression(core_path));
}

bool playlist_entries_are_equal(
Expand Down Expand Up @@ -3093,8 +3099,8 @@ bool playlist_entries_are_equal(
if (!string_is_empty(entry_a->core_path))
{
strlcpy(real_core_path_a, entry_a->core_path, sizeof(real_core_path_a));
if (!string_is_equal(real_core_path_a, FILE_PATH_DETECT) &&
!string_is_equal(real_core_path_a, FILE_PATH_BUILTIN))
if ( !string_is_equal(real_core_path_a, FILE_PATH_DETECT)
&& !string_is_equal(real_core_path_a, FILE_PATH_BUILTIN))
playlist_resolve_path(PLAYLIST_SAVE, true,
real_core_path_a, sizeof(real_core_path_a));
}
Expand Down Expand Up @@ -3278,8 +3284,8 @@ void playlist_set_default_core_path(playlist_t *playlist,

/* Get 'real' core path */
strlcpy(real_core_path, core_path, sizeof(real_core_path));
if (!string_is_equal(real_core_path, FILE_PATH_DETECT) &&
!string_is_equal(real_core_path, FILE_PATH_BUILTIN))
if ( !string_is_equal(real_core_path, FILE_PATH_DETECT)
&& !string_is_equal(real_core_path, FILE_PATH_BUILTIN))
playlist_resolve_path(PLAYLIST_SAVE, true,
real_core_path, sizeof(real_core_path));

Expand Down
4 changes: 0 additions & 4 deletions playlist.h
Original file line number Diff line number Diff line change
Expand Up @@ -71,10 +71,6 @@ enum playlist_sort_mode
PLAYLIST_SORT_MODE_OFF
};

/* TODO/FIXME - since gfx_thumbnail_path.h has now
* been divorced from the menu code, perhaps jdgleaver
* can refactor this? */

/* Note: We already have a left/right enum defined
* in gfx_thumbnail_path.h - but we can't include
* menu code here, so have to make a 'duplicate'... */
Expand Down

0 comments on commit d54097f

Please sign in to comment.