<commit_before>#include <limits.h>

#include "Ecore_Desktop.h"
#include "ecore_desktop_private.h"

//#define DEBUG 1

static const char   *_ecore_desktop_icon_find0(const char *icon, 
					      const char *icon_size,
					      const char *icon_theme);

static int _ecore_desktop_icon_theme_list_add(void *data, const char *path);
void _ecore_desktop_icon_theme_destroy(Ecore_Desktop_Icon_Theme * icon_theme);


static const char  *ext[] = { ".png", ".svgz", ".svg", ".xpm", "", NULL };
static int          init_count = 0;
static Ecore_Hash  *icon_theme_cache;
static int          loaded = 0;


/**
 * @defgroup Ecore_Desktop_Icon_Group icon theme Functions
 *
 * Functions that deal with freedesktop.org icon themes.
 *
 * This conforms with the freedesktop.org XDG Icon Theme Specification version 0.11
 */

/**
 * Find the path to an icon.
 *
 * Using the search algorithm specified by freedesktop.org,
 * search for an icon in the currently installed set of icon themes.
 *
 * The returned string needs to be freed eventually.
 *
 * @param   icon The name of the required icon.
 * @param   icon_size The size of the required icon.
 * @param   icon_theme The theme of the required icon.
 * @return  The full path to an icon file.
 * @ingroup Ecore_Desktop_Icon_Group
 */

const char               *
ecore_desktop_icon_find(const char *icon, const char *icon_size, const char *icon_theme)
{
   const char         *dir = NULL, *icn;<commit_msg>Put .edj back in the icon search.<commit_after>#include <limits.h>

#include "Ecore_Desktop.h"
#include "ecore_desktop_private.h"

//#define DEBUG 1

static const char   *_ecore_desktop_icon_find0(const char *icon, 
					      const char *icon_size,
					      const char *icon_theme);

static int _ecore_desktop_icon_theme_list_add(void *data, const char *path);
void _ecore_desktop_icon_theme_destroy(Ecore_Desktop_Icon_Theme * icon_theme);

/* FIXME: We need a way for the client to disable searching for any of these that they don't support. */
static const char  *ext[] = { ".edj", ".png", ".svgz", ".svg", ".xpm", "", NULL };
static int          init_count = 0;
static Ecore_Hash  *icon_theme_cache;
static int          loaded = 0;


/**
 * @defgroup Ecore_Desktop_Icon_Group icon theme Functions
 *
 * Functions that deal with freedesktop.org icon themes.
 *
 * This conforms with the freedesktop.org XDG Icon Theme Specification version 0.11
 */

/**
 * Find the path to an icon.
 *
 * Using the search algorithm specified by freedesktop.org,
 * search for an icon in the currently installed set of icon themes.
 *
 * The returned string needs to be freed eventually.
 *
 * @param   icon The name of the required icon.
 * @param   icon_size The size of the required icon.
 * @param   icon_theme The theme of the required icon.
 * @return  The full path to an icon file, or NULL.
 * @ingroup Ecore_Desktop_Icon_Group
 */

const char               *
ecore_desktop_icon_find(const char *icon, const char *icon_size, const char *icon_theme)
{
   const char         *dir = NULL, *icn;
{'fraction_non_alphanumeric': 0.08968018463567425, 'fraction_numerical': 0.004615891856247939, 'mean_word_length': 3.5148809523809526, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7546974', 'n_tokens_mistral': 987, 'n_tokens_neox': 928, 'n_words': 341}